Назад | Перейти на главную страницу

Как мне настроить Bind9 на ubuntu в качестве сервера имен?

Я хочу настроить свои собственные DNS-серверы ns1.myhostingdomain.com и ns2.myhostingdomain.com
У меня есть два отдельных сервера, один как основной, а другой как подчиненный. Моя цель - настроить его для настройки веб-хостинга. Я хотел бы иметь возможность добавлять новые домены (зоны), а затем указывать только что приобретенный (размещенный) домен на ns1.myhostingdomain.com и ns2.myhostingdomain.com

Я решил, что сначала начну с первичного без добавления ведомого, а затем, когда у меня будет основная работа, я попытаюсь заставить работать ведомое. У меня bind9 установлен на ubuntu 9.10 (кармический)
Я думаю, он частично настроен. Пока что я сделал следующее:

Изменено: /etc/bind/ named.conf.options - Изменены серверы пересылки на серверы имен, которые находятся над моим сервером ns1.myhostingdomain.com (имя хоста на самом деле не ns1, это Poseidon. *, Если это вообще имеет значение)

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 {
            69.20.95.4;
            65.61.188.4;
    };

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


Я добавил зону в /etc/bind/ named.conf.local

#start_zone myhostingdomain.com
zone "myhostingdomain.com" {
        type master;
        file "/etc/bind/zones/myhostingdomain.com.db";
};

затем я создал файл зоны /etc/bind/zones/myhostingdomain.com.db

;
; BIND data file for local loopback interface
;
$TTL    604800
@       IN      SOA     ns1.myhostingdomain.com. dnsadmin.myhostingdomain.com. (
                        20100809001     ; Serial
                        1H              ; Refresh
                        15M             ; Retry
                        4W              ; Expire
                        1H              ; Negative Cache TTL
                        )
;
@       IN      NS      ns1.myhostingdomain.com.
@       IN      NS      ns2.myhostingdomain.com.
@       IN      A       184.106.207.45
ns1     IN      A       184.106.207.45
ns2     IN      A       184.106.229.136

что-то мне не хватает или я делаю это совершенно неправильно?

У вас есть зона, указывающая на ваш DNS-сервер на уровне регистратора? А dig +trace ns1.myhostingdomain.com должен предоставить вам дополнительную информацию, а также вывод cat /etc/resolv.conf

Перезапустите bind, проверьте системный журнал на наличие ошибок, и все готово.

В качестве шага для защиты системы вам, вероятно, следует ограничить рекурсию только своим адресным пространством.

options {
    ...
    // uncomment this section to limit recursion to internal hosts
    allow-recursion {
        localhost;
        10.0.0.0/8;
        172.16.0.0/12;
        192.168.0.0/16;
    };
    ...
};