Бруй В.В., Карлов С.В. - Linux-сервер - пошаговые инструкции - инсталляции и настройки (1077321), страница 69
Текст из файла (страница 69)
Служба DSN2.0.0.0/8;192.0.2.0/24;224.0.0.0/3;169.254.0.0/16;// Enterprise networks may or may not be bogus.10.0.0.0/8;172.16.0.0/12;192.168.0.0/16;};options {directory "/var/named";allow-transfer { none; };allow-query { trusted; };allow-recursion { trusted; };blackhole { bogon; };tcp-clients 32;forwarders { 213.24.76.2; 194.226.94.138; };version "Hangry Bambr DNS v. 0.01";};logging {category lame-servers { null; };};// Root server hintszone "." { type hint; file "db.cache"; };// Provide a reverse mapping for the loopback address 127.0.0.1/24zone "localhost" {type master;file "db.localhost";notify no;};zone "0.0.127.in-addr.arpa" {type master;file "0.0.127.in-addr.arpa";notify no;};где строки:acl "trusted" {localhost;};определяют список контроля доступа с именем trusted, содержащий список хостов, которым в дальнейшем будет разрешено обращаться с запросами к DNS-серверу, обрабатывающему все разрешенные IPадреса или имена хостов в нашей конфигурации.
Для кэширующего DNS-сервера необходимо включить всписок только localhost.Строки:acl "bogon" {0.0.0.0/8;1.0.0.0/8;2.0.0.0/8;192.0.2.0/24;224.0.0.0/3;169.254.0.0/16;…10.0.0.0/8;172.16.0.0/12;192.168.0.0/16;};Глава 23. ISC BIND – программное обеспечение для организации службы DSN291определяют список контроля доступа с именем bogon, содержащий список хостов, которым в дальнейшембудет запрещено обращаться с запросами к DNS-серверу.
Вы можете дополнить этот список любыми адресами, с которых не желателен доступ к вашему серверу.Директивы строки options {} определяют основные настройки сервера.Строка:directory "/var/named";определяет путь к рабочему каталогу сервера.Строка:allow-transfer { none; };определяет хосты, c которых разрешен перенос файлов зоны с конфигурируемого сервера. Значение ISCBIND, используемое по умолчанию, разрешает перенос файлов зон с любых хостов.
Эта опция используетсяпри конфигурировании вторичных DNS-серверов и в случае кэширующего DNS-сервера должна быть отключена.Строка:allow-query { trusted; };разрешает обрабатывать запросы только от хостов, включенных в список контроля доступа с именемtrusted.Строка:allow-recursion { trusted; };разрешает обрабатывать рекурсивные запросы от хостов, включенных в список контроля доступа с именемtrusted. Если вы используете настройку по умолчанию, которая разрешает обрабатывать рекурсивные запросы от всех хостов, ваш сервер, может быть подвергнут атаке типа «отравление кэша» (cache poisoning),при которой в кэш вашего сервера могут быть добавлены некорректные данные о соответствии имен IPадресам.Строка:blackhole { bogon; };запрещает обработку запросов от хостов, включенных в список контроля доступа с именем bogon.Строка:tcp-clients 32;определяет максимальное число соединений, которое может быть одновременно установлено с конфигурируемым сервером.Строка:forwarders { 213.24.76.2; 194.226.94.138; };определяет IP-адреса первичного и вторичного DNS-серверов, к которым обращается кэширующий DNSсервер при отсутствии в его кэше необходимой клиенту информации.Строка:version "Hangry Bambr DNS v.
0.01";позволяет переопределить описание версии используемого вами DNS-сервера.Строки:logging {category lame-servers { null; };};запрещают вносить в файлы регистрации сообщения вида:lame server on 'domen.ru' (in 'dome.ru'?) x.x.x.xобычно генерируемые при обращении к DNS-серверу, сконфигурированному как авторитетный для некоторой зоны, но таковым не являющимся.Строка:zone "." { type hint; file "db.cache"; };определяет имя файла db.cache, содержащего IP-адреса серверов, обслуживающих корневую зону.Строки:zone "localhost" {type master;file "db.localhost";notify no;};иzone "0.0.127.in-addr.arpa" {type master;file "0.0.127.in-addr.arpa";notify no;}; localhostопределяют файл зоны db.localhost, с помощью которого IP-адрес 127.0.0.1 преобразуется в имя localhost, и файл обратной зоны 0.0.127.in-addr.arpa, с помощью которого имя localhost пре-292Часть 5.
Служба DSNобразуется в IP-адрес 127.0.0.1. При этом запрещается (notify no) перемещение файлов зоны и обратнойзоны на другие (вторичные) DNS-сервера.Шаг 2Установите права доступа к файлу /etc/named.conf и назначьте владельцем файла пользователяnamed из группы named:[root@drwalbr /]# chmod 600 /etc/named.conf[root@drwalbr /]# chown named.named /etc/named.confКонфигурационный файл /var/named/db.cacheШаг 1Для получения последней версии файла выполните на системе, где уже установлена служба DNS, команду:[root@drwalbr /]# dig @a.root-servers.net.ns > db.cacheСкопируйте этот файл в каталог /var/named с помощью утилиты scp, использование которой описано в конце главы. Если в вашем распоряжении нет системы с установленной службой DNS, воспользуйтесь приведенным ниже примером:; <<>> DiG 9.2.2 <<>> @a.root-servers.net.ns;; global options: printcmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61928;; flags: qr aa rd; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13;; QUESTION SECTION:;.IN NS;; ANSWER SECTION:.518400 IN.518400 IN.518400 IN.518400 IN.518400 IN.518400 IN.518400 IN.518400 IN.518400 IN.518400 IN.518400 IN.518400 IN.518400 INNSNSNSNSNSNSNSNSNSNSNSNSNSD.ROOT-SERVERS.NET.A.ROOT-SERVERS.NET.H.ROOT-SERVERS.NET.C.ROOT-SERVERS.NET.G.ROOT-SERVERS.NET.F.ROOT-SERVERS.NET.B.ROOT-SERVERS.NET.J.ROOT-SERVERS.NET.K.ROOT-SERVERS.NET.L.ROOT-SERVERS.NET.M.ROOT-SERVERS.NET.I.ROOT-SERVERS.NET.E.ROOT-SERVERS.NET.;; ADDITIONAL SECTION:D.ROOT-SERVERS.NET.
3600000A.ROOT-SERVERS.NET. 3600000H.ROOT-SERVERS.NET. 3600000C.ROOT-SERVERS.NET. 3600000G.ROOT-SERVERS.NET. 3600000F.ROOT-SERVERS.NET. 3600000B.ROOT-SERVERS.NET. 3600000J.ROOT-SERVERS.NET. 3600000K.ROOT-SERVERS.NET. 3600000L.ROOT-SERVERS.NET. 3600000M.ROOT-SERVERS.NET. 3600000I.ROOT-SERVERS.NET. 3600000E.ROOT-SERVERS.NET. 3600000;;;;;;;;INININININININININININININAAAAAAAAAAAAA128.8.10.90198.41.0.4128.63.2.53192.33.4.12192.112.36.4192.5.5.241128.9.0.107192.58.128.30193.0.14.129198.32.64.12202.12.27.33192.36.148.17192.203.230.10Query time: 143 msecSERVER: 198.41.0.4#53(a.root-servers.net)WHEN: Fri May 9 08:22:18 2003MSG SIZE rcvd: 436293Глава 23. ISC BIND – программное обеспечение для организации службы DSNЗАМЕЧАНИЕ Если вы воспользовались нашим примером конфигурационного файла, не забудьте обновить его сразу же после запуска DNS-сервера.Шаг 2Установите права доступа к файлу и назначьте владельцем файла пользователя named из группыnamed:[root@drwalbr /]# chmod 600 /etc/db.cache[root@drwalbr /]# chown named.named /etc/db.cacheЗАМЕЧАНИЕ В последующем, примерно два раза в год, обновляйте файл /etc/db.cache на всехDNS-серверах.Конфигурационный файл зоны localhost /var/named/db.localhostШаг 1Создайте файл db.localhost, содержащий следующие строки:$TTL 86400@INSOAlocalhost.
root.localhost. (00; Serial10800; Refresh after 3 hours3600; Retry after 1 hour604800 ; Expire after 1 week86400 ) ; MinimumlocalhostINNSlocalhost.INA127.0.0.1Шаг 2Установите права доступа к файлу и назначьте владельцем файла пользователя named из группыnamed:[root@drwalbr /]# chmod 644 /var/named/db.localhost[root@drwalbr /]# chown named.named /var/named/db.localhostКонфигурационный файл обратной зоны /var/named/0.0.127.in-addr.arpaШаг 1Создайте файл 0.0.127.in-addr.arpa, содержащий следующие строки:$TTL 86400@INSOAlocalhost.
root.localhost. (00; Serial10800; Refresh after 3 hours3600; Retry after 1 hour604800 ; Expire after 1 week86400 ) ; Minimum1ININPTRNSlocalhost.localhost.Шаг 2Установите права доступа к файлу и назначьте владельцем файла пользователя named из группыnamed:[root@drwalbr /]# chmod 644 /var/named/0.0.127.in-addr.arpa[root@drwalbr /]# chown named.named /var/named/0.0.127.in-addr.arpaСистемный конфигурационный файл /etc/sysconfig/namedШаг 1Если вы собираетесь запускать ISC BIND в/etc/sysconfig/named, содержащий следующие строки:окруженииchroot-jail,создайтефайл294Часть 5. Служба DSN#This option will run named in a chroot environment.#ROOTDIR="/chroot/named/"# These additional options will be passed to named at startup.# Don't add -t here, use ROOTDIR instead.#OPTIONS=""Шаг 2Установите права доступа к файлу и назначьте владельцем файла пользователя named из группыnamed:[root@drwalbr /]# chmod /etc/sysconfig/named[root@drwalbr /]# chown named.named /etc/sysconfig/namedФайл инициализации /etc/init.d/namedШаг 1Создайте инициализационный файл /etc/init.d/named, содержащий следующие строки:#!/bin/bash#######This shell script takes care of starting and stopping named.chkconfig: 2345 55 45description: Named (BIND) is a Domain Name Server (DNS) that is used \to resolve host names to IP addresses.processname: named# Source function library..
/etc/init.d/functions# Source networking configuration.. /etc/sysconfig/network# Source for additional options if we have them.if [ -f /etc/sysconfig/named ] ; then. /etc/sysconfig/namedfi# Check that networking is up.[ "${NETWORKING}" = "no" ] && exit 0# If Named is not available stop now.[ -f /usr/sbin/named ] || exit 0[ -f "${ROOTDIR}"/etc/named.conf ] || exit 0# Path to the Named binary.named=/usr/sbin/namedRETVAL=0prog="Named"start() {echo -n $"Starting $prog: "if [ -n "${ROOTDIR}" -a "x${ROOTDIR}" != "x/" ]; thenOPTIONS="${OPTIONS} -t ${ROOTDIR}"fidaemon $named -u named ${OPTIONS}RETVAL=$?echo[ $RETVAL -eq 0 ] && touch /var/lock/subsys/namedreturn $RETVAL}stop() {Глава 23.
ISC BIND – программное обеспечение для организации службы DSN295echo -n $"Shutting down $prog: "killproc $namedRETVAL=$?echo[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/namedreturn $RETVAL}# See how we were called.case "$1" instart)start;;stop)stop;;status)status $namedRETVAL=$?;;restart)stopstartRETVAL=$?;;condrestart)if [ -f /var/lock/subsys/named ]; thenstopstartRETVAL=$?fi;;reload)/usr/sbin/rndc reload >/dev/null 2>&1 || /usr/bin/killall -HUP$namedreturn $RETVAL;;probe)/usr/sbin/rndc reload >/dev/null 2>&1 || echo startreturn $RETVAL;;*)echo $"Usage: $0{start|stop|status|restart|condrestart|reload|probe}"exit 1esacexit $RETVALШаг 2Сделайте файл исполняемым и определите его владельцем пользователя root:[root@drwalbr /]# chmod 700 /etc/init.d/named[root@drwalbr /]# chown 0.0 /etc/init.d/namedДля автоматического запуска ISC BIND при загрузке системы создайте необходимые ссылки:[root@drwalbr /]# chkconfig --add named[root@drwalbr /]# chkconfig --level 2345 named onКонфигурирование ISC BIND в режиме первичного DNS-сервераДля каждой зоны существует один и только один первичный DNS-сервер, на котором администраторзоны создает файл описания зоны, являющийся первоисточником для всех вторичных серверов.
Все остальные серверы только копируют информацию с первичного сервера. Настройку первичного DNS-сервера рассмотрим на примере первичного DNS-сервера, отвечающего за зону contora.ru.296Часть 5. Служба DSNКонфигурационные файлы /var/named/db.cache, /var/named/db.localhost,/var/named/0.0.127.in-addr.arpa, /etc/sysconfig/named и /etc/init.d/named/var/named/db.cache,/var/named/db.localhost,Конфигурацияфайлов/var/named/0.0.127.in-addr.arpa, /etc/sysconfig/named и /etc/init.d/named идентична описанной выше конфигурации файлов для кэширующего DNS-сервера.Конфигурационный файл /etc/named.confШаг 1Создайте файл /etc/named.conf, руководствуясь своими потребностями и ниже приведеннымирекомендациями:// Authorized source addresses.acl "trusted" {localhost;192.168.1.0/24;213.24.76.0/24;};// Known fake source addresses shouldn't be replied to.acl "bogon" {0.0.0.0/8;1.0.0.0/8;2.0.0.0/8;192.0.2.0/24;224.0.0.0/3;169.254.0.0/16;// Enterprise networks may or may not be bogus.10.0.0.0/8;172.16.0.0/12;192.168.0.0/16;};options {directory "/var/named";allow-transfer { 194.226.76.138 ; };allow-query { trusted; };allow-recursion { trusted; };blackhole { bogon; };tcp-clients 1024;forwarders { none; };version "Hangry Bambr DNS v.
0.01";};logging {category lame-servers { null; };};// Root server hintszone "." { type hint; file "db.cache"; };// Provide a reverse mapping for the loopback address 127.0.0.1/24zone "localhost" {type master;file "db.localhost";notify no;};zone "0.0.127.in-addr.arpa" {type master;file "0.0.127.in-addr.arpa";notify no;};Глава 23. ISC BIND – программное обеспечение для организации службы DSN297// We are the master server for contora.ruzone "contora.ru" {type master;file "db.contora";allow-query { any; };};// Provide a reverse mapping for domains network 213.24.76.0/24zone "76.24.213.in-addr.arpa" {type master;file "76.24.213.in-addr.arpa";allow-query { any; };};где строки:acl "trusted" {localhost;192.168.1.0/24;213.24.76.0/24;};определяют (расширяют по отношению к приведенному выше примеру, используемого для кэширующегоDNS-сервера) список контроля доступа с именем trusted, содержащий список хостов, которым в дальнейшем будет разрешено обращаться с запросами к DNS-серверу, который обрабатывает все разрешенныеIP-адреса или имена хостов в нашей конфигурации.