Сегодня продолжим цикл статей по настройке сервера и рассмотрим что же из себя представляет настройка DNS сервера Ubuntu. У нас уже есть сервер на базе ubuntu 14.04.1 LTS, на нем настроен DHCP сервер. Сегодня мы туда добавим еще и службу DNS.
Для начала давайте разберемся для чего он нам нужен. DNS – это система доменных имен, предназначенная для получения ip адреса компьютера по его имени и наоборот, имени по ip адресу. Т.е.
зная имя компьютера, вам не нужно запоминать его ip, для последующего обращения.
Служба была создана в связи с расширением сети и появлением огромного множества ip адресов, которые просто невозможно запомнить с первого раза.
И так что мы имеем… Установленная ОС Ubuntu Server 14.04.1 LTS, настроенный DHCP сервер. Из ПО только mc.
Установка и настройка DNS сервера Ubuntu
Для начала нужно установить самые последние обновления системы
После этого установим службу DNS сервера Bind9
после установки службы, она автоматически запуститьсяСледующим шагом, генерируем ключ для обновления DNS записей
выводим его на экран
на экране вы должны увидеть ключ, что то подобно этому:
Key: 4GD8OIb8pZk4vAueACAfUQ==
Обязательно сохраните этот ключ, в последующей настройке он нам понадобится
Настраиваем DNS сервер Bind9
Открываем файл конфигурации
Добавим следующий код:
forwarders {
8.8.8.8;
8.8.4.4;
};
listen-on {
127.0.0.1;
192.168.0.1;
};
- forwaders – вышестоящий dns сервер (сервер гугла), используется если url запроса не найден в нашей базе.
- listen-on – адреса через которые будет обслуживаться наш DNS сервер.
Сохраняем (Ctrl+O) и закрываем (Ctrl+X) файл.
Перезапустим bind9
Теперь можно протестировать работу нашего DNS сервера
Добавим в фал /etc/resolv.conf строчку с нашим DNS сервером (так как файл /etc/resolv.conf при перезагрузке меняет значения на дефолтные, добавить запись нужно в тот файл из которого будут браться дефолтные значения)
в этот файл пишем следующее:
- Сохраняем файл, закрываем его и перезагружаем сервер. После перезагрузки протестируем работу сервера, выполните следующую команду:
- в ответ вы получите ответ с временем выполнения запроса (выделено цветом)
Как видите запрос был выполнен за 284 мсек. Теперь еще раз выполним этот же запрос и проверим время запроса
Повторный запрос был выполнен за 7 мсек! Отлично! Кэширование запросов работает. Двигаемся дальше.
Настройка основного DNS сервера
Исходные данные:
- Доменное имя – lab.loc
- IP сервера – 192.168.0.1
- Имя сервера – srv-01.lab.loc
Нам нужно будет указать две зоны (прямого и обратного просмотра) и прописать их в конфигурации сервера.
Я начну с конца и укажу настройки зон в файле конфигурации. Открываем его
и вставляем следующее:
key DHCP_UPDATER {
algorithm HMAC-MD5.SIG-ALG.REG.INT;
secret «4GD8OIb8pZk4vAueACAfUQ==»;
};
zone «lab.loc» {
type master;
file «/var/lib/bind/db.lab.loc»;
allow-update { key DHCP_UPDATER; };
};
//reverse zone
zone «0.168.192.in-addr.arpa» {
type master;
file «/var/lib/bind/db.192»;
allow-update { key DHCP_UPDATER; };
};
- key DHCP_UPDATER — информация о ключе, который мы с вами записывали (в кавычки вам нужно вписать свой ключ)
- zone «lab.loc» — информация о зоне использования DNS, указан тип — master, путь к файлу хранения данных зоны, обновления файла разрешено с использованием ключа.
- zone «0.168.192.in-addr.arpa» — создание зоны обратного просмотра
Теперь создадим сами файлы в которых будут храниться данные зоны lab.loc. Для этого скопируем образец файла прямого просмотра:
откроем его
и внесем правки как у меня:
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA srv-01.lab.loc. root.srv-01.lab.loc. (
20141126 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS srv-01.lab.loc.
@ IN A 192.168.0.1
@ IN AAAA ::1
srv-01 IN A 192.168.0.1
Теперь скопируем файл зоны обратного просмотра:
откроем его
Вносим в него следующее:
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA srv-01.lab.loc. root.srv-01.lab.loc. (
20141126 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS srv-01.
1 IN PTR srv-01.lab.loc.
Сохраняем, закрываем, перезапускаем Bind9
- Сохраняем, закрываем, проверяем работу DNS сервера:
- в ответ вы должны увидеть следующее:
Как видите зона прямого просмотра работает, нам показался адрес проверяемого имени. Теперь проверим работу зоны обратного просмотра
- В ответ должны получить следующее:
Как видите в ответ мы получили имя сервера по его адресу. Если у вас в ответ на nslookup так же все корректно отображается, значит вы все сделали правильно! Если нет, проверяйте что сделали не так.
Настройка динамического обновления зон DHCP сервером
Если вы вместе со мной настраивали сервер с самого начала, тогда у вас не должно возникнуть трудностей. Откроем файл /etc/dhcp/dhcpd.conf
Проверяем что опция option domain-name содержит имя домена lab.loc, строку ddns-update-style none; закомментировать. Теперь добавим строчку update-static-leases on; – она отвечает за создание зон для клиентов у которых статичный IP адрес. Для автоматизации этого процесса, добавим следующий код:
ddns-update-style interim;
update-static-leases on;
key DHCP_UPDATER {
algorithm hmac-md5;
secret «CO0WnumqxGoxqGEDjaR3YA==»;
}
zone lab.loc. {
primary 127.0.0.1;
key DHCP_UPDATER;
}
zone 0.168.192.in-addr.arpa. {
primary 127.0.0.1;
key DHCP_UPDATER;
}
где secret это тот самый код который мы делали вначале статьи.
Вот пример моего файла /etc/dhcp/dhcpd.conf:
default-lease-time 600;
max-lease-time 7200;
authoritative;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.10 192.168.0.254;
option domain-name-servers 192.168.0.1;
option domain-name «lab.loc»;
option routers 192.168.0.1;
option broadcast-address 192.168.0.255;
default-lease-time 604800; max-lease-time 604800; }
ddns-update-style interim;
update-static-leases on;
key DHCP_UPDATER {
algorithm hmac-md5;
secret «LUH8l/F2OtaVrA6eSffJog==»;
}
zone lab.loc. {
primary 127.0.0.1;
key DHCP_UPDATER;
}
zone 0.168.192.in-addr.arpa. {
primary 127.0.0.1;
key DHCP_UPDATER;
}
log-facility local7;
Больше никакие настройки DHCP не трогаем, перезапускаем bind9 и dhcp
Теперь нужно проверить как все это дело работает “в бою”. Запускаем клиентскую машину, которая находиться в сети с сервером. После включения машина получит IP адрес от DHCP сервера, а DHCP сервер создаст запись вроде klient-pc.lab.loc.
- На запрос nslookup yos-pc (yos-pc это имя клиентской машины), мы должны увидеть ответ от сервера
Как видите по скриншоту, работает и прямой и обратный запросы к DNS.
- После перезагрузки сервера, можно посмотреть на файлы прямого и обратного просмотра, в них вы увидите записи о новых машинах, вот пример моего файла, после перезагрузки сервера
via via
Источник: https://faqpc.ru/nastrojka-dns-servera-ubuntu/
Настройка DNS в Ubuntu
Сервера DNS используются системой для преобразования сложных для запоминания IP адресов в простые доменные имена. Это делается потому что людям сложно запоминать несколько никак не связанных цифр, но очень просто запомнить слово.
Когда компьютеру нужно узнать IP адрес какого-либо домена, он отправляет запрос известному ему DNS серверу. Эти сервера могут быть получены автоматически от роутера по DHCP или же заданы в ручную. В этой статье мы рассмотрим как выполняется настройка DNS Ubuntu 16.04 и более старых версиях.
Настройка DNS в Ubuntu через GUI
Раньше, для настройки DNS серверов, которые будут использоваться системой было достаточно внести адреса нужных серверов в файл /etc/resolv.conf. Но сейчас всей конфигурацией сети в Ubuntu управляет NetworkManager, а этот файл теперь представляет собой только ссылку на файл NetworkManager.
Этот способ до сих пор работает, но в нем вы можете настроить DNS на LiveCD, или до перезагрузки. После перезагрузки все настройки собьются и придется все делать заново. Поэтому, чтобы все сохранилось нужно выполнять все действия через интерфейс NetworkManager. Сначала откройте контекстное меню для значка сети на панели и выберите «Изменить подключения»:
- Выберите ваше подключение и нажмите «Изменить»:
- В открывшемся окне перейдите на вкладку «Параметры IPv4»:
- Затем, в поле «Способ настройки» выберите «Автоматически (DHCP, только адрес)»:
- Теперь немного ниже появиться поле «Серверы DNS»
Источник: https://losst.ru/nastrojka-dns-v-ubuntu
Установка и настройка DNS сервера Ubuntu | Информационный портал К2®
Для начала нужно установить самые последние обновления системы
sudo apt-get update
sudo apt-get upgrade
После этого установим службу DNS сервера Bind9
Следующим шагом, генерируем ключ для обновления DNS записей
Key: 4GD8OIb8pZk4vAueACAfUQ==
Настраиваем DNS сервер Bind9
Открываем файл конфигурации
sudo nano /etc/bind/named.conf.options
sudo nano /etc/bind/named.conf.options |
Добавим следующий код:
forwarders {
8.8.8.8;
8.8.4.4;
};
listen-on {
127.0.0.1;
192.168.0.1;
};
- forwaders – вышестоящий dns сервер (сервер гугла), используется если url запроса не найден в нашей базе.
- listen-on – адреса через которые будет обслуживаться наш DNS сервер.
Сохраняем (Ctrl+O) и закрываем (Ctrl+X) файл.
Перезапустим bind9
sudo service bind9 restart
sudo service bind9 restart |
Теперь можно протестировать работу нашего DNS сервера
Добавим в фал /etc/resolv.conf строчку с нашим DNS сервером (так как файл /etc/resolv.conf при перезагрузке меняет значения на дефолтные, добавить запись нужно в тот файл из которого будут браться дефолтные значения)
sudo nano /etc/resolvconf/resolv.conf.d/tail
sudo nano /etc/resolvconf/resolv.conf.d/tail |
в этот файл пишем следующее:
domain lab.loc
search lab.loc
nameserver 127.0.0.1
Сохраняем файл, закрываем его и перезагружаем сервер. После перезагрузки протестируем работу сервера, выполните следующую команду:
в ответ вы получите ответ с временем выполнения запроса (выделено цветом)
Как видите запрос был выполнен за 284 мсек. Теперь еще раз выполним этот же запрос и проверим время запроса
Повторный запрос был выполнен за 7 мсек! Отлично! Кэширование запросов работает. Двигаемся дальше.
Настройка основного DNS сервера
Исходные данные:
- Доменное имя – lab.loc
- IP сервера – 192.168.0.1
- Имя сервера – srv-01.lab.loc
Нам нужно будет указать две зоны (прямого и обратного просмотра) и прописать их в конфигурации сервера.
Я начну с конца и укажу настройки зон в файле конфигурации. Открываем его
sudo nano /etc/bind/named.conf.local
sudo nano /etc/bind/named.conf.local |
и вставляем следующее:
key DHCP_UPDATER {
algorithm HMAC-MD5.SIG-ALG.REG.INT;
secret «4GD8OIb8pZk4vAueACAfUQ==»;
};
zone «lab.loc» {
type master;
file «/var/lib/bind/db.lab.loc»;
allow-update { key DHCP_UPDATER; };
};
//reverse zone
zone «0.168.192.in-addr.arpa» {
type master;
file «/var/lib/bind/db.192»;
allow-update { key DHCP_UPDATER; };
};
algorithm HMAC-MD5.SIG-ALG.REG.INT; secret «4GD8OIb8pZk4vAueACAfUQ==»; file «/var/lib/bind/db.lab.loc»; allow-update { key DHCP_UPDATER; };zone «0.168.192.in-addr.arpa» { file «/var/lib/bind/db.192»; allow-update { key DHCP_UPDATER; }; |
- key DHCP_UPDATER — информация о ключе, который мы с вами записывали (в кавычки вам нужно вписать свой ключ)
- zone «lab.loc» — информация о зоне использования DNS, указан тип — master, путь к файлу хранения данных зоны, обновления файла разрешено с использованием ключа.
- zone «0.168.192.in-addr.arpa» — создание зоны обратного просмотра
Теперь создадим сами файлы в которых будут храниться данные зоны lab.loc. Для этого скопируем образец файла прямого просмотра:
sudo cp /etc/bind/db.local /var/lib/bind/db.lab.loc
sudo cp /etc/bind/db.local /var/lib/bind/db.lab.loc |
откроем его
sudo nano /var/lib/bind/db.lab.loc
sudo nano /var/lib/bind/db.lab.loc |
и внесем правки как у меня:
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA srv-01.lab.loc. root.srv-01.lab.loc. (
20141126 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS srv-01.lab.loc.
@ IN A 192.168.0.1
@ IN AAAA ::1
srv-01 IN A 192.168.0.1
; BIND data file for local loopback interface@ IN SOA srv-01.lab.loc. root.srv-01.lab.loc. ( 604800 ) ; Negative Cache TTL |
Теперь скопируем файл зоны обратного просмотра:
sudo cp /etc/bind/db.127 /var/lib/bind/db.192
sudo cp /etc/bind/db.127 /var/lib/bind/db.192 |
откроем его
sudo nano /var/lib/bind/db.192
sudo nano /var/lib/bind/db.192 |
Вносим в него следующее:
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA srv-01.lab.loc. root.srv-01.lab.loc. (
20141126 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS srv-01.
1 IN PTR srv-01.lab.loc.
; BIND reverse data file for local loopback interface@ IN SOA srv-01.lab.loc. root.srv-01.lab.loc. ( 604800 ) ; Negative Cache TTL |
Сохраняем, закрываем, перезапускаем Bind9
sudo /etc/init.d/bind9 restart
sudo /etc/init.d/bind9 restart |
Сохраняем, закрываем, проверяем работу DNS сервера:
в ответ вы должны увидеть следующее: Как видите зона прямого просмотра работает, нам показался адрес проверяемого имени. Теперь проверим работу зоны обратного просмотра
В ответ должны получить следующее:
Как видите в ответ мы получили имя сервера по его адресу. Если у вас в ответ на nslookup так же все корректно отображается, значит вы все сделали правильно! Если нет, проверяйте что сделали не так.
Настройка динамического обновления зон DHCP сервером
Если вы вместе со мной настраивали сервер с самого начала, тогда у вас не должно возникнуть трудностей. Откроем файл /etc/dhcp/dhcpd.conf
sudo nano /etc/dhcp/dhcpd.conf
sudo nano /etc/dhcp/dhcpd.conf |
Проверяем что опция option domain-name содержит имя домена lab.loc, строку ddns-update-style none; закомментировать. Теперь добавим строчку update-static-leases on; – она отвечает за создание зон для клиентов у которых статичный IP адрес. Для автоматизации этого процесса, добавим следующий код:
ddns-update-style interim;
update-static-leases on;
key DHCP_UPDATER {
algorithm hmac-md5;
secret «CO0WnumqxGoxqGEDjaR3YA==»;
}
zone lab.loc. {
primary 127.0.0.1;
key DHCP_UPDATER;
}
zone 0.168.192.in-addr.arpa. {
primary 127.0.0.1;
key DHCP_UPDATER;
}
ddns-update-style interim;secret «CO0WnumqxGoxqGEDjaR3YA==»;zone 0.168.192.in-addr.arpa. { |
где secret это тот самый код который мы делали вначале статьи.
Вот пример моего файла /etc/dhcp/dhcpd.conf:
default-lease-time 600;
max-lease-time 7200;
authoritative;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.10 192.168.0.254;
option domain-name-servers 192.168.0.1;
option domain-name «lab.loc»;
option routers 192.168.0.1;
option broadcast-address 192.168.0.255;
default-lease-time 604800; max-lease-time 604800; }
ddns-update-style interim;
update-static-leases on;
key DHCP_UPDATER {
algorithm hmac-md5;
secret «LUH8l/F2OtaVrA6eSffJog==»;
}
zone lab.loc. {
primary 127.0.0.1;
key DHCP_UPDATER;
}
zone 0.168.192.in-addr.arpa. {
primary 127.0.0.1;
key DHCP_UPDATER;
}
log-facility local7;
subnet 192.168.0.0 netmask 255.255.255.0 {range 192.168.0.10 192.168.0.254;option domain-name-servers 192.168.0.1;option domain-name «lab.loc»;option routers 192.168.0.1;option broadcast-address 192.168.0.255;default-lease-time 604800; max-lease-time 604800; }ddns-update-style interim;secret «LUH8l/F2OtaVrA6eSffJog==»;zone 0.168.192.in-addr.arpa. { |
Больше никакие настройки DHCP не трогаем, перезапускаем bind9 и dhcp
sudo /etc/init.d/bind9 restart
sudo /etc/init.d/bind9 restart |
sudo /etc/init.d/isc-dhcp-server restart
sudo /etc/init.d/isc-dhcp-server restart |
Теперь нужно проверить как все это дело работает “в бою”. Запускаем клиентскую машину, которая находиться в сети с сервером. После включения машина получит IP адрес от DHCP сервера, а DHCP сервер создаст запись вроде klient-pc.lab.loc.
- На запрос nslookup yos-pc (yos-pc это имя клиентской машины), мы должны увидеть ответ от сервера
Как видите по скриншоту, работает и прямой и обратный запросы к DNS.
- После перезагрузки сервера, можно посмотреть на файлы прямого и обратного просмотра, в них вы увидите записи о новых машинах, вот пример моего файла, после перезагрузки сервера
- Источник: http://faqpc.ru/nastrojka-dns-servera-ubuntu/
Источник: https://corp2.info/ustanovka-i-nastrojka-dns-servera-ubuntu/
Настройка DNS сервера на Ubuntu
В этой статье мы рассмотрим один из вариантов развертывания DNS сервера для локальной сети на базе Ubuntu (у меня 14.04.3 LTS) и bind9. Для большинства других дистрибутивов отличия будут минимальны, для Debian-подобных их не будет совсем.
Если вы уже ознакомились с предыдущей статьей по настройке DHCP сервера, то знаете, что изначально у меня был установлен неподдерживаемый дистрибутивом dnsmasq, который было решено заменить.
Поскольку в прошлый раз я удалил dnsmasq (а он был как DHCP, так и DNS — сервером, который, кстати, не был должным образом сконфигурирован и не работал), то появилась потребность в DNS, чем я и решил на досуге заняться. Настройка DNS занимает немногим больше времени, но только из-за большего числа конфигурационных файлов.
И так, приступим. Первым делом актуализируем систему (обновим пакеты):
sudo apt-get update && sudo apt-get upgrade -y
Теперь установим DNS сервер bind9:
sudo apt-get install bind9
Теперь можно создать ключ для того, чтобы другие демоны могли обновлять DNS-записи этого сервера. Это могут быть как другие серверы в сети, так и другие сервисы этого же сервера. У меня это будет локально же установленный DHCP сервер.
В теории, безопасности для, каждому сервису или серверу нужно сгенерировать свой ключ, тогда при компрометации одного из них, его можно просто заблокировать, а остальные продолжат работать.
Но в моем случае обновлять записи будет только мой же DHCP сервер, так что я генерирую только один ключ:
dnssec-keygen -a HMAC-MD5 -b 128 -r /dev/urandom -n USER DHCP_UPDATER
В домашнем каталоге пользователя, от которого была запущена команда появится 2 файла:
-rw——- 1 user user 54 янв. 21 12:17 Kdhcp_updater.+157+55379.key-rw——- 1 user user 165 янв. 21 12:17 Kdhcp_updater.+157+55379.private
Файлы пусть так и лежат, они не потеряются. Чтобы посмотреть необходимый ключ, выполните:
tail Kdhcp_updater*.private
Вы увидите примерно такое содержимое, кде значение «Key» и есть требуемый ключ:
Для начала сделаем наш DNS сервер кэширующим сервером имен, то есть заставим его разрешать доменные имена, запрашивая их у вышестоящего сервера.
При первом запросе доменного имени от клиента сервер будет пересылать запрос на вышестоящий сервер, а затем уже будет возвращать его из своего кэша, что несколько увеличит скорость обработки DNS-запросов для клиентов в нашей сети.
Так же мы укажем серверу, на каких адресах наш DNS будет обслуживать клиентов. Для этого нужно отредактировать файл /etc/bind/named.conf.options:
sudo cp /etc/bind/named.conf.options /etc/bind/named.conf.options.dist && sudo nano /etc/bind/named.conf.options
Добавим туда следующие строки:
forwarders { 212.120.160.130; 8.8.8.8; }; listen-on { 127.0.0.1; 192.168.0.231; };
Рассмотри эти секции:
Источник: http://expert-orda.ru/posts/liuxnewbie/126—dns-ubuntu
Ubuntu, fake DNS Server или настройка локального DNS сервера для веб-разработчика
Зачем это надо. На рабочей станции разработчика есть NN локально поднятых проектов. Этот разработчик для каждого проекта проделывает следующее:
- Для работы с локальной копией проекта редактирует конфиг своего веб сервера (apache, lighttpd etc.
) и указывает в конфиге имя хоста для этого локального проекта.
- Потом перезапускает веб сервер.
- Потом идет редактировать /etc/hosts Прописывает там имя нового хоста и локальный ip.
- Потом выясняет что этот прописанный хост перекрывает тот, что внезапно нужен в интернете, или он ошибся когда прописал имя в конфиге веб-сервера или в hosts.
В итоге всего этого занудства как правило тратится драгоценная нервная энергия которую можно потратить более эффективно на что-то поинтереснее. Что я предлагаю сделать.
Я предлагаю сделать локальный домен (в примере .mydev) и сократить процедуру выше до двух шагов:
- Прописываем в конфиг веб-сервера новый хост с именем вида projectname.mydev
- Перезапускаем веб-сервер
И всё. Радостно начинаем допиливать наш проект по заданному имени.
Что будем делать, TODO
1. Установим DNS сервер.
sudo apt-get install bind9
2. Идем разглядывать собственно конфиги. Принцип этой штуки состоит в том, что на данный момент при обращении к какому-либо хосту (это грубая схема) наша машинка идет на DNS-сервер выданный ему провайдером или прописанный вручную, в соответствии с настройками. Получает собственно у DNS-а IP-адрес хоста ну и отправляется за данными в сторону этого IP.
Дальше нам не интересно. Как будет. А будет так: при обращении к какому-либо хосту, мы будем обращаться к локальному DNS серверу, который будет проверять наши правила и если запрос не попадает под наши правила, то наш локальный DNS идет и спрашивает тоже самое у провайдерского DNS-а. И отдает нам уже собственно его (провайдера) ответ.
Итак, идем к конфигам
cd /etc/bind
REM: Я пользуюсь mc. Нам понадобятся права суперпользователя, так что либо sudo mc, либо sudo mcedit filename при редактировании каждого файла, вопрос с правами я далее затрагивать не буду.
3. Открываем на редактирование named.conf.options Тут нас интересует секция forwarders её нам нужно раскомментировать и указать IP адрес(а) DNS сервера провайдера (или может быть роутера, смотря как организован выход в интернет). Сохраняем, выходим. 4. Открываем на редактирование named.conf.default-zones Тут нам вниз нужно добавить новую зону. Выглядеть новая секция будет вот так:
zone «mydev» {
type master;
file «/etc/bind/db.mydev»;
};
5. По указанному пути создаем файлик
sudo cp /etc/bind/db.local /etc/bind/db.mydev
То есть просто делаем копию описания локальной зоны. Нам нужно будет в ней кое-что отредактировать. Итак копию сделали, теперь: 6. Открываем на редактирование db.mydev Там нам нужно исправить всего несколько строк. В итоге наш db.mydev будет выглядеть вот так:
$TTL 604800
@ IN SOA mydev. root.mydev. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
@ IN NS mydev.
@ IN A 127.0.0.1
* IN A 127.0.0.1
@ IN AAAA ::1
Сравните с оригинальным db.local для того чтоб было понятно что произошло. По сути ничего особенного. 7. Теперь остается только перезапустить наш DNS
sudo /etc/init.d/bind9 restart
8. Ну и проверяем теперь как это работает.
ping 11.mydev
ping 22.mydev
Если работает то IP должен быть тот что вы указали (в примере 127.0.0.1) Но сейчас ничего не работает. Потому что… 9. Забыл рассказать про грабли. NetworkManager автоматически прописывает в /etc/resolv.conf адрес DNS провайдера. Если там будет прописан внешний DNS, то наша поделка работать не будет. Обращения в сеть просто пойдут мимо неё. Чтобы это дело устранить, нужно зайти в свойства текущего подключения к интернету, идем:
«Изменить соединения» => Выбираем наше соединение => «Параметры IPv4»
Тут указываем IP нашего локального DNS (в примере 127.0.0.1), сделать это можно выбрав метод «DHCP, только адрес». Этого должно быть достаточно. После этого через NetworkManager соединение разрываем и снова устанавливаем. Если все ок, то в /etc/resolv.conf мы должны увидеть наш искомый IP, тот что прописали как DNS в NetworkManager. 10. Вот теперь проверяем результат.
Вот собственно и всё. Теперь можно не трогать /etc/hosts
Источник: https://habr.com/post/85067/
Настройка DNS+DHCP сервера для локальной сети+динамическое обновление DNS зон, под управлением Ubuntu 12.04 / Ubuntu / Howitmake.ru
Значение службы DNS многие не учитывают, фактически, эта служба является краеугольным камнем в работе сети интернет в целом и локальных сетей в частности, мы в свою очередь, будем оперировать менее глобальными масштабами и настроем данную службу в нашей локальной сети.
Идея проста, мы настроим разрешение имен внутри локальной сети, а в случае обращения к сайтам в сети интернет, то запросы будут передаваться вышестоящим DNS серверам, для разрешения имен сайтов.
Я не буду рассказывать назначение данной службы, о том как она работает можно прочитать в Википедии.
Скажу только что эта служба иерархическая.
Как я писал раньше, у нас есть сервер который мы будем обвешивать функционалом, я уже рассказал как настроить его в качестве шлюза и о том как настроить работу службы DHCP, для раздачи IP адресов клиентам в локальной сети. В этот раз я расскажу о том как настроить на нем сервер DNS, ранее я уже писал, о том как настроить кеширующий DNS сервер для локальной сети, но было это уже довольно давно и я решил обновить статью, за одно добавив в нее, немного функционала. Как всегда напоминаю что, данный функционал заводить на шлюзе не обязательно, все будет работать и так, но если добавить, то все должно работать, намного лучше, хотя с точки зрения конечного пользователя, разница будет не заметна.
Дополнительным плюсом это будет автоматическое создание прямой и обратной DNS зоны, для клиентских устройств локальной сети. Аналогичный процесс используется в сетях под управлением MS Windows в среде Active Directory. Там службы DNS и DHCP тесно интегрированы между собой т.
е клиентский ПК подключившись к сети и получивший IP адрес автоматически получает DNS запись вида hostname.domainname.
tld это добавляет удобства в случае необходимости подключения по имени а не по IP-который дтуднее запомнить, дополнительным плюсом является создание обратной зоны которая позволяет проводить обратный процесс -разрешение имени по IP, что может быть полезно в случае поиска устройсва если известен его IP адрес, то узнав его имя можно сразу понять о ком идет речь.
Собственно, подобную схему мы и реализуем, основной идеей всего этого будет полная автоматизация данного процесса для IT специалиста т.к. DHCP сервер будет создавать прямую и обратную зоны-автоматически.
Предполагается что:
1) Операционная система Ubuntu 12.04 установлена, хотя на Debian будет также работать ничуть не хуже. 2) Сервер настроен в качестве шлюза по статье: Настройка шлюза локальной сети, на базе Ubuntu 12.
04 3) Также на указанном сервере настроена служба DHCP по статье: Настройка DHCP сервера под управлением Ubuntu 12.04
Первым делом, нам необходимо удалить пакет dnsmasq — который был установлен по статье, Настройка шлюза локальной сети, т.
к надобность в нем отпадает, вместо него у нас будет использоваться Bind9.
Поднимаем права до root:sudo su aptitude purge dnsmasq
Установка DNS сервера
Установим Bind:aptitude install bind9 Теперь генерируем ключ, для обновления DNS записей:dnssec-keygen -a HMAC-MD5 -b 128 -r /dev/urandom -n USER DHCP_UPDATER Проверим что у нас получилось:cat Kdhcp_updater.*.
private|grep Key Нам выдаст нечто подобное (у вас ключ получится другим)Key: cYqlx8g/jLcIxXFDpqrxZw==Его нам необходимо записать, т.к. он нам еще пригодится.
Переходим к настройкам Bind9, для начала отредактируем файл name.
conf.option:
nano /etc/bind/named.conf.options Туда добавляем следующие строки: forwarders {
8.8.8.8;
};
listen-on {
127.0.0.1;
192.168.10.1;
};
Рассмотрим более подробно то что мы написали:
В пункте forwarders
Источник: https://howitmake.ru/blog/ubuntu/96.html
Установка и настройка DNS на Ubuntu Server
Последнее изменение: 08.10.2019
Сегодня рассмотрим установку и настройку DNS сервера внутри локальной сети с доменным именем «lan«.
Всё это великолепие будет производиться на локальной машине Ubuntu Server 18.04, хотя действия идентичны и для других дистрибутивов Linux (Debian, Rasbian, Linux Mint и т.д.).
Установка DNS сервера
В качестве DNS сервера будем использовать пакет bind9. Для его установки подключаемся к серверу по ssh или открываем консоль на самом сервере и набираем следующую команду:
sudo apt update && sudo apt dist-upgrade -y
sudo apt install bind9 -y
После установки пакета bind9, необходимо произвести его настройку.
Настройка DNS сервера bind9
Для начала отредактируем файл named.conf.options
sudo nano /etc/bind/named.conf.options
Добавим в него следующий код:
options {
directory «/var/cache/bind»;
# с каких сетей или IP адресов будут обслуживаться запросы нашим DNS сервером.
listen-on {
80.81.82.83/32; # наш внешний ip адрес
10.5.5.0/24; # наша локальная сеть.
127.0.0.1; # ip адрес локальной петли (lo интерфейс)
};
# вышестоящий dns сервер, используется если URL запроса не найден в нашей базе.
forwarders {
77.88.8.1;
8.8.8.8;
};
# Кому разрешено запрашивать dns сервер
allow-query { any; };
allow-query-cache { any; };
# Кому разрешено посылать рекурсивные запросы
allow-recursion { any;};
# Запросы DNSSEC
dnssec-validation auto;
# Запросы NXDOMAIN
auth-nxdomain no;
# с каких сетей или IPv6 адресов будут обслуживаться запросы нашим DNS сервером
listen-on-v6 { all; };
# Прописываем версию DNS — для защиты от любопытных
version «DNS server v1.0»;
};
Теперь открываем файл конфигурации зон и вносим информацию о наших зонах.
sudo nano /etc/bind/named.conf.local // зона прямого просмотра
zone «lan» {
type master;
file «/var/lib/bind/db.lan»;
};
// зона обратного просмотра
zone «5.5.10.in-addr.arpa» {
type master;
file «/var/lib/bind/db.revers.lan»;
};
Сохраняем ctrl+o, закрываем ctrl+x.
Зона прямого просмотра
Теперь самое время создать зону прямого просмотра, для этого создадим копию файл db.local:
sudo cp /etc/bind/db.local /var/lib/bind/db.lan
Откроем файл db.lan:
sudo nano /var/lib/bind/db.lan
и приведем его к следующему виду:
$TTL 14400
@ IN SOA ns1.lan. root.ns1.lan. (
2019061401 ; serial
604800 ; refresh
86400 ; retry
2419200 ; expire
604800 ; minimum
)
@ IN NS ns1.lan.
@ IN NS ns2.lan.
@ IN A 10.5.5.1
ns1 IN A 10.5.5.1
ns2 IN A 10.5.5.1
- Записи вида А — предназначена для ip адресов версии 4
- Запись вида АААА — предназначена для ip адресов версии 6
- Запись вида NS — для DNS серверов.
Настройка зоны обратного просмотра DNS
Обратная зона преобразовывает IP адреса машины в доменное имя FQDN. Давайте сделаем копию файла прямого просмотра:
sudo cp /var/lib/bind/db.lan /var/lib/bind/db.revers.lan
Открываем его на редактирование:
sudo nano /var/lib/bind/db.revers.lan
Вносим следующие изменения:
$TTL 14400
@ IN SOA ns1.lan. root.ns1.lan. (
2019061401 ; serial
604800 ; refresh
86400 ; retry
2419200 ; expire
604800 ; minimum
)
@ IN NS ns1.lan.
@ IN NS ns2.lan.
1 IN PTR ns1.lan.
Проверка DNS сервера bind9
Теперь проверим правильность синтаксиса конфигурационных файлов BIND.
sudo named-checkconf
Если конфигурационные файлы не содержат ошибок, вывод этой программы будет пуст.
Перезагружаем bind9:
sudo /etc/init.d/bind9 restart
Проверяем работу DNS сервера:
nslookup ns1.lan
в ответ вы должны увидеть:
Server: 127.0.0.1
Address: 127.0.0.1#53
Non-authoritative answer:
Name: ns1.lan
Address: 10.5.5.1
Как видите зона прямого просмотра работает, сервер выдал ip адрес проверяемого имени.
Теперь проверим работу зоны обратного просмотра
nslookup 10.5.5.1
В ответ должны получить:
Server: 127.0.0.1
Address: 127.0.0.1#53
Non-authoritative answer:
1.5.5.10.in-addr.arpa name = ns1.lan.
Authoritative answers can be found from:
Как видим в ответ мы получили имя сервера по его IP адресу. Если у вас в ответ на nslookup так же все корректно отображается, значит вы все сделали правильно! Если нет, то проверяйте что сделали не так.
P.S. Если в ответе у вас ошибка, можите добавьте в файле resolv.conf свой nameserver, это может помочь устранит проблему.
sudo nano /etc/resolv.conf
Вносим на первое место наш сервер:
nameserver 10.5.5.1
nameserver 127.0.0.1
search lan
Проверяем версию DNS сервера
dig @ns1.lan version.bind chaos txt
Примерный вывод команды:
…
;; ANSWER SECTION:
version.bind. 0 CH TXT «DNS server v1.0»
…
;; Query time: 0 msec
;; SERVER: 10.5.5.1#53(10.5.5.1)
Вот и всё, установка и настройка сервера DNS на этом закончена.
Источник: https://obu4alka.ru/install-dns-server.html
Установка и настройка DNS-сервера BIND в Linux — ИТ Проффи
BIND – наиболее распространенное open-source приложение, в котором реализованы протоколы DNS, предоставляющие возможность преобразования доменных имен в IP-адреса и наоборот.
Данная статья представляет собой руководство по быстрой настройке DNS-сервера в Linux при помощи BIND. Мы не будем подробно разбирать, что такое система DNS и как она работает, а сосредоточимся на примере настройки своей зоны и файла конфигурации для домена/узла с поддержкой сервисов www и электронной почты.
В нашем примере мы будем использовать следующие параметры:
IP-адрес, на котором будет установлен сервер имен: 172.31.0.122
имя домена/узла: itproffi.ru
авторитативные сервера имен для зоны itproffi.ru: ns1.itproffi.ru (172.31.1.10) и ns2. itproffi.ru (172.31.1.11)
службы www и электронной почты для itproffi.ru будут использовать адрес 172.31.1.10
Установка сервера bind
Установка bind очень проста – нужно воспользоваться менеджером пакетов. В Debian и Ubuntu выполните следующую команду:
apt-get install bind9 dnsutils
В CentOS или Fedora:
yum install bind dnsutils
Пакет dnsutils необязателен для запуска сервера bind, но для тестирования конфигурации мы будем пользоваться командой dig из этого пакета.
Создание файла зоны DNS
Дальнейшие примеры будут для Ubuntu/Debian, но также подходят и для Centos/RedHat, только директория с настройками зон в CentOS будет находиться в /etc/named/ , а основной файл конфигурации /etc/named.conf.
Для начала нам потребуется создать новый файл зоны для домена itproffi.ru. Перейдите в директорию /etc/bind/.
создайте в ней поддиректорию zones/master/ и перейдите в нее, выполнив следующую последовательность команд:
cd /etc/bind
mkdir -p zones/master
cd zones/master/
Директория /etc/bind/zones/master будет содержать файл зоны для домена itproffi.ru. При желании можно использовать другую директорию. Файл зоны db.itproffi.ru будет содержать запись DNS, которая поможет серверу имен установить соответствие полного доменного имени IP-адресу. Создайте этот файл со следующим содержимым:
;
; Файл данных BIND для itproffi.ru
;
$TTL 3h
@ IN SOA ns1.itproffi.ru. admin.itproffi.ru. (
1 ; серийный номер
3h ; обновление каждые 3 часа
1h ; повторная попытка через час
1w ; срок годности – 1 неделя
1h ) ; хранение кэша отказов 1 час;
@ IN NS ns1.itproffi.ru.
@ IN NS ns2.itproffi.ru.
itproffi.ru. IN MX 10 mail.itproffi.ru.
itproffi.ru. IN A 172.31.1.10
ns1 IN A 172.31.1.10
ns2 IN A 172.31.1.11
www IN CNAME itproffi.ru.
mail IN A 172.31.1.10
ftp IN CNAME itproffi.ru.
Рассмотрим ключевые строки этого файла:
- Запись SOA: авторитативный сервер имен для itproffi.ru – это ns1.itproffi.ru, адрес ответственного за зону DNS администратора – admin@itproffi.ru
- Записи NS: два сервера имен для зоны itproffi.ru – ns[1,2].itproffi.ru
- Запись MX: почтовый сервер для itproffi.ru. Число 10 означает уровень приоритета
- Записи A: A означает «адрес» (address). Другими словами, ns1 в зоне itproffi.ru будет иметь адрес 172.31.1.10
- Запись CNAME (Canonical Name – каноническое имя): привязывает одно доменное имя к другому (каноническому), например, устанавливает соответствие mail.itproffi.ru и itproffi.ru.
Настройка обратной зоны
На данном этапе DNS-сервер bind может выдать IP-адрес, связанный с узлом itproffi.ru. Теперь нам нужно научить наш сервер имен обратному процессу, то есть устанавливать соответствие имени IP-адресу. Для этого создадим еще один файл db.172.31.1 со следующим содержимым:
Источник: https://ITProffi.ru/ustanovka-i-nastrojka-dns-servera-bind-v-linux/
Служба доменных имен , установка dns сервера на Ubuntu
Служба доменных имен (DNS) это сервис интернет, который ставит IP адреса и полностью квалифицированные доменные имена (FQDN) в соответствие одно другому. Поэтому DNS облегчает проблему запоминания IP адресов.
Компьютеры, на которых запущен DNS, называются серверами имен (name servers).
Ubuntu поставляется с BIND (сервис интернет имен Беркли), наиболее распространенную программу, используемую для управления серверами имен под Линукс.
В терминале введите следующую команду для установки dns:
sudo apt-get install bind9
Очень полезный пакет для тестирования и решения проблем с DNS — это пакет dnsutils. Очень часто эти инструменты уже установлены, но для проверки и/или установки dnsutils введите следующее:
sudo apt-get install dnsutils
Настройка
Существует много способов настроить BIND9. Наиболее распространенные конфигурации — это кэширующий сервер имен, первичный мастер и вторичный мастер.
-
Когда BIND9 настроен как кэширующий сервер, он ищет ответы на запросы имени и запоминает ответ на случай, если запрос придет повторно.
-
В качестве первичного мастера BIND9 читает данные зоны из локального файла и является ответственным за эту зону.
-
В качестве вторичного мастера BIND9 получает данные по зоне (целиком) с другого сервера имен, отвечающего за эту зону.
Обзор
Файлы настройки DNS сохраняются в каталоге /etc/bind. Основной файл конфигурации — это /etc/bind/named.conf.
Строки include определяют имена файлов, которые содержат DNS опции. Строка directory в файле /etc/bind/named.conf.options говорит DNS где искать файлы. Все файлы, используемые BIND, будут относительными к этому каталогу.
Файл с именем /etc/bind/db.root описывает корневые сервера имен в мире. Сервера со временем меняются, поэтому файл /etc/bind/db.root должен обслуживаться сейчас и потом. Обычно это происходит в качестве обновления к пакету bind9. Секция zone определяет мастер сервер и она сохранена в файле, определяемой опцией file.
Существует возможность настроить один сервер как кэширующий сервер имен, первичный мастер и вторичный мастер одновременно. Сервер может быть началом авторизации (SOA) для одной зоны, при этом предоставляя вторичный сервис для другой. И при всем этом предоставлять кэширующий сервис в локальной сети (LAN).
Кэширующий сервер имен
По умолчанию конфигурация настраивается на работу кэширующим сервером. Все что для этого требуется — это добавить IP адреса DNS серверов вашего интернет провайдера. Просто раскомментируйте и исправьте следующее в /etc/bind/named.conf.options:
forwarders {
1.2.3.4;
5.6.7.8;
};
Замените 1.2.3.4 и 5.6.7.8 на актуальные IP адреса серверов имен.
Теперь перегружаем DNS сервер для применения новой конфигурации. Наберите в терминале:
sudo service bind9 restart
Смотрите dig для информации по тестированию кэширующего DNS сервера.
linux настройка dns secondary (первичный мастер)
В этом разделе BIND9 будет настроен как dns secondary (первичный мастер) для домена example.com. Просто замените example.com на ваше FQDN (квалифицированное имя домена).
Файл прямой зоны
Для добавления DNS зоны в BIND9, что превратит его в dns secondary , первым шагом отредактируем /etc/bind/named.conf.local:
zone «example.com» {
type master;
file «/etc/bind/db.example.com»;
};
Теперь используем существующий файл зоны в качестве шаблона для создания файла /etc/bind/db.example.com:
sudo cp /etc/bind/db.local /etc/bind/db.example.com
Редактируем новый файл зоны /etc/bind/db.example.com, заменив localhost. на FQDN нашего сервера, оставляя дополнительную «.» в конце. Заменим 127.0.0.1 на IP адрес сервера имен и root.localhost на правильный адрес email, но с «.» вместо символа «@», опять же оставляя «.» на конце. Замените комментарии для указания домена, для которого этот файл сделан.
Настройка DNS сервера на Linux / Кеширующий DNS сервер
Создайте A запись для базового домена example.com. Также создайте A запись для ns.example.com — сервера имен в данном примере:
;
; BIND data file for example.com
;
$TTL 604800
@ IN SOA example.com. root.example.com. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
IN A 192.168.1.10
;
@ IN NS ns.example.com.
@ IN A 192.168.1.10
@ IN AAAA ::1
ns IN A 192.168.1.10
Вы должны увеличивать Serial Number каждый раз, как делаете изменения в файле зоны. Если вы делаете множественные изменения, просто увеличьте Serial на единицу один раз перед перезапуском BIND9.
Теперь вы можете добавлять DNS записи в конец файла зоны. Смотрите детали в разделе Общие типы записей.
Многие администраторы предпочитают использовать дату последнего редактирования в качестве Serial зоны в виде 2012010100, что соответствует формату yyyymmddss (где ss — Serial Number [за день]).
Как только вы произвели изменения в файле зоны, требуется перегрузить BIND9 для применения изменений:
sudo service bind9 restart
Файл обратной зоны
Теперь, поскольку зона создана и разрешает имена в IP адреса, требуется создать также обратную зону. Обратная зона позволяет DNS определять имя по IP адресу.
Редактируем /etc/bind/named.conf.local и добавляем следующее:
zone «1.168.192.in-addr.arpa» {
type master;
file «/etc/bind/db.192»;
};
Замените 1.168.192 на первые три октета адресов сети, которую вы используете. Также соответственно назовите файл зоны /etc/bind/db.192. В нем должен совпадать первый октет вашей сети.
Теперь создаем файл /etc/bind/db.192:
sudo cp /etc/bind/db.127 /etc/bind/db.192
Далее редактируем /etc/bind/db.192, изменяя в основном те же опции, что и в /etc/bind/db.example.com:
;
; BIND reverse data file for local 192.168.1.XXX net
;
$TTL 604800
@ IN SOA ns.example.com. root.example.com. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.
10 IN PTR ns.example.com.
Serial Number в обратной зоне также требуется увеличивать при каждом изменении. Для каждой A записи, которую вы настроите в /etc/bind/db.example.com на другой адрес, вы должны создать запись PTR в /etc/bind/db.192.
После создания файла обратной зоны перегрузите BIND9:
sudo service bind9 restart
Вторичный мастер
Поскольку первичный мастер настроен, требуется вторичный мастер для того, чтобы поддерживать домен при недоступности первичного мастера.
Для начала на первичном мастере надо разрешить передачу зоны. Добавьте опцию allow-transfer к определениям прямой и обратной зон в /etc/bind/named.conf.local:
zone «example.com» {
type master;
file «/etc/bind/db.example.com»;
allow-transfer { 192.168.1.11; };
};
zone «1.168.192.in-addr.arpa» {
type master;
file «/etc/bind/db.192»;
allow-transfer { 192.168.1.11; };
};
Замените 192.168.1.11 на IP адрес вашего вторичного сервера имен.
Перезапустим BIND9 на первичном мастере:
sudo service bind9 restart
Далее, на вторичном мастере установите пакет bind9 так же, как делали на первичном. Затем отредактируем /etc/bind/named.conf.local и добавим следующие определения к прямой и обратной зонам:
zone «example.com» {
type slave;
file «db.example.com»;
masters { 192.168.1.10; };
};
zone «1.168.192.in-addr.arpa» {
type slave;
file «db.192»;
masters { 192.168.1.10; };
};
Замените 192.168.1.10 на IP адрес вашего первичного сервера имен.
Работа с терминалом в Ubuntu , Linux
Перегружаем BIND9 на вторичном мастере:
sudo service bind9 restart
В /var/log/syslog вы сможете увидеть нечто похожее на (некоторые строки разделены для соответствия формату документа):
client 192.168.1.10#39448: received notify for zone '1.168.192.in-addr.arpa'
zone 1.168.192.in-addr.arpa/IN: Transfer started.
transfer of '100.18.172.in-addr.arpa/IN' from 192.168.1.10#53:
connected using 192.168.1.11#37531
zone 1.168.192.in-addr.arpa/IN: transferred serial 5
transfer of '100.18.172.in-addr.arpa/IN' from 192.168.1.10#53:
Transfer completed: 1 messages,
6 records, 212 bytes, 0.002 secs (106000 bytes/sec)
zone 1.168.192.in-addr.arpa/IN: sending notifies (serial 5)
client 192.168.1.10#20329: received notify for zone 'example.com'
zone example.com/IN: Transfer started.
transfer of 'example.com/IN' from 192.168.1.10#53: connected using 192.168.1.11#38577
zone example.com/IN: transferred serial 5
transfer of 'example.com/IN' from 192.168.1.10#53: Transfer completed: 1 messages,
8 records, 225 bytes, 0.002 secs (112500 bytes/sec)Обратите внимание, что передача зоны произойдет только если Serial Number на первичном сервере больше значения на вторичном. Если вы хотите, чтобы первичный мастер DNS сообщал вторичному DNS серверу об изменении зоны, вы можете добавить also-notify { ipaddress; }; в /etc/bind/named.conf.local как показано в примере ниже:zone «example.com» {
type master;
file «/etc/bind/db.example.com»;
allow-transfer { 192.168.1.11; };
also-notify { 192.168.1.11; };
};
zone «1.168.192.in-addr.arpa» {
type master;
file «/etc/bind/db.192»;
allow-transfer { 192.168.1.11; };
also-notify { 192.168.1.11; };
};
Каталог по умолчанию для файлов неавторизованных зон — /var/cache/bind/. Этот каталог также настроен в AppArmor для разрешения доступа сервису named на запись в него. Для дополнительной информации по AppArmor смотрите AppArmor
Этот раздел посвящен способам определения причины проблем, возникающих с DNS и BIND9.
Первый шаг в тестировании BIND9 это добавление IP адреса сервера имен в список определителей сетевых имен. Первичный сервер имен должен настраиваться, как и любой другой узел сети, с двойной проверкой. Просто отредактируйте /etc/resolv.conf, добавив следующее:
nameserver 192.168.1.10
nameserver 192.168.1.11
Вам надо добавить также IP адрес вторичного сервера имен на случай недоступности первичного.
Если вы установили пакет dnsutils, вы можете проверить свою установку используя обзорную утилиту DNS dig:
1. После установки BIND9 примените dig к интерфейсу обратной петли (loopback), чтобы убедиться, что порт 53 прослушивается. Из терминала наберите:
dig -x 127.0.0.1
Вы должны увидеть строки вывода, похожие на следующее:
;; Query time: 1 msec
;; SERVER: 192.168.1.10#53(192.168.1.10)
2. Если BIND9 настроен у вас как кэширующий сервер, используйте dig для замера времени при разрешении имени внешнего домена:
dig ubuntu.com
Обратите внимание на время в конце вывода результата команды:
;; Query time: 49 msec
После повторного вызова dig должно произойти улучшение:
;; Query time: 1 msec
Теперь для демонстрации как приложения могут использовать DNS для разрешения сетевых имен используйте утилиту ping для отправки ICMP эхо-запроса. Из терминала наберите следующее:
ping example.com
Это проверит может ли сервер имен разрешить имя ns.example.com в IP адрес. Вывод команды будет напоминать следующее:
PING ns.example.com (192.168.1.10) 56(84) bytes of data.
64 bytes from 192.168.1.10: icmp_seq=1 ttl=64 time=0.800 ms
64 bytes from 192.168.1.10: icmp_seq=2 ttl=64 time=0.813 ms
Хороший способ проверить ваши файлы зон — это использовать утилиту named-checkzone, установленную вместе с пакетом bind9. Эта утилита позволяет вам убедиться в корректности настроек до перезапуска BIND9 и применения изменений.
Резервное копирование в Ubuntu server , Сценарии Shell
1. Для тестирования нашего файла прямой зоны из примера введите следующее в командной строке:
named-checkzone example.com /etc/bind/db.example.com
Если все настроенно верно, вы сможете увидеть вывод, похожий на:
zone example.com/IN: loaded serial 6
OK
2. Аналогично, для тестирования файла обратной зоны введите следующее:
named-checkzone 1.168.192.in-addr.arpa /etc/bind/db.192
Вывод должен напоминать следующее:
zone 1.168.192.in-addr.arpa/IN: loaded serial 3
OK
Serial Number вашего файла зоны может отличаться.
BIND9 имеет широкий набор доступных опций настроек журналов. Существуют две основные опции. С помощью опции channel указывается где вести журналы, а опция categoryопределяет какую информацию писать в журнал.
Если опции журналов отсутствуют, по умолчанию применяется следующее:
logging {
category default { default_syslog; default_debug; };
category unmatched { null; };
};
Этот раздел раскрывает как настроить BIND9 посылать отладочные сообщения, связанные с DNS запросами в отдельный файл.
1. Сначала нам надо настроить канал (channel) для определения в какой файл посылать сообщения. Редактируем /etc/bind/named.conf.local и добавляем следующее:
logging {
channel query.log {
file «/var/log/query.log»;
severity debug 3;
};
};
2. Затем настраиваем категорию (category) для отправки всех DNS запросов в файл:
logging {
channel query.log {
file «/var/log/query.log»;
severity debug 3;
};
category queries { query.log; };
};
Обратите внимание на опцию debug, которая может принимать значения от 1 до 3. Если уровень отладки не указан, о умолчанию используется 1.
3. Поскольку сервис named запускается от имени bind, надо создать файл и сменить ему пользователя:
sudo touch /var/log/query.log
sudo chown bind /var/log/query.log
4. Перед тем как сервис named сможет писать в новый файл журнала нужно изменить профиль AppArmor. Сначала редактируем файл /etc/apparmor.d/usr.sbin.named, добавив:
/var/log/query.log w,
Затем перегружаем профиль:
cat /etc/apparmor.d/usr.sbin.named | sudo apparmor_parser -r
Дополнительную информацию по AppArmor смотрите в разделе AppArmor.
5. Теперь перегружаем BIND9 для применения изменений:
sudo service bind9 restart
Теперь вы можете увидеть файл /var/log/query.log, заполненный информацией о запросах. Это простейший пример использования опций журналирования BIND9.
Ссылки
Этот раздел покажет некоторые наиболее общие типы записей DNS.
1. A запись: Эта запись указывает IP адрес для сетевого имени (hostname).
www IN A 192.168.1.12
2. CNAME запись: Используется для создания псевдонима (alias) на A запись. Вы не можете создавать CNAME запись, указывающую на другую CNAME запись.
web IN CNAME www
3. MX запись: Используется для определения куда должна посылаться электронная почта (email). Должна указывать на A запись, не на CNAME.
IN MX 1 mail.example.com.
mail IN A 192.168.1.13
4. NS запись: Используется для определения какие сервера поддерживают копии зоны. Должна указывать на A запись, не на CNAME. Ею определяются первичные и вторичные сервера зоны.
IN NS ns.example.com. IN NS ns2.example.com.
ns IN A 192.168.1.10
ns2 IN A 192.168.1.11 материал взят с help.ubuntu.ru
Источник: https://neoblogs.net/2013/04/22/sluzhba-domennyx-imen-ustanovka-dns-servera-na-ubuntu/