Настройка BIND (Named) на компьютере с одним внешним айпи-адресом для домена второго уровня. В примерах.
Небольшое описание возможностей BIND.
acl Access Control Lists.
Определяет один из нескольких списков контроля доступа, группы компьютеров или пользователей.
acl acl-name { address_match_list; # принимает значения none any localhost и списки ip # 192.168.0.0/24; Обрабатывать # !192.168.1.0/24; Отрицание ip };
controls
Описывает и контролирует доступ к каналу управления удаленным администратором при использовании rndc.
#Этак команда создает rndc.key # rndc-confgen -a
controls { inet inet_spec [inet_spec] ; };
key "rndc-remote" { algorithm hmac-md5; secret "OmItW1lOyLVUEuvv+Fme+Q=="; }; controls { // local host - default key inet 127.0.0.1 allow {localhost;}; inet * port 7766 allow {"rndc-users";} keys {"rndc-remote";}; };
include
Позволяет включение внешних файлов в named.conf для административного удобства или по соображениям безопасности.
include "file-name";
key
Определяет общие ключи, используемые для контроля и проверки подлинности операций, таких как Dynamic DNS (DDNS), а также удаленного управления каналом.
logging
Задает местоположение, уровень ведения логов BIND.
#пример logging{ channel simple_log { file "/var/log/named/bind.log" versions 3 size 5m; severity warning; print-time yes; print-severity yes; print-category yes; }; category default{ simple_log; }; };
lwres
Определяет свойства BIND.
options
Опции которые влияют на все зоны, ну и вообще разнве опции =).
Давольно таки большой список если хтите изучайте.
server
Описываются положения доступности сервера.
server ip-addr { [ bogus yes | no ; ] [ edns yes | no ; ] [ keys "key-name"; ["key-name"; ... ; ] [ provide-ixfr yes | no; ] [ request-ixfr yes | no; ] [ transfers number; ] [ transfer-format ( one-answer | many-answers ); ] ;}
zone
Описание различных зон.
Пример простого конфига.
#/etc/namedb/named.conf
acl "lannet" { 192.168.0.0/24; }; # подсеть которой разрешено обращатся к серверу
#настройка логов, логи будут писаться сислогом в /var/log/messges
logging {
channel syslog {
syslog daemon;
severity debug;
print-category yes;
print-severity yes;
};
category xfer-in { syslog; };
category xfer-out { syslog; };
category config { syslog; };
category default { syslog; };
};
options {
directory "/etc/namedb/";
pid-file "/var/run/named/pid";
dump-file "/var/tmp/named_dump.db";
statistics-file "/var/tmp/named.stats";
forwarders { 91.144.134.3; }; #dns сервер моего провайдера
recursion yes;
allow-recursion { "lannet"; 127.0.0.1; }; #разрешаются врекурсивные запросов к серверу
allow-query { "lannet"; 127.0.0.1; }; #кому разрешено обращатся к нашнму серверу
version "0.000001";
};
zone "." { # корневая зона
type hint;
file "named.root";
};
zone "localhost" {
type master;
file "master/localhost";
allow-query { 127.0.0.1; };
};
zone "0.0.127.in-addr.arpa" {
type master;
file "master/localhost.rev";
allow-query { 127.0.0.1; };
};
zone "lan" { # Пример зоны первого уровня
type master;
file "master/lan";
allow-query { "lannet"; 127.0.0.1; };
};
zone "0.168.192.in-addr.arpa" {
type master;
file "master/lan.rev";
allow-query { "lannet"; 127.0.0.1; };
};
#/etc/namedb/master/lan $TTL 1d $ORIGIN lan. @ IN SOA lan. root.lan. ( 2010072602 ; Serial yymmddxx 3600 ; Refresh 900 ; Retry 3600000 ; Expire 3600 ) ; Minimum IN NS ns.lan. IN A 192.168.0.1 MX 10 ns.lan. IN TXT "v=spf1 mx ~all" ;local ns IN A 192.168.0.1 host1 IN A 192.168.0.2
/etc/namedb/master/lan.rev $TTL 1d $ORIGIN 0.168.192.in-addr.arpa. @ IN SOA lan. root.lan. ( 2010072603 ; Serial yymmddxx 3600 ; Refresh 900 ; Retry 3600000 ; Expire 3600 ) ; Minimum IN NS ns.lan. IN A 192.168.0.1 MX 10 ns.lan. IN TXT "v=spf1 mx ~all" ;local ns IN A 192.168.0.1 host1 IN A 192.168.0.2
Не забудте записать в rc.conf
named_enable="YES" named_flags="-u bind"
Запустим bind
# service named start Starting named. #cat /var/log/messeges | grep named named[12025]: starting BIND 9.6.2-P1 -u bind -t /var/named -u bind named[12025]:command channel listening on 127.0.0.1#953 named[12025]:command channel listening on ::1#953 named[12025]:the working directory is not writable #данное сообщение не критично named[12025]:general: notice: running
Хорошая электронная книга про BIND http://www.zytrax.com/books/dns/