| 
 
Описана настройка 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).
  |