网络设备可以使用 bind9 服务器,但服务器本身不能

网络设备可以使用 bind9 服务器,但服务器本身不能

我一直在运行 Ubuntu Server 16.04 的家庭服务器上设置 bind9 服务器,以便我能够通过名称而不是 IP 地址访问我的服务。

绑定服务器本身(大部分)已设置完毕,运行正常。我可以从网络设备的 IP 地址解析主机名,也可以从主机名解析 IP 地址,但服务器本身无法从其自己的 bind9 记录解析任何内容,这让我有点不知所措。

唯一的名称服务器/etc/resolv.conf是我的路由器192.168.1.18.8.8.8

这些是在我的 中设置的/etc/network/interfaces。我假设我的问题是127.0.0.1不在那里,所以服务器本身会立即查看我的路由器来解析地址,然后添加到,8.8.8.8但当我添加127.0.0.1/etc/network/interfaces时,没有其他东西被添加到,/etc/resolv.conf所以我只剩下一个名称服务器127.0.0.1

我确实在中设置了转发器/etc/bind/named.conf.local,它们确实可以工作,因为我仍然可以访问互联网,但是从我读过的每本指南来看,bind9 应该添加127.0.0.1/etc/resolv.conf自身,这意味着它仍然由我的文件中的服务器填充,/etc/network/interfaces以便即使绑定服务器由于某种原因失败,我的服务器仍然“在线”。

我检查/etc/default/bind9RESOLVCONF=yes

# run resolvconf?
RESOLVCONF=yes

# startup options for the server
OPTIONS="-u bind"

这是我的,/etc/network/interfaces以防万一那里出了问题

/etc/network/interfaces                                                                      

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo wlan0
iface lo inet loopback

# The primary network interface

#auto eth0
#       iface eth0 inet static

iface wlan0 inet static
        address 192.168.1.62
        netmask 255.255.255.0
        broadcast 192.168.1.255
        network 192.168.1.0
        wpa-ssid #############
        wpa-psk ****************
        dns-nameservers 192.168.1.1 8.8.8.8
        gateway 192.168.1.1
#       mtu 1500

这是我的/etc/bind/named.conf

acl mynetwork {
        192.168.1.0/24;
        };
// This is the primary configuration file for the BIND DNS server named.
//
// Please read /usr/share/doc/bind9/README.Debian.gz for information on the
// structure of BIND configuration files in Debian, *BEFORE* you customize
// this configuration file.
//
// If you are just adding zones, please do that in /etc/bind/named.conf.local

include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";
key rndc-key {
        algorithm hmac-md5;
        secret "*****************";
        };
controls {
        inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { rndc-key; };
        };

和我的/etc/bind/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 {
                192.168.1.1;
                208.67.222.222;
                208.67.220.220;
                8.8.8.8;
                8.8.4.4;
                };

        //========================================================================
        // If BIND logs error messages about the root key being expired,
        // you will need to update your keys.  See https://www.isc.org/bind-keys
        //========================================================================
        dnssec-validation auto;

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

如果您需要查看任何区域文件,请询问,但我不认为它们是问题所在,因为名称解析在其他设备上工作正常,只是在服务器本身上不行;除非我更改我的/etc/network/interfaces文件并将其127.0.0.1作为我唯一的 dns 服务器,/etc/resolv.conf 所以我想这是我问的冗长方式我如何添加 127.0.0.1到我的 DNS 列表中,/etc/resolv.conf而不是将其作为唯一条目

答案1

我自己已经找到了解决这个问题的办法(某种程度上)。

我编辑了我的/etc/resolvconf/head文件并添加了行nameserver 127.0.0.1并将我的/etc/network/interfaces域名服务器部分恢复正常。现在,127.0.0.1我的文件中的第一个条目是/etc/resolv.conf后面列出的域名服务器/etc/network/interfaces

我仍然不知道为什么 bind 没有添加条目本身,但至少现在一切都正常了。

相关内容