192.168.93.1 - адрес сервера в локальной сети
srv93 - имя сервера
ДНС серверы:
213.234.192.7; 195.14.50.1; 8.8.8.8Приступим...
1. Устанавливаем bind9 и сразу останавливааем:
$ sudo aptitude install bind9
$ sudo /etc/init.d/bind9 stop
2. Подготавливаем окружение chroot:
11. Редактируем файл конфигурации /etc/bind/local.rev:
13. Проверяем:
У меня оказалось, что утилита nslookup и dig не установлена – пришлось поставить пакеты host и dnsutils командой
$ sudo aptitude install host dnsutils
1. Устанавливаем bind9 и сразу останавливааем:
$ sudo aptitude install bind9
$ sudo /etc/init.d/bind9 stop
2. Подготавливаем окружение chroot:
$ sudo mkdir -p /var/chroot/bind9/{etc,dev,var/cache/bind,var/run/bind/run,var/log,var/cache/bind/master,var/cache/bind/slave}
$ sudo chown -R bind:bind /var/chroot/bind9/var/*
$ sudo mknod /var/chroot/bind9/dev/null c 1 3
$ sudo mknod /var/chroot/bind9/dev/random c 1 8
$ sudo mv /etc/bind /var/chroot/bind9/etc
$ sudo ln -s /var/chroot/bind9/etc/bind /etc/bind
$ sudo ln -s /var/chroot/bind9/var/log /var/log/named
$ sudo ln -s /var/chroot/bind9/var/cache/bind/master /var/chroot/bind9/etc/bind/master
$ sudo ln -s /var/chroot/bind9/var/cache/bind/slave /var/chroot/bind9/etc/bind/slave
3. Создаём файл /etc/rsyslog.d/bind-chroot.conf следующего содержания:
$ sudo cat /etc/rsyslog.d/bind-chroot.conf
$AddUnixListenSocket /var/chroot/bind9/dev/log
4. Редактируем /etc/default/bind9:
$ sudo cat /etc/default/bind9
# run resolvconf?
RESOLVCONF=yes
# startup options for the server
OPTIONS="-u bind -t /var/chroot/bind9"
5. Для того, чтобы в логах сервера было указано правильное время с учётом часового пояса, а не по Гринвичу, выполняем:
$ sudo cp /etc/localtime /var/chroot/bind9/etc/
6. Теперь рестартуем rsyslog и стартуем bind9
$ sudo /etc/init.d/rsyslog restart
$ sudo /etc/init.d/bind9 start
7. Редактируем файл конфигурации /etc/bind/named.conf.options:
options {
version "DNS? It's not DNS!";
directory "/var/cache/bind";
allow-recursion {"homenet";};
allow-query {127.0.0.1;192.168.93.0/24;};
forwarders {
213.234.192.7;
195.14.50.1;
8.8.8.8;
};
//auth-nxdomain no; # conform to RFC1035
listen-on-v6 { none; };
listen-on {
127.0.0.1;
192.168.93.1;
};
};
8. Редактируем файл конфигурации /etc/bind/named.conf:
acl homenet {
192.168.93.0/24;
127.0.0.1;
213.234.192.7;
195.14.50.1;
8.8.8.8;
};
include "/etc/bind/named.conf.options";
include "/etc/bind/rndc.key";
controls {
inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys {rndc-key;};
};
include "/etc/bind/named.conf.default-zones";
include "/etc/bind/myzones.conf";
logging {
channel myfile {
file "/var/log/named.log" versions 10 size 1m;
severity dynamic;
print-category yes;
print-severity yes;
print-time yes;
};
category config {
myfile;
};
category default {
myfile;
};
category queries {
myfile;
};
// Вот LAME сервера лучше сразу сбрасывать в null. Достают они ну просто
// катастрофически! (Для тех кто в танке, - это когда сервер не обслуживает
// делегированную ему зону)
category lame-servers {
null;
};
};
9. Редактируем файл конфигурации /etc/bind/myzones.conf:
zone "ex." {
type master;
file "/etc/bind/db.ex"; };
10. Редактируем файл конфигурации /etc/bind/db.ex:
$TTL 86400 ; 1 day
@ IN SOA ex. root.ex. (
2012012201 ; serial
10800 ; refresh (3 hours)
900 ; retry (15 minutes)
604800 ; expire (1 week)
86400 ; minimum (1 day)
)
@ IN NS ns.ex.
ns A 127.0.0.1
server A 192.168.93.1 ; адрес вашего сервера в вашей сети
$TTL 604800
@ IN SOA ex. root.ex. (
2009031404 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS localhost.
1 PTR srv93.ex.
12. Редактируем файл конфигурации /etc/bind/named.conf.default-zones:
zone "." {
type hint;
file "/etc/bind/db.root";
};
// be authoritative for the localhost forward and reverse zones, and for
// broadcast zones as per RFC 1912
zone "localhost" {
type master;
file "/etc/bind/db.local";
};
zone "127.in-addr.arpa" {
type master;
file "/etc/bind/db.127";
};
zone "0.in-addr.arpa" {
type master;
file "/etc/bind/db.0";
};
zone "255.in-addr.arpa" {
type master;
file "/etc/bind/db.255";
};
zone "93.168.192.in-addr.arpa" {
type master;
file "/etc/bind/local.rev";
};
$ sudo dig ya.ru
; <<>> DiG 9.7.3 <<>> ya.ru
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12068
;; flags: qr rd ra; QUERY: 1, ANSWER: 8, AUTHORITY: 13, ADDITIONAL: 0
;; QUESTION SECTION:
;ya.ru. IN A
;; ANSWER SECTION:
ya.ru. 179 IN A 213.180.193.3
ya.ru. 179 IN A 213.180.204.3
ya.ru. 179 IN A 77.88.21.3
ya.ru. 179 IN A 87.250.250.3
ya.ru. 179 IN A 87.250.250.203
ya.ru. 179 IN A 87.250.251.3
ya.ru. 179 IN A 93.158.134.3
ya.ru. 179 IN A 93.158.134.203
;; AUTHORITY SECTION:
. 70154 IN NS g.root-servers.net.
. 70154 IN NS l.root-servers.net.
. 70154 IN NS j.root-servers.net.
. 70154 IN NS f.root-servers.net.
. 70154 IN NS a.root-servers.net.
. 70154 IN NS i.root-servers.net.
. 70154 IN NS d.root-servers.net.
. 70154 IN NS k.root-servers.net.
. 70154 IN NS m.root-servers.net.
. 70154 IN NS e.root-servers.net.
. 70154 IN NS h.root-servers.net.
. 70154 IN NS c.root-servers.net.
. 70154 IN NS b.root-servers.net.
;; Query time: 1 msec
;; SERVER: 192.168.93.1#53(192.168.93.1)
;; WHEN: Sun Jan 22 14:29:21 2012
;; MSG SIZE rcvd: 362
$ sudo nslookup
> set q=any
> ya.ru
Server: 192.168.93.1
Address: 192.168.93.1#53
Non-authoritative answer:
Name: ya.ru
Address: 93.158.134.203
Name: ya.ru
Address: 213.180.193.3
Name: ya.ru
Address: 213.180.204.3
Name: ya.ru
Address: 77.88.21.3
Name: ya.ru
Address: 87.250.250.3
Name: ya.ru
Address: 87.250.250.203
Name: ya.ru
Address: 87.250.251.3
Name: ya.ru
Address: 93.158.134.3
Authoritative answers can be found from:
. nameserver = a.root-servers.net.
. nameserver = m.root-servers.net.
. nameserver = d.root-servers.net.
. nameserver = f.root-servers.net.
. nameserver = b.root-servers.net.
. nameserver = h.root-servers.net.
. nameserver = e.root-servers.net.
. nameserver = l.root-servers.net.
. nameserver = j.root-servers.net.
. nameserver = g.root-servers.net.
. nameserver = c.root-servers.net.
. nameserver = i.root-servers.net.
. nameserver = k.root-servers.net.
У меня оказалось, что утилита nslookup и dig не установлена – пришлось поставить пакеты host и dnsutils командой
$ sudo aptitude install host dnsutils
Настройка BIND 9 в chroot для debian завершена!
Комментариев нет:
Отправить комментарий