Страница 1 из 1

Нужна помощь в конфигурации Bind9 под FreeBSD

Добавлено: 2012-02-23 23:04:53
Гость
Уважаемые форумчане, огромная просьба помочь в настройке DNS. Я прочитал тонну сайтов на эту тему, но конкретно не нашел подходящего мануала с моей конфигурацией. Ставлю DNS первый раз. Имею в вооружении только голую теорию. Начитавшись форумов, примерно прикинул конфигурацию будущего ДНС. Вот решил ее выложить на форум с надеждой на помощь в оценке и подсказки.

Возник вопрос, как настроить Bind 9 под FreeBSD?
Дано:
1. Роутер со статическим ip адресом
2. Роутер смотрит в локальную сеть 192.168.1.0 и имеет соответственно ip 192.168.1.1
3. В локалке стоят 3 компа 192.168.1.2, 192.168.1.3 и 192.168.1.50
4. На 192.168.1.50 стоит FreeBSD
5. FreeBSD имеет 2 сетевые карты 192.168.1.50 и 172.16.0.1
6. На FreeBSD настроен NAT ядро собрано с IPFW и установлен Bind 9

rc.conf

Код: Выделить всё

hostname="ns.example.ru"
defaultrouter="192.168.1.1"
ifconfig_le0="inet 192.168.1.50 netmask 255.255.255.0"
linux_enable="YES"
sshd_enable="YES"
# Интернет-шлюз
ifconfig_le1="inet 172.16.0.1 netmask 255.255.0.0"
gateway_enable="YES"
natd_enable="YES"
natd_interface="le0"
#natd_flags="-f /etc/redirect.conf"
firewall_enable="YES"
firewall_type="open"
#firewall_script="/etc/firewall.conf"
router_enable="YES"
router="/sbin/routed"
router_flags="-q"
7. 172.16.0.2 имя http://www.example.ru стоит HTTP Apache
8. 172.16.0.3 имя mail.example.ru стоит Postfix
9. Второй DNS используется на сервисе ns1.twisted4life.com и имеет ip 202.157.182.142
Задача: настроить DNS Bind для работы Веб сервера и почты.


Файлы конфигурации
/etc/namedb/named.conf

Код: Выделить всё

options {
        
        directory       "/etc/namedb";
        pid-file        "/var/run/named/pid";
        dump-file       "/var/dump/named_dump.db";
        statistics-file "/var/stats/named.stats";

        listen-on       { 127.0.0.1; <внешний статический IP >; };

        disable-empty-zone "255.255.255.255.IN-ADDR.ARPA";
        disable-empty-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.0.IP6.ARPA";
        disable-empty-zone "1.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";

        forwarders {
                127.0.0.1; 192.168.1.1-(dns провайдера инета, который использует роутер);
        };

allow-recursion {
        127.0.0.1;  172.16.0.0/16;>;
};
        recursive-clients 30000;
};
 acl "trusted-dns" {
       202.157.182.142; <ip вторичного DNS>;
};
logging {
        category lame-servers { null; };
};

zone "." {
type hint;
        file "/etc/namedb/named.root";
};
zone "localhost" {
type master;
file "master/localhost";
};

zone "0.0.127.IN-ADDR.ARPA" {
    type master;
    file "master/localhost.rev";
};

zone "0.0.16.172.IN-ADDR.ARPA" {
    type master;
    file "master/0.0.16.172.IN-ADDR.ARPA";
};
zone "example.ru" {
     type master;
     file "master/example.ru";
     allow-transfer {202.157.182.142;};
};
===================================================================

Зона «localhost». Конфигурационный файл /etc/namedb/master/localhost

Код: Выделить всё

$TTL 3600

@ IN SOA localhost. root.localhost. (
2009070601 ; Serial
3600 ; Refresh
600 ; Retry
2419200 ; Expire
86400 ) ; Minimum

IN NS localhost.

IN A 127.0.0.1
==========================================================================


Зона «0.0.127.in-addr.arpa». Конфигурационный файл /etc/namedb/master/ localhost.rev

Код: Выделить всё

$TTL 3600

@ IN SOA localhost. root.localhost. (
2009070601 ; Serial
3600 ; Refresh
600 ; Retry
2419200 ; Expire
86400 ) ; Minimum

IN NS localhost.

1 IN PTR localhost.
=================================================================================

Зона "0.0.16.172.IN-ADDR.ARPA" Конфигурационный файл /etc/namedb/master/0.0.16.172.rev

Код: Выделить всё

