LINUX.ORG.RU
ФорумAdmin

bind для Win DNS


0

1

1)Имеем Домен на 2003 windows (Active directory,dns,сервер терминалов). 2) Имеем прокси на debian(sams2+squid+bind) 3)В настройках сети у конечного пользователя 1 dns - (Виндовый)

Задача настроить бинд для приема и отправления dns запросов от вин сервера в нет и обратно

после установки bind9 на debian

named.conf 
include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";
named.conf.default-zones 
// prime the server with knowledge of the root servers
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";
};
named.conf.local 
//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

named.conf.options 
options {
        directory "/var/cache/bind";

        // If there is a firewall between you and nameservers you want
        // to talk to, you may need to fix the firewall to allow multiple
        // ports to talk.  See http://www.kb.cert.org/vuls/id/800113

        // If your ISP provided one or more IP addresses for stable 
        // nameservers, you probably want to use them as forwarders.  
        // Uncomment the following block, and insert the addresses replacing 
        // the all-0's placeholder.

        // forwarders {
        //      0.0.0.0;
        // };

        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; };
};

Собственно хочу привести named.conf.options к виду. Т.е. хочу чтобы доступ к днс bind имела только моя подсетка ip6 мне не нужен.

acl mynetwork {192.168.0.0/24; 127.0.0.1; };

 options {
     directory "/var/cache/bind";
     auth-nxdomain no;
     listen-on-v6 { none; };
     allow-query { mynetwork; };
 };

Должно работать так : клиент посылает dns запросы win серверу если тот чего не знает (к примеру идет запрос на ip или имя не из локальной сети) то пересылает запрос bind далее они идут к корневым серверам. Поскажите может что упустил ? Нужно ли как нибудь защищать dns трафик (к примеру правила на фаерволе)?Вообще безопасна ли такая связка для win dns ?

★★

Должно работать так : клиент посылает dns запросы win серверу если тот чего не знает (к примеру идет запрос на ip или имя не из локальной сети) то пересылает запрос bind далее они идут к корневым серверам.

Виндовый DNS не использует форвардинг, пока у него прописаны корневые сервера. Т.е. чтобы заработал форвардинг в настройках виндового DNS нужно выкосить ВСЕ корневые сервера.

Нужно ли как нибудь защищать dns трафик (к примеру правила на фаерволе)?

В принципе будет достаточно если bind будет слушать только на интерфейсе в локалке (listen-on).

Вообще безопасна ли такая связка для win dns?

Вполне. Так обычно и делается. Можно ещё добавить bind'у вторичную или даже forward-зону для виндового домена и, соответсвенно, отдавать клиентам два DNS-сервера.

Ну и я бы, как намёкивал раньше, заменил бы allow-query на listen-on.

MumiyTroll ★★★ ()
Ответ на: комментарий от MumiyTroll

по поводу listen-on вы это имели в виду

acl mynetwork {192.168.0.0/24; 127.0.0.1; };

 options {
     directory "/var/cache/bind";
     auth-nxdomain no;
     listen-on-v6 { none; };
     listen-on { mynetwork; };
 };

гмм может имеет смысл сделать так ? (192.168.4.1 - лан ип win2003 с днс )думаю что давать доступ всем компам из локалки к днс нет смысла ,ведь всеравно оно все будет идти через windns (192.168.4.1) или предыдущего будет достаточно ?

acl mynetwork {192.168.0.0/24; 127.0.0.1; };

 options {
     version "no version info";
     allow-transfer { none; };
     directory "/var/cache/bind";
     auth-nxdomain no;
     listen-on-v6 { none; };
     listen-on port 53 { 127.0.0.1;192.168.4.1; };   
     allow-query { 192.168.4.1; };
     allow-recursion { 127.0.0.1;192.168.4.1; };
 };
drac753 ★★ ()
Последнее исправление: drac753 (всего исправлений: 1)
Ответ на: комментарий от drac753
acl mynetwork {192.168.0.0/24; 127.0.0.1; };
....
    listen-on { mynetwork; };

Неправильно. В listen-on указываются адреса интерфейсов:

....
    listen-on { 192.168.4.Х; 127.0.0.1; };
    listen-on port 53 { 127.0.0.1;192.168.4.1; };
    allow-query { 192.168.4.1; };
    allow-recursion { 127.0.0.1;192.168.4.1; };

