Настройка DNS сервера
1. Кеширующий DNS сервер; 2. Настройка первичного(master) DNS сервере и создание прямой и обратной зоны. 3. Передача(forward) зоны 4. Настройка вторичного(secondary) DNS сервера
1. Кеширующий DNS сервер
Кеширующий DNS сервер может понадобится как DNS сервер в локальной сети. При наличии кеширующего DNS на вашем сервере сети все компьютеры в сети смогут использовать ваш сервер как DNS. Кроме того это несколько ускоряет распознование доменных имен и часто используется даже при использовании Linux как рабочей станции. Приступим к настройке: Провеяем что установлены (или устанавливаем) пакеты bind и bind-utils: #urpmi bind bind-utils Пусть 222.222.222.222 - это IP-адрес сервера DNS вашего провайдера. Теперь вносим изменения в файле /etc/named.conf в секции "controls". Нужно добавить следующие строки: forwarders { 127.0.0.1; 222.222.222.222; }; forward first; Далее правим файлик /etc/hosts - в нем должны быть строки: nameserver 127.0.0.1 nameserver 222.222.222.222 Это может понадобится для некоторых служб и программ которые не будут обращаться к вашему DNS серверу. После этого перезапускаем DNS сервер : # /etc/init.d/named restart Теперь всем хостам в локальной сети можно указать этот сервер в качестве DNS сервера. Проверить работоспособность можно следующим образом: $ nslookup -sil www.linux.org Server: 222.222.222.222 Address: 222.222.222.222#53 Non-authoritative answer: Name: www.linux.org Address: 198.182.196.56 $ nslookup -sil www.linux.org Server: 127.0.0.1 Address: 127.0.0.1#53 Non-authoritative answer: Name: www.linux.org Address: 198.182.196.56 Как мы видим, первый раз обращение прошло к DNS серверу вашего провайдера, а второй раз ответ получен из кеша вашего DNS сервера. 2. Настройка первичного(master) DNS сервере и создание прямой и обратной зоны. Допустим у Вас есть доменное имя mynet.lan Вам хочется сделать свой сервер первичным сервером для этого домена и использовать у себя в сети доменные имена www.mynet.lan, kolya.mynet.lan и т.д. Для этого сначала попрвим файл /etc/named.conf ///////////////////////////////////////////////////////// key mykey { algorithm hmac-md5; secret "IriCelUSbPMypSjImBsiTHMauOumRPMkdBjoxVINAx0vxJZNRKGWzFCKibad"; }; controls { inet 127.0.0.1 allow { any; } keys { "mykey"; }; // эту строка добавлена здесь для целей которые описанны в главе про DHCP inet 192.168.1.4 allow { any; } keys { "mykey"; }; // здесь вместо 222.222.222.222 проставте ip DNS сервера вашего провайдера forwarders { 127.0.0.1; 222.222.222.222; }; forward first; }; options { pid-file "/var/run/named/named.pid"; directory "/var/named"; /* * If there is a firewall between you and nameservers you want * to talk to, you might need to uncomment the query-source * directive below. Previous versions of BIND always asked * questions using port 53, but BIND 8.1 uses an unprivileged * port by default. */ // query-source address * port 53; }; // // a caching only nameserver config // zone "." { type hint; file "named.ca"; }; zone "0.0.127.in-addr.arpa" { type master; file "named.local"; }; // Прямая и обратные зоны для домена mynet.lan zone "mynet.lan" { type master; file "mynet.zone"; allow-update { key mykey; }; }; zone "1.168.192.in-addr.arpa" { type master; file "mynet.reversed"; allow-update { key mykey; }; }; ///////////////////////////////////////////////////////// Как мы видим в конце файла добавилены две записи "zone". Теперь нам необходимо создать еще 2 файла содержащих прямую и обратную зону. Создаем файл обратной зоны /var/named/mynet.reversed. $ORIGIN . $TTL 86400 ; 1 day 1.168.192.in-addr.arpa IN SOA ns.mynet.lan. ns.mynet.lan. ( 2001042703 ; serial 28800 ; refresh (8 hours) 14400 ; retry (4 hours) 3600000 ; expire (5 weeks 6 days 16 hours) 86400 ; minimum (1 day) ) NS ns.mynet.lan. $ORIGIN 1.168.192.in-addr.arpa. $TTL 3600 ; 1 hour 1 PTR router.mynet.lan. 4 PTR ns.mynet.lan. теперь создаем файл прямой зоны /var/named/mynet.zone $ORIGIN . $TTL 86400 ; 1 day mynet.lan IN SOA ns.mynet.lan. ns.mynet.lan. ( 2001042705 ; serial 86400 ; refresh (1 day) 21600 ; retry (6 hours) 3600000 ; expire (5 weeks 6 days 16 hours) 3600 ; minimum (1 hour) ) NS ns.mynet.lan. $ORIGIN mynet.lan. localhost A 127.0.0.1 ns A 192.168.1.4 router A 192.168.1.1 www A 192.168.1.1 По аналогии в конец файла прямой и обратной зон вы можете дописывать все что угодно. Обратите внимание на то что изменения вступают в силу только после изменения поля "serial". Обычно после внесения любых изменений в эти файлы serial увеличивают на 1. 3. Передача(forward) зоны Иногда необходимо отдать какуюто часть домена для обслуживания другому DNS серверу. Это называется форвардинг зоны. Для этого можно просто добавить примерно такую запись в файл /etc/named.conf zone "subnet.mynet.lan"{ type forward first; forwarders {10.10.10.10;}; }; В этом примере subnet.mynet.lan - поддомен который вы передаете DNS серверу с IP 10.10.10.10. С этого момента обращения за доменными именами *.subnet.mynet.lan будут проходить не к вашеиу DNS серверу а к серверу 10.10.10.10 4. Настройка вторичного(secondary) DNS сервера Иногда необходимо "просекондарить зону" - тоесть настроить свой DNS таким образом чтобы он был вторичным DNS сервером для какой либо зоны. По правилам необходимо чтобы у каждого первичного DNS сервера (master) было как минимум 2 вторичных (slave). Также это может быть необходимо если вам по какимто причинам нужно сделать свой сервер "авторитетным" для какой либо произвольной зоны. Просекондерить свой DNS можно двумя способами: С помощью web сервиса на http://secondary.net.ua/ Настроить свой сервер самостоятельно добавив в файл /etc/named.conf примерно такую запись: zone "subnet2.mynet.lan" { type slave; file "subnet2.mynet.lan.slave"; masters { 10.10.10.10; }; }; В этом примере мы "секондарим" зону subnet2.mynet.lan первичным DNS сервером которой является сервер с IP 10.10.10.10 . после перезапуска DNS сервера должен создаться файл /var/named/subnet2.mynet.lan.slave в котором будет зона которую мы секондарим.
|