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

Подробности:

DNS SERVER: 192.168.178.46

WEBSERVER (apache2): (A virtualbox machine, bridged) 192.168.178.36
VM HOST MACHINE: 192.168.178.26

LOCAL DOMAIN: acme.local

Я могу успешно получить доступ ко всем машинам по IP. Все клиенты настроены с моим внутренним DNS. Я могу получить доступ к своему локальному веб-сайту по IP-адресу.

Демон bind успешно работает без ошибок. Также веб-сервер работает, и виртуальный хост настроен и включен.

Цель: получить доступ к моему локальному веб-серверу по доменному имени (acme.local) без изменения файла /etc/hosts .

На моем DNS-сервере (192.168.178.46)

Содержимое /etc/bind/named.conf.options:

options {
    directory "/var/cache/bind";

    // 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.

    // I dont need to forward to other name server. so dont use this.
    // forwarders {
    //  0.0.0.0;
    // };

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

Содержимое /etc/bind/named.conf.local:

// Just to be sure, internal network only.
acl internals  {
    192.168.178.0/24;
        127.0.0.0/8;
};

// Create a view for the internal ACL.
view "internals" {
    // Match the ACL
    match-clients { internals; };
    // Configure the domain:
    zone "acme.local" {
        type master;
        // point out to the zone file.
        file "/etc/bind/zones/db.acme.local";
    };
};

/etc/bind/zones/db.acme.local:

@   IN      SOA     ns1.acme.local. admin.acme.local. (
                              5         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;

; Name servers
; create a name for the DNS.
acme.local.    IN      NS      ns1.acme.local.

; A records for name servers
; Point the created name for the DNS to the machine itself.
ns1             IN      A       127.0.0.1

; Other A records
; Point to the web-server:
@               IN      A       192.168.178.36
www             IN      A       192.168.178.36

Информация DiG (сделано на одном из внутренних клиентов)

Это то, что говорит мне dig , я новичок в этом вопросе DNS, но мне кажется, он находит acme.local на 192.168.178.36 . но все же Chrome говорит мне:

acme.local’s server DNS address could not be found.
ERR_NAME_NOT_RESOLVED

Копать информацию:

; <<>> DiG 9.9.5-9+deb8u9-Debian <<>> acme.local
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 44847
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;; acme.local.          IN  A

;; ANSWER SECTION:
acme.local.     604800  IN  A   192.168.178.36

;; AUTHORITY SECTION:
acme.local.     604800  IN  NS  ns1.acme.local.

;; ADDITIONAL SECTION:
ns1.acme.local. 604800  IN  A   192.168.178.46

;; Query time: 3 msec
;; SERVER: 192.168.178.46#53(192.168.178.46)
;; WHEN: Fri Jan 20 23:14:04 CET 2017
;; MSG SIZE  rcvd: 91

Вопрос:

Можете ли вы увидеть, что я делаю неправильно или дать мне несколько советов о том, как достичь своей цели с помощью bind9?

Спасибо, в любом случае!

РЕДАКТИРОВАТЬ / ОБНОВИТЬ:

Одна часть решена, благодаря @Barmar мне указали правильное направление. ДНС вроде нормально. для моего ноутбука Debian я изменил порядок значений в /etc/nsswitch.conf от hosts: files myhostname mdns4_minimal [NOTFOUND=return] dns to hosts: dns files myhostname mdns4_minimal [NOTFOUND=return] . Я не уверен, почему это сработало, но это сработало. Но...

Я также хотел бы получить доступ к своему локальному домену с моими мобильными устройствами (Android), подключенными к моему WiFi. И это все еще не работает. Однако я настроил соединение Wi-Fi с DNS на каждом устройстве ...

1 ответ1

0

Я думаю, что эта строка:

ns1             IN      A       127.0.0.1

это проблема.

Замените 127.0.0.1 фактическим адресом вашего DNS-сервера (192.168.178.46).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .