OpenBSD — Настраиваем named в режиме Forwarding

Все что нам нужно для нормальной работы named в OpenBSD присутствует сразу после установки. Ничего я не доустанавливал — только чуток подправил конфиг «под себя» и named заработал как миленький 🙂

Сразу оговорюсь, что нужды у меня были весьма скромные — просто заставить работать named в режиме forwarding на DNS-сервера провайдера (в данном случае Cyfra).

Все что касается named в OpenBSD находится в директории /var/named. Переходим под root и идем туда:

root@gw:~# cd /var/named/
root@gw:/var/named#

Теперь смотрим что у нас тут есть:

root@gw:/var/named# ls -l
total 24
drwxr-xr-x  2 root  wheel  512 Mar 17 18:52 dev
drwxr-x---  2 root  named  512 Feb 14 00:16 etc
drwxr-xr-x  2 root  wheel  512 Jul 10  2009 master
drwxrwxr-x  2 root  named  512 Jul 10  2009 slave
drwxr-xr-x  2 root  wheel  512 Jul 10  2009 standard
drwxrwxr-x  2 root  named  512 Jul 10  2009 tmp
root@gw:/var/named#

Думаю понятно каждому что для настройки named надо идти в директориб etc — так и делаем:

root@gw:/var/named# cd etc/
root@gw:/var/named/etc#

Смотрим что за конфиги у нас тут есть:

root@gw:/var/named/etc# ls -l
total 28
-rw-r-----  1 root  named  1561 Jul 10  2009 named-dual.conf
-rw-r-----  1 root  named  1348 Jul 10  2009 named-simple.conf
-rw-r-----  1 root  named  1472 Feb 14 00:15 named.conf
-rw-r-----  1 root  named    77 Jan 16 09:35 rndc.key
-rw-r--r--  1 root  wheel  3002 Jul 10  2009 root.hint
root@gw:/var/named/etc#

Итак видим главный конфиг — named.conf Открываем его для редактирования любимым редактором, мне нравится vim:

root@gw:/var/named/etc# vim named.conf

И добавляем то что нам нужно для того чтобы named смог:

  • работать в режиме forwarding
  • принимал запросы от нашего сервера и клиентов из внутрисети

У меня после внесенных правок конфиг приобрел такой вид:

root@gw:/var/named/etc# cat named.conf
// $OpenBSD: named-simple.conf,v 1.9 2008/08/29 11:47:49 jakob Exp $
//
// Example file for a simple named configuration, processing both
// recursive and authoritative queries using one cache.

// Update this list to include only the networks for which you want
// to execute recursive queries. The default setting allows all hosts
// on any IPv4 networks for which the system has an interface, and
// the IPv6 localhost address.
// Для удобства создаем группу в которую входит сам сервер и клиенты внутрисети
acl clients {
127.0.0.1;
192.168.100.0/24;
};

options {
version "";     // Удаляем данные об версии named в ответах

listen-on    { 192.168.100.2; 127.0.0.1; }; // "слушаем запросы" только тут
listen-on-v6 { none; }; // Отрубаем IPv6

empty-zones-enable yes;
allow-query { clients; }; // Розрешаем запросы для нашей группы clients
allow-recursion { clients; }; // Розрешаем рекурсивные запросы для clients
forward first; // Запросы перенаправляем на DNS сервера провайдера Cyfra
forwarders { 62.80.160.130; 62.80.160.140; }; // Cyfra-вские DNS - servers
};

logging {
category lame-servers { null; };
};

// Standard zones
//
zone "." {
type hint;
file "etc/root.hint";
};

zone "localhost" {
type master;
file "standard/localhost";
allow-transfer { localhost; };
};

zone "127.in-addr.arpa" {
type master;
file "standard/loopback";
allow-transfer { localhost; };
};

zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" {
type master;
file "standard/loopback6.arpa";
allow-transfer { localhost; };
};

include "/etc/rndc.key";

// Master zones
//
//zone "myzone.net" {
//      type master;
//      file "master/myzone.net";
//};

// Slave zones
//
//zone "otherzone.net" {
//      type slave;
//      file "slave/otherzone.net";
//      masters { 192.0.2.1; [...;] };
//};
root@gw:/var/named/etc#

Чтобы управлять named-ом с помощью утилитки rndc — необходимо вставить такой вот код в конфиг:

include "/etc/rndc.key";

Иначе rndc будет ругаться на отсутствие ключа.

С настройкой закончили 🙂 Ну какбы! Непомешает и проверить правильность конфига. Для проверки конфига named есть специальный скриптик — named-checkconf. Использовать его очень просто:

root@gw:~# named-checkconf /var/named/etc/named.conf
root@gw:~#

Если в ответ на такую команду тишина — значит все путем, конфиг не содержит синтаксических ошибок и может быть использован. Это не означает что он будет работать так как вы задумали, но дает уверенность что named с ним запустится 🙂

Запускаю named командочкой:

root@gw:/var/named/etc# named -4

Для того чтобы он автоматически запускался при старте сервера добавляем в /etc/rc.conf.local такую строчку:

root@gw:/var/named/etc# grep -i named /etc/rc.conf.local
### Enable Named ###
named_flags="-4"
root@gw:/var/named/etc#

Вот и все 🙂 Как видите — проще простого. Работает исправно и стабильно — пока глюков не наблюдал 🙂

Всем удачи!

  1. Комментов пока нет

  1. Трэкбэков пока нет.

Why ask?