Описана настройка DNS сервера named в режиме forward only на примере Red Hat Linux 4.
1. Проверяем, установлены ли пакеты bind и bind-chroot:
[root@localhost etc]# rpm -q bind
пакет bind не установлен
[root@localhost etc]# rpm -q bind-chroot
пакет bind-chroot не установлен
2. Устанавливаем пакет bind (я предварительно переписал в папку /distrib/rpms с установочного DVD пакеты RPM - bind-9.2.4-16.EL4.i386.rpm, bind-chroot-9.2.4-16.EL4.i386.rpm, bind-devel-9.2.4-16.EL4.i386.rpm, bind-libs-9.2.4-16.EL4.i386.rpm, bind-utils-9.2.4-16.EL4.i386.rpm):
[root@localhost /]# rpm --install /distrib/rpms/bind-9.2.4-16.EL4.i386.rpm
[root@localhost /]# rpm --install /distrib/rpms/bind-chroot-9.2.4-16.EL4.i386.rpm
3. В каталоге /etc появится файл named.conf (а точнее, это ссылка на /var/named/chroot/etc/named.conf):
[root@localhost etc]# ls -l /etc/named.conf
lrwxrwxrwx 1 root root 32 Июн 7 14:37 /etc/named.conf -> /var/named/chroot/etc/named.conf
Отредактируем этот файл, в итоге получим примерно следующее:
[root@localhost etc]# more /etc/named.conf
// Default named.conf generated by install of bind-9.2.4-16.EL4
options {
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
forward only;
forwarders {
80.252.130.254;
213.234.192.8;
};
};
include "/etc/rndc.key";
Жирным здесь помечено добавленное в конфиг. В секции forwarders нужно прописать списки доступных внешних DNS, которые отвечают на запросы.
4. Протестируем полученную конфигурацию.
[root@localhost etc]# named -u named
[root@localhost etc]# ps ax | grep named
11496 ? Ssl 0:00 named -u named
11546 pts/2 S+ 0:00 grep named
[root@localhost etc]# nslookup
> server localhost
Default server: localhost
Address: 127.0.0.1#53
> yandex.ru
Server: localhost
Address: 127.0.0.1#53
Non-authoritative answer:
Name: yandex.ru
Address: 77.88.21.11
Name: yandex.ru
Address: 87.250.251.11
Name: yandex.ru
Address: 213.180.204.11
> exit
В лог будет писаться информация об успешном запуске:
[root@localhost etc]# tail /var/log/messages
..
Jun 7 16:20:54 localhost named[11496]: starting BIND 9.2.4 -u named
Jun 7 16:20:54 localhost named[11496]: using 1 CPU
Jun 7 16:20:54 localhost named[11496]: loading configuration from '/etc/named.conf'
Jun 7 16:20:54 localhost named[11496]: listening on IPv4 interface lo, 127.0.0.1#53
Jun 7 16:20:54 localhost named[11496]: listening on IPv4 interface eth0, a.b.11.111#53
Jun 7 16:20:54 localhost named[11496]: command channel listening on 127.0.0.1#953
Jun 7 16:20:54 localhost named[11496]: command channel listening on ::1#953
Jun 7 16:20:54 localhost named[11496]: running
Примечание. Демон named должен запускаться от имени пользователя named (используется опция -u). Если попытаться запусть named от имени root (просто вызвав named без опций), то демон сразу завершится с сообщением в логе
Jun 7 16:06:05 localhost named[11390]: couldn't open pid file '/var/run/named/named.pid': Permission denied
Jun 7 16:06:05 localhost named[11390]: exiting (due to early fatal error)
Лучший метод запуска - использование скрипта /etc/init.d/named:
[root@localhost init.d]# /etc/init.d/named start
Запускается named: [ ОК ]
5. Теперь настроим автозапуск. Добавим в файл /etc/rc.d/rc.local строчку /etc/init.d/named start:
[root@localhost rc.d]# more /etc/rc.d/rc.local
#!/bin/sh
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
/etc/init.d/named start
См. также FreeBSD: как настроить named в простейшей конфигурации (DNS forwarding).
|