Настройки сервера DNS под FreeBSD
Настройки сервера DNS под FreeBSD Настройки сервера DNS под FreeBSD
BIND доступен во FreeBSD "из коробки". Но перед настройкой нужно проверить версию:
1 2 | named - v BIND 9.6.-ESV-R3 |
1 | cd /usr/ports/dns/bind98/ && make rmconfig && make install clean |
Если получим ошибку (не понятно почему, но вылазит такое при первом запуске):
1 2 3 4 | make : don't know how to make /usr/ports/dns/bind98/work/ .install_done.bind98._usr_local. Stop *** Error code 2 Stop in /usr/ports/dns/bind98 . |
1 | make install clean |
Конфигурационный файл named.conf
Самый популярный вариант - свой NS обслуживает локальную сеть и свои зоны.Мой конфиг имеет такой вид:
1 | less /etc/namedb/named .conf |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | options { directory "/etc/namedb" ; pid- file "/var/run/named/pid" ; dump- file "/var/dump/named_dump.db" ; statistics- file "/var/stats/named.stats" ; listen-on { 127.0.0.1; <ip вашего интерфейса>; }; disable-empty-zone "255.255.255.255.IN-ADDR.ARPA" ; disable-empty-zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA" ; disable-empty-zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA" ; forwarders { 127.0.0.1; <DNS1 вашего провайдера>; <DNS2 вашего провайдера>; }; allow-recursion { 127.0.0.1; <ip локалки (если есть);>; }; recursive-clients 30000; }; acl "trusted-dns" { 127.0.0.1; <ip вторичного DNS>; }; logging { category lame-servers { null; }; }; zone "." { type hint; file "/etc/namedb/named.root" ; }; zone "0.0.127.IN-ADDR.ARPA" { type master; file "master/localhost.rev" ; }; // RFC 3152 zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA" { type master; file "master/localhost-v6.rev" ; }; zone "rublin.org.ua" { type master; file "master/rublin.org.ua.zone" ; allow-transfer { trusted-dns;}; }; |
1 | sh make -localhost |
Файл зоны named
Теперь создадим файлы зон (для каждой зоны, указанной в конфиге). У меня вот как получилось:1 | less /etc/namedb/master/rublin .org.ua.zone |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | $TTL 3600 ; 1 hour @ IN SOA ns1.rublin.org.ua. admin.rublin.org.ua. ( 20110808001 ; Serial 10800 ; Refresh 3600 ; Retry 604800 ; Expire 3600 ; Minimum TTL ) ; DNS Servers @ IN NS ns1.rublin.org.ua. @ IN NS ns.secondary.net.ua. ; MX Records @ IN MX 10 mx1.rublin.org.ua. ; Machine Names @ IN A <ip> localhost IN A 127.0.0.1 ns1 IN A <ip> ns2 IN A <ip> mx1 IN A <ip> ; Aliases ;www IN CNAME @ |
Как видно из файла зоны, мой вторичный NS-сервер совсем не мой. Я воспользовался услугами Secondary.NET - они позволяют регистрировать вторичный NS, если настроен и доступен первичный.
Установка и настройка RNDC
Для удобства дальнейшего управления демоном named рекомендую использовать утилиту RNDC. Для этого запустим:1 | rndc-confgen |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | # Start of rndc.conf key "rndc-key" { algorithm hmac-md5; secret "Lvekw+LSYvjc4MugWSXn/w==" ; }; options { default-key "rndc-key" ; default-server 127.0.0.1; default-port 953; }; # End of rndc.conf # Use with the following in named.conf, adjusting the allow list as needed: # key "rndc-key" { # algorithm hmac-md5; # secret "Lvekw+LSYvjc4MugWSXn/w=="; # }; # # controls { # inet 127.0.0.1 port 953 # allow { 127.0.0.1; } keys { "rndc-key"; }; # }; # End of named.conf |
1 | less /etc/namedb/rndc .conf |
1 2 3 4 5 6 7 8 9 10 | key "rndc-key" { algorithm hmac-md5; secret "Lvekw+LSYvjc4MugWSXn/w==" ; }; options { default-key "rndc-key" ; default-server 127.0.0.1; default-port 953; }; |
1 | less /etc/namedb/named .conf |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | ****** zone "rublin.org.ua" { type master; file "master/rublin.org.ua.zone" ; allow-transfer { trusted-dns;}; }; key "rndc-key" { algorithm hmac-md5; secret "Lvekw+LSYvjc4MugWSXn/w==" ; }; controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc-key" ; }; }; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | rndc [-b source -address] [-c config- file ] [-k key- file ] [-s server] [-p port] [-V] [-y key_id] { command } reload - перечитать файл конфигурации и зон reload zone [class [view]] - перечитать файл зон retransfer zone [class [view]] - ретрансфер зоны без проверки серийника reconfig - перечитать конфиг и новый файл зоны (использовать при добавлении новой зоны) stats - писать статистику сервера в файл статистики stop - сохранить изменения в мастерфайл и потушить сервер halt - остановить сервер без сохранения flush - очистка кеша status - отобразить состояние сервера restart - рестарт сервера |
Запуск и отладка named
Теперь в добавим записи для запуска:1 2 3 | echo 'named_enable="YES"' >> /etc/rc .conf echo 'named_program="/usr/sbin/named"' >> /etc/rc .conf echo 'named_flags="-u bind -c /etc/namedb/named.conf"' >> /etc/rc .conf |
1 2 | !named *.* /var/log/named .log |
1 | touch /var/log/named .log && chown bind:bind /var/log/named .log |
1 | /etc/rc .d /syslogd restart |
1 | /usr/sbin/named -t /var/named -u bind -c /etc/namedb/named .conf |
1 | tail -F /var/log/named .log |
1 2 3 | Jun 15 19:31:46 rublin named[37338]: zone rublin.org.ua /IN : loaded serial 2011061502 Jun 15 19:31:46 rublin named[37338]: reloading zones succeeded Jun 15 19:31:46 rublin named[37338]: zone rublin.org.ua /IN : sending notifies (serial 2011061502) |
Проверка работы named
Теперь мы можем изменить в /etc/resolv.conf сервер DNS на себя и проверить:1 | dig rublin.org.ua |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | ; <<>> DiG 9.6.-ESV-R3 <<>> rublin.org.ua ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id : 50809 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2 ;; WARNING: recursion requested but not available ;; QUESTION SECTION: ;rublin.org.ua. IN A ;; ANSWER SECTION: rublin.org.ua. 3600 IN A 192.168.67.99 ;; AUTHORITY SECTION: rublin.org.ua. 3600 IN NS ns.secondary.net.ua. rublin.org.ua. 3600 IN NS ns1.rublin.org.ua. ;; ADDITIONAL SECTION: ns1.rublin.org.ua. 3600 IN A 192.168.1.2 ns.secondary.net.ua. 3600 IN A 195.149.112.1 ;; Query time : 14 msec ;; SERVER: 192.168.67.99 #53(192.168.67.99) ;; WHEN: Wed Jun 15 19:38:41 2011 ;; MSG SIZE rcvd: 115 |
Источник: www.rublin.org
2012-2025 © Web site development. Developed by ABCname