- DhcpBind
- Инсталляция необходимых пакетов
- Настройка DHCP
- Настройка DNS
- Ссылки
- Бесплатные DNS-сервера
- BIND — сервер доменных имён на Alt Linux
- Установка
- Расположение файлов
- Файлы зон
- Конфигурирование сервера
- Пересылка запросов
- Трансфер зон
- Ссылки на файлы зон
- Кому отвечать
- Как отвечать
- Управление
- Ссылки
- DhcpBind
- Инсталляция необходимых пакетов
- Настройка DHCP
- Настройка DNS
- Ссылки
- Бесплатные DNS-сервера
DhcpBind
Цель — создание maxимально miniмальных конфигурационных файлов используя установки по умолчанию для создания базовой работоспособной конфигурации ALT дистрибутивов. Настраивать будем:
- доменное имя — test.int
- сеть — 192.168.167.0/24
- сервер для всего — 192.168.167.1 (server.test.int)
- роутер — 192.168.167.3
- DNS провайдера — 194.67.1.154, 194.67.1.155
- клиенты — WinXP
Инсталляция необходимых пакетов
# apt-get install dhcpd # apt-get install bind
Включаем автоматический запуск при загрузке системы:
# chkconfig dhcpd on # chkconfig bind on
# service bind start # service dhcpd start
Запуск необходим для создания файла rndc.key, который будет использоваться. Просматриваем /var/log/syslog/messages на предмет возможных проблем.
Настройка DHCP
# touch /etc/dhcp/dhcpd.conf # chown root: /etc/dhcp/dhcpd.conf # chmod 0600 /etc/dhcp/dhcpd.conf
#Конфигурация ISC DHCP-сервера # Только мы можем выдавать IP адреса authoritative; # — Начало опций динамического обновления # Имя домена ddns-domainname «test.int»; # Метод обновления записей сервера DNS ddns-update-style interim; # Добавление ключа include «/var/lib/bind/etc/rndc.key»; # Запрет клиенту обновлять записи A и PTR сервера DNS deny client-updates; # Локальный домен zone test.int. < primary 192.168.167.1 ; key "rndc-key" ; ># Обратная зона zone 167.168.192.in-addr.arpa. < primary 192.168.167.1 ; key "rndc-key" ; ># — Окончание опций динамического обновления # — Глобальные опции # Локальный DNS сервер option domain-name-servers 192.168.167.1; # WINS сервер option netbios-name-servers 192.168.167.1; # Маршрутизатор option routers 192.168.167.3; # сеть, маска сети и диапазон раздаваемых IP subnet 192.168.167.0 netmask 255.255.255.0
Просматриваем /var/log/syslog/messages на предмет возможных проблем.
Настройка DNS
Редактируем файл /var/lib/bind/etc/local.conf. Раскомментируем добавление rfc1918 зон и добавим нашу локальную зону:
// Consider adding the 1918 zones here, if they are not used in your organization. include "/etc/rfc1918.conf"; // Add other zones here zone "test.int" < type master; file "/zone/test.int.zone" ; forwarders <>; allow-update < key rndc-key; >; >; zone "167.168.192.in-addr.arpa" < type master; file "/zone/167.168.192.rev" ; forwarders <>; allow-update < key rndc-key ; >; >;
В файле rfc1918.conf закомментируем последнюю запись:
. zone "31.172.in-addr.arpa" < type master; file "empty"; allow-update ; >; //zone "168.192.in-addr.arpa"< type master; file "empty"; allow-update ; >;
Создаем файлы зон прямой ( test.int.zone ) и обратной ( 167.168.192.rev ):
# touch /var/lib/bind/zone/test.int.zone # chown named. /var/lib/bind/zone/test.int.zone # chmod 600 /var/lib/bind/zone/test.int.zone # touch /var/lib/bind/zone/167.168.192.rev # chown named. /var/lib/bind/zone/167.168.192.rev # chmod 600 /var/lib/bind/zone/167.168.192.rev
$TTL 1D @ IN SOA server.test.int. root.test.int. ( 2005072522 ; serial 12H ; refresh 1H ; retry 1W ; expire 1H ; minimum ) NS server.test.int. MX 10 server.test.int. ; Static router A 192.168.167.1 server A 192.168.167.3 www CNAME server
$TTL 1D @ IN SOA server.test.int. root.test.int. ( 2005072502 ; serial 12H ; refresh 1H ; retry 1W ; expire 1H ; minimum ) NS server.test.int. ; Static 1 PTR router.test.int. 3 PTR server.test.int.
/* раскомментируем: forward only; /* раскомментируем и добавим DNS провайдера forwarders < 194.67.1.154; 194.67.1.155; >; /* раскомментируем: allow-query < localnets; >; allow-recursion < localnets; >; /* добавим allow-transfer < none; >;
Просматриваем /var/log/syslog/messages на предмет возможных проблем. Меняем права для доступа директории var/lib/bind/zone/:
Проверяем работоспособность созданных конфигураций серверов. На машине с WinXP выполняем:
>ipconfig/release >ipconfig/renew >ipconfig/all
И если вывод последней команды нас удовлетворяет, последний раз смотрим /var/log/syslog/messages. Если ошибок нет, то считаем задачу выполненной.
Дальнейшие изменения конфигурационных файлов выполняются по вкусу, необходимости и знаниям.
Ссылки
Бесплатные DNS-сервера
BIND — сервер доменных имён на Alt Linux
BIND, он же named. Простая установка на ALT Linux Desktop 4.1.1 для использования в локальной сети.
Установка
Сама по себе установка проста:
В зависимостях притянет так же bind-control и libbind, если они ещё не установлены. Для тестирования DNS полезно установить утилитку bind-utils. В репозитории имеется так же пакет с документацией.
Расположение файлов
/etc/named.conf — «стартовый» конфиг.
/var/lib/bind — все файлы конфигурации лежат внутри этой директории.
/var/lib/bind/etc — директория для хранения конфигов сервера.
/var/lib/bind/var — директория для хранения дампа БД и логов (нужно изменить права на 710, иначе named не запишет ничего)
/var/lib/bind/zone — директория для хранения «стандартных» зон.
/var/lib/bind/zone/master — для хранения файлов зон, этого сервера (создать ручками, сделать chown root:named, права 750).
/var/lib/bind/zone/slave — для хранения зон, полученных с других серверов.
Файлы зон
$ sudo cat /var/lib/bind/zone/master/test.local $TTL 3600 @ IN SOA ns1.test.local. admin-of-zone.server.ru. ( 2009070401 10800 3600 604800 86400 ) test.local. IN NS ns1.test.local. test.local. IN NS ns2.test.local. test.local. IN MX 10 mail test.local. IN MX 20 mail test.local. IN A 192.168.0.100 www IN A 192.168.0.100 ftp IN A 192.168.0.100 mail IN A 192.168.0.100 * IN A 192.168.0.99 test.local. IN TXT "v=spf1 ip4:192.168.0.100 a mx ~all" ns1.test.local. IN A 192.168.0.100 ns2.test.local. IN A 192.168.1.100
Конфигурирование сервера
Пересылка запросов
Чтоб наш сервер мог обрабатывать все DNS-запросы, а не только для его зон, необходимо указать серверы для форвардинга (пересылки) запрсов. Для этого в файле /var/lib/bind/etc/options.conf прописываем строку с адресами серверов провайдера (или других общедоступных), те что были прописаны в /etc/resolv.conf или получены от провайдера динамически:
В принципе, после этого можно запустить сервер (или перечитать конфиг) и указать в /etc/resolv.conf единственный неймсервер nameserver 127.0.0.1. Теперь запросы будут идти через наш сервер и кешироваться в нём.
Трансфер зон
Для полного запрета трансфера (например, на slave-сервере) добавляем опцию:
Или указать IP-адреса серверов, для которых разрешено скачивание зон (на master-сервере):
Ссылки на файлы зон
В файле /var/lib/bind/etc/local.conf в конец дописываем файлы зон, которые размещены на этом сервере. Для каждого файла следует создать отдельную секцию.
// Add other zones here zone "test.local" < type master; file "master/test.local"; >;
Кому отвечать
Можно определить хосты/сети, которые будет обслуживать bind:
Как отвечать
При тестировании сервера DNS при помощи команды dig видно, что вместе с запрашиваемым типом записи сервер может отдавать дополнительную информацию. Например, при запроса записи типа A могут быть отданы так же записи NS в AUTHORITY SECTION и дополнительные записи в ADDITIONAL SECTION. Ранее эти данные отдавались по дефолту, а где-то с версии 9.13 по дефолту отдаваться перестали.
Управляет отдачей директива minimal-responses в секции options конфига. Для отдачи записей NS в AUTHORITY SECTION следует отключить этот «минимизированный ответ»:
Как вернуть ADDITIONAL SECTION пока не знаю
Управление
Полный список доступных опций управления сервером при помощи rndc можно получить без указания параметров:
По дефолту будет управление сервером локальной машины. Наиболее часто используемые:
$ sudo rndc reload - перечитать конфиги сервера и зон $ sudo rndc reconfig - перечитать конфиги сервера и новых зон (при добавлении зон) $ sudo rndc flushname yandex.ru - очистка кэша для указанного доменного имени
Имеется управление сервером на уровне службы:
Или, правильнее (современнее, кошернее — ненужное вычеркнуть), так:
Ссылки
[1] — подробное руководство по директивам конфигов.
[2] — краткое руководство по установке BIND + ссылки
[3] — небольшой FAQ по записям DNS, что-куда нужно прописать, чтоб заработало.
DhcpBind
Цель — создание maxимально miniмальных конфигурационных файлов используя установки по умолчанию для создания базовой работоспособной конфигурации ALT дистрибутивов. Настраивать будем:
- доменное имя — test.int
- сеть — 192.168.167.0/24
- сервер для всего — 192.168.167.1 (server.test.int)
- роутер — 192.168.167.3
- DNS провайдера — 194.67.1.154, 194.67.1.155
- клиенты — WinXP
Инсталляция необходимых пакетов
# apt-get install dhcpd # apt-get install bind
Включаем автоматический запуск при загрузке системы:
# chkconfig dhcpd on # chkconfig bind on
# service bind start # service dhcpd start
Запуск необходим для создания файла rndc.key, который будет использоваться. Просматриваем /var/log/syslog/messages на предмет возможных проблем.
Настройка DHCP
# touch /etc/dhcp/dhcpd.conf # chown root: /etc/dhcp/dhcpd.conf # chmod 0600 /etc/dhcp/dhcpd.conf
#Конфигурация ISC DHCP-сервера # Только мы можем выдавать IP адреса authoritative; # — Начало опций динамического обновления # Имя домена ddns-domainname «test.int»; # Метод обновления записей сервера DNS ddns-update-style interim; # Добавление ключа include «/var/lib/bind/etc/rndc.key»; # Запрет клиенту обновлять записи A и PTR сервера DNS deny client-updates; # Локальный домен zone test.int. < primary 192.168.167.1 ; key "rndc-key" ; ># Обратная зона zone 167.168.192.in-addr.arpa. < primary 192.168.167.1 ; key "rndc-key" ; ># — Окончание опций динамического обновления # — Глобальные опции # Локальный DNS сервер option domain-name-servers 192.168.167.1; # WINS сервер option netbios-name-servers 192.168.167.1; # Маршрутизатор option routers 192.168.167.3; # сеть, маска сети и диапазон раздаваемых IP subnet 192.168.167.0 netmask 255.255.255.0
Просматриваем /var/log/syslog/messages на предмет возможных проблем.
Настройка DNS
Редактируем файл /var/lib/bind/etc/local.conf. Раскомментируем добавление rfc1918 зон и добавим нашу локальную зону:
// Consider adding the 1918 zones here, if they are not used in your organization. include "/etc/rfc1918.conf"; // Add other zones here zone "test.int" < type master; file "/zone/test.int.zone" ; forwarders <>; allow-update < key rndc-key; >; >; zone "167.168.192.in-addr.arpa" < type master; file "/zone/167.168.192.rev" ; forwarders <>; allow-update < key rndc-key ; >; >;
В файле rfc1918.conf закомментируем последнюю запись:
. zone "31.172.in-addr.arpa" < type master; file "empty"; allow-update ; >; //zone "168.192.in-addr.arpa"< type master; file "empty"; allow-update ; >;
Создаем файлы зон прямой ( test.int.zone ) и обратной ( 167.168.192.rev ):
# touch /var/lib/bind/zone/test.int.zone # chown named. /var/lib/bind/zone/test.int.zone # chmod 600 /var/lib/bind/zone/test.int.zone # touch /var/lib/bind/zone/167.168.192.rev # chown named. /var/lib/bind/zone/167.168.192.rev # chmod 600 /var/lib/bind/zone/167.168.192.rev
$TTL 1D @ IN SOA server.test.int. root.test.int. ( 2005072522 ; serial 12H ; refresh 1H ; retry 1W ; expire 1H ; minimum ) NS server.test.int. MX 10 server.test.int. ; Static router A 192.168.167.1 server A 192.168.167.3 www CNAME server
$TTL 1D @ IN SOA server.test.int. root.test.int. ( 2005072502 ; serial 12H ; refresh 1H ; retry 1W ; expire 1H ; minimum ) NS server.test.int. ; Static 1 PTR router.test.int. 3 PTR server.test.int.
/* раскомментируем: forward only; /* раскомментируем и добавим DNS провайдера forwarders < 194.67.1.154; 194.67.1.155; >; /* раскомментируем: allow-query < localnets; >; allow-recursion < localnets; >; /* добавим allow-transfer < none; >;
Просматриваем /var/log/syslog/messages на предмет возможных проблем. Меняем права для доступа директории var/lib/bind/zone/:
Проверяем работоспособность созданных конфигураций серверов. На машине с WinXP выполняем:
>ipconfig/release >ipconfig/renew >ipconfig/all
И если вывод последней команды нас удовлетворяет, последний раз смотрим /var/log/syslog/messages. Если ошибок нет, то считаем задачу выполненной.
Дальнейшие изменения конфигурационных файлов выполняются по вкусу, необходимости и знаниям.