Рассмотрим настройку master DNS сервера Bind9 на базе Ubuntu server 14.04
Установим наш DNS сервер
apt-get install bind9 dnsutils
Настройка master-сервер
- Для корректной работы нашего DNS сервера пропишем в файл nano /etc/resolv.conf nameserver 127.0.0.1
- Создадим зону прямого просмотра, назовем её примерно так print.kd
P.S. Главное чтобы название зоны отличалось от вашего домена, в противном случае из вашей сети как минимум сайт компании будет недоступен touch /etc/bind/ print.kd
далее откроем этот файл nano /etc/bind/ print.kd
Заполним её так
$TTL 3600
@ IN SOA ns.print.kd. hostmaster.print.kd. (
2015042702 ; serial
10800 ; refresh (3 hours)
900 ; retry (15 minutes)
604800 ; expire (1 week)
86400 ; minimum (1 day)
)
IN NS localhost.
IN MX 5 mail.service.ru.
localhost IN A 127.0.0.1
ns IN A 192.168.1.3
next IN A 192.168.1.8
zam IN A 192.168.1.11
delta8 IN A 192.168.1.40
stn IN A 192.168.1.50
sterx IN A 192.168.1.43
ftp IN A 192.168.1.60
- Создадим обратную зону нашего сервера
touch /etc/bind/1.168.192.in-addr.arpa
далее откроем этот файл nano /etc/bind/1.168.192.in-addr.arpa
Заполним её так:
$TTL 3600
@ IN SOA ns.print.kd. hostmaster.print.kd. (
2015052803 ; Serial
1d ; Refresh
1h ; Retry
1w ; Expire
2h ; Negative Cache TTL
)
NS localhost.
3 PTR ns.print.kd.
8 PTR next.print.kd.
11 PTR zam.print.kd.
50 PTR stn.print.kd.
43 PTR sterx.print.kd.
60 PTR ftp.print.kd.
Пояснения:
$TTL 3600 – время через которое наш сервер обновит кэш своих записей
@ IN SOA nsk.print.kd. — указывает что мастером сервера домена является хост nsk.test.ru
20131904 – версия, необходимо увеличивать значение на 1 ед после каждого редактирования зоны
NS nsk.print.kd. — указывает хост мастер сервера домена
MX 5 mail.service.ru. – почтовая запись, благодаря MX осуществляется маршрутизация почты 5 приоритетный номер, необходимо указывать, если в организации стоит более одного почтового сервера, Если например есть 5 и 10 то сервер с 10 будет получать письма только тогда если сервер со значением 5 недоступен
mail.service.ru. – имя почтового сервера
7 PTR nsk.test.ru. – 17 это последние цифры ip адреса хоста
CNAME служит синонимом имени компьютера который должен соответствовать записи A.
Например wiki.example.org IN CNAME wikipedia.ru
Важно: в конце любой записи имени хоста например:
mail.service.ru. должна стоять точка
- Теперь открываем файл nano /etc/bind/named.conf.local
и вносим описание прямой и обратной зоны нашего сервера
zone «print.kd» {
type master;
file «/etc/bind/print.kd»;
};
zone «1.168.192.in-addr.arpa» {
type master;
file «/etc/bind/1.168.192.in-addr.arpa»;
};
Все сохраняем и идем дальше
- Открываем файл nano /etc/bind/named.conf.options
и заполняем его примерно так
acl «inet» {192.168.1.0/24; 127.0.0.1; };
options {
directory «/var/cache/bind»;
replacing
dnssec-validation auto;
forward first;
forwarders {
83.11.15.8;
83.11.15.9;
};
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { none; };
allow-query { «inet»; };
allow-transfer { none; };
};
Пояснения:
acl— разрешает обращаться к нашему серверу только из сети{192.168.1.0/24; 127.0.0.1; };
forward first; — записи dns серверов нашего провайдера
listen-on-v6 { none; }; — запрещаем протокол v6 если с ним не работаем
allow-transfer { none; }; — запрещаем брать (читать) зону с сервера если у нас нет slave сервера, если slave сервер есть указываем его
6. Все теперь надо проверить правильно ли мы настроили наш сервер Для этого перезапускаем BIND
/etc/init.d/bind9 restart – если сервер удачно запустился нам остается только проверить его работу и дождаться обновления его зон
P.S. Если сервер при старте выдал faled значит вы ошиблись в записях настроек сервера и вам надо внимательно все проверить
Важно:
Для проверки настройки сервера можно воспользоваться утилитой
named-checkconf
для этого надо указать # named-checkconf /etc/bind/named.conf
для проверки прямой записей в описании зон ест утилита named-checkzone
named-checkzone print.kd /etc/bind/print.kd
7. Если все работает, обновляем кэш зон сервера командой #rndc reload
8. Проверяем работу нашего сервера
для этого в консоли набираем
nslookup test.ru. 127.0.0.1
и если видим такой ответ сервера значит с сервером все ОК
Server: 127.0.0.1
Address: 127.0.0.1#53
Non-authoritative answer:
Name: test.ru.
Address: 192.168.1.17
Для более детальной проверки сервера можно пользоваться командой dig
Например так # dig @192.168.1.17 test.ru
Таким способом проверяется ответ сервера, и его записи