$TTL 3600
@ IN SOA ns.example.ru. hostmaster.example.ru. (
2009082801 ; Serial
3600 ; Refresh
600 ; Retry
2419200 ; Expire
86400 ) ; Minimum

IN NS ns.example.ru.
IN NS ns1.twisted4life.com.

1 IN PTR http://www.example.ru
2 IN PTR mail.example.ru
==============================================================================================

Зона example.ru Конфигурационный файл /etc/namedb/master/example.ru

Код: Выделить всё

$TTL 2d
@               IN SOA          ns.example.ru.  hostmaster.example.ru. (
                                2011062100      ; serial
                                3h              ; refresh
                                1h              ; retry
                                1w              ; expiry
                                1d )            ; minimum

example.ru.     IN NS           ns.example.ru.

; сторонний вторичный dns-сервер
IN NS   ns1.twisted4life.com.

example.ru.     IN MX           10 mail.example.ru


; укажем, что веб сервер отвечает на адрес example.ru
example.ru.     IN A            внешний ip


; Адреса первичного и вторичного серверов dns
ns.example.ru             IN A            внешний ip
            
ns1.twisted4life.com   IN A         202.157.182.142   
; веб-сервер
www             IN A            внешний ip
ftp             IN CNAME        http://www.example.ru

; Почтовый сервер
mail             IN A            внешний ip
mail            IN CNAME        mail.example.ru
=====================================================================================================

Огромная просьба посмотреть, будет ли работать веб и почта с данной конфигурацией, а если нет, то кому не лень подправить.
И еще есть вопрос? нужно ли создавать обратную зону для внешнего ip?

Если все неправильно, то помогите пожалуйста выложите правильные конфиги.

PS Я уже всю голову сломал, на разных сайтах все ставят по разному, кто то ставит обратные зоны, кто то нет, вообщем я окончательно запутался. :cry:

Re: Нужна помощь в конфигурации Bind9 под FreeBSD

Добавлено: 2012-02-23 23:12:50
Ezhikoff
Почему то сообщение добавилось от имени Гость, хотя я вроде зашел под своим именем, теперь не могу подправить в
ftp IN CNAME http://www.example.ru должно быть http://www.example.ru
и 7 пункт 172.16.0.2 имя http://www.example.ru стоит HTTP Apache имя http://www.example.ru

Re: Нужна помощь в конфигурации Bind9 под FreeBSD

Добавлено: 2012-02-24 6:47:08
sadchok
Веб сервер и почтовик, должны быть доступны из внешки?

Re: Нужна помощь в конфигурации Bind9 под FreeBSD

Добавлено: 2012-02-24 9:33:24
Ezhikoff
Да, это обязательное условие.

Re: Нужна помощь в конфигурации Bind9 под FreeBSD

Добавлено: 2012-02-24 12:09:21
sadchok
Ezhikoff писал(а):Да, это обязательное условие.
Тогда для начала стоит разобраться с маршрутизацией.
Я бы например не стал включать динамическую маршрутизацию

Код: Выделить всё

 router_enable="YES"
router="/sbin/routed"
router_flags="-q"
и трансляцию адресов

Код: Выделить всё

natd_enable="YES"
natd_interface="le0"
#natd_flags="-f /etc/redirect.conf"
Просто указал бы роутеру маршрут к подсети 172.16.0.0 со шлюзом на 192.168.1.50
Далее пробросил порты на роутере для веб на 172.16.0.2 и почты на 172.16.0.3 (раз вы используете серые адреса значит на роутере уже пашет NAT)
Далее в панели управления DNS сервера (того что указан как ответственный при регистрации домена) внес записи

Код: Выделить всё

IN MX   10 mail.example.ru
и
mail.example.ru        IN A  внешний_IP_роутера
www.example.ru       IN A  внешний_IP_роутера
это настройка доступа к сайту и почтовику из инета

теперь берем дефолтные конфиги Bind9 под FreeBSD
добавляем туда одну зону example.ru
и пишем в ней что-то вроде

Код: Выделить всё

IN NS  ns.example.ru.
IN MX   10 mail.example.ru
и
mail.example.ru        IN A  172.16.0.3
www.example.ru       IN A   172.16.0.2
ns.example.ru.    IN A 192.168.1.50
Это позволит компам в ваших подсетях обращаться к серверам по серым IP.

Re: Нужна помощь в конфигурации Bind9 под FreeBSD

Добавлено: 2012-02-24 17:16:49
Ezhikoff
Отлично, огромное спасибо за помощь.