Ещё раз - в listen-on указывается IP-адрес интерфейса, на котором bind должен ожидать запросы. А у вас там адрес виндового DNS'а.

Ну и к вопросу безопасности DNS - ЗАЧЕМ ограничивать возможность определения адресов клиентами только на единственном сервере? Если Вы думаете, что таким образом кого-то от чего-то защитите, то Вы заблуждаетесь.

А вот если Ваш единственный (для клиентов) DNS накроется медным тазом, то пользователи не только не смогут работать, но и так же не смогут приятно провести время в Интернете пока Вы будете его (сервер) восстанавливать. Я конечно понимаю, что проблемы негров шерифа не волнуют, однако же наверное в Вашей сети больше одного сервера... И если, как я предлагал, у Вас на bind'е будет вторичная зона виндового домена, то пользователи смогут нормально работать с другими серверами в Вашей сети, пока виндовый же DNS неисправен.

И ещё раз - ограничение возможности определения адресов не имеет ничего общего с безопасностью!

MumiyTroll ★★★ ()
Ответ на: комментарий от MumiyTroll

по поводу ограничения понял спасибо за разъяснение

И если, как я предлагал, у Вас на bind'е будет вторичная зона виндового домена, то пользователи смогут нормально работать с другими серверами в Вашей сети, пока виндовый же DNS неисправен.
Тоесть делаем - так в настройка сети у клиента 2 dns . 1)Dns- win 2)bind на проксике .Если вин сервер отключен то юзера могу ходить в нет используя bind ?

еще один вопрос привел named.conf.options(192.168.4.27 - lan ip bind)


root@debtest:/etc/bind# cat named.conf.options 
options {
        directory "/var/cache/bind";

        // If there is a firewall between you and nameservers you want
        // to talk to, you may need to fix the firewall to allow multiple
        // ports to talk.  See http://www.kb.cert.org/vuls/id/800113

        // If your ISP provided one or more IP addresses for stable 
        // nameservers, you probably want to use them as forwarders.  
        // Uncomment the following block, and insert the addresses replacing 
        // the all-0's placeholder.

        // forwarders {
        //      0.0.0.0;
        // };
        listen-on { 192.168.4.27;127.0.0.1; };
        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; };
};

Вычистил из dns настроек 2003 все корневые сервера и добавил свой - debtest.test2.local (192.168.4.27) иду в свойства dns на win 2003 и делаю запустить nslookup прописывю fqdn к примеру habrahabr.ru и получаю следующее
nslookup habrahabr.ru
Server:  test.test2.local
Address:  192.168.4.1

DNS request timed out.
    timeout was 2 seconds.
*** Request to test.test2.local 
nslookup habrahabr.ru
Server:  test.test2.local
Address:  192.168.4.1

DNS request timed out.
    timeout was 2 seconds.
*** Request to test.test2.local timed-out

nslookup habrahabr.ru
Server:  test.test2.local
Address:  192.168.4.1
Non-authoritative answer:
Name:    habrahabr.ru
Address:  212.24.43.44
Такая ситуация повтарялась и с http://www.mail.ru и c http://www.rambler.ru причем иногда проскаивает с 2-ого оч редко с 1-ого раза, возможно причина в этом timeout was 2 seconds? Можно увеличить время хотябы до 5 сек ?

drac753 ★★ ()
Последнее исправление: drac753 (всего исправлений: 1)
Ответ на: комментарий от drac753

Тоесть делаем - так в настройка сети у клиента 2 dns . 1)Dns- win 2)bind на проксике .Если вин сервер отключен то юзера могу ходить в нет используя bind ?

Точно!

А для полного кайфа на бинде стоит сделать вторичную зону, чтобы внутренние ресурсы одинаково хорошо ресолвились обоими серверами.

Вычистил из dns настроек 2003 все корневые сервера и добавил свой - debtest.test2.local (192.168.4.27)

Да нет же. Список корневых серверов на винде должен быть ВООБЩЕ ПУСТОЙ. А свой сервер прописываете в «серверы пересылки».

MumiyTroll ★★★ ()
Ответ на: комментарий от MumiyTroll

понял, спасибо огромное за оказаную помощь !!!

drac753 ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.