вторник, 12 октября 2010 г.

Bind 9

BIND 9
Давненько я ничего не писал, ну чтож приступим...
В этой заметке будет рассмотрена конфигурация DNS сервера Bind версии 9 на примере CentOS 5. Разочарую сразу, никаких "откровений" или тонкостей настроек не ждите, будет рассмотрена простенькая конфигурация, единственное что мы сделаем так это настроим Bind так чтобы он работал в chroot окружении. А работать он у нас будет в качестве DNS форварда и плюс ко всему будет поддерживать собственную зону example.com, видимую только из локальной сети. (Для большинства небольших компаний этого хватит за глаза, ну а тем кто хочет большего пара ссылок в конце заметки и google в помощь.)

yum install bind bind-chroot caching-nameserver

(пакет bind - собственно сам dns сервер
пакет bind-chroot - файлы конфигурации и скрипты необходимые для переноса bind в chroot
пакет caching-nameserver - файлы конфигурации "заточенные" для работы bind в качестве dns форварда и кеширующего сервера)
После установки пакетов, лезем в /var/named/chroot/etc и открываем в любимом текстовом редакторе файлик named.conf.

options {
listen-on port 53 { 127.0.0.1; 192.168.0.1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
                  statistics-file "/var/named/data/named_stats.txt";
                  memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { localhost; 192.168.0.0/24; };
allow-query-cache { localhost; 192.168.0.0/24; };
                  };
                  logging {
                  channel default_debug {
                  file "data/named.run";
                  severity dynamic;
                  };
};
view localhost_resolver {
match-clients { localhost; };
match-destinations { localhost; };
recursion yes;
include "/etc/named.rfc1912.zones";
};

view chop_network {
match-clients { 192.168.0.0/24; };
match-destinations { 192.168.0.0/24; };
recursion yes;
forwarders { 8.8.8.8; 8.8.4.4; };
forward only;
include "/etc/named.rfc1912.zones";
zone "example.com" IN {
type master;
file "/etc/example.zone";
allow-update { none; };
};
};

Думаю, что поменять вы уже и так догадались (да-да ip адреса и названия зон).
После чего нам необходимо создать файл описания зоны example.com
touch example.zone
ну и копипастим туда примерно это:
$TTL 86400
@             IN SOA              example.com. root.example.com. (
100 ; serial
1H ; refresh
1M ; retry
1W ; expiry
1D) ; minimum
@            IN NS                       192.168.0.1
@            IN A                         192.168.0.1
ns1          IN A                         192.168.0.1
@           IN MX         10         192.168.0.1
mail         IN A                         192.168.0.1
WWW   IN A                          192.168.0.1

ну и потом конечно создаем симлинк (мягкую ссылку) на этот файлик
ln -s /var/named/chroot/etc/example.zone /etc/example.zone

Ну собственно вот и все далее:
service named start
chkconfig named on
Удачи!