BIND 作为 DNS 服务器主机命令被拒绝

BIND 作为 DNS 服务器主机命令被拒绝

我正在尝试将我的主机作为 DNS 服务器运行,它也将充当网关。

我的/etc/named.conf如下:

    options {
    directory "/var/named/";
    allow-query {127.0.0.1; 192.168.64.0/24;};
    forwarders { 192.168.48.2; };
};
zone "localhost" {
    type master;
    file "named.localhost";
};
zone "huh.dod" {
    type master;
    file "mydb-huh-dod";
};

我的/var/named/mydb-huh-dod:

$TTL    3D
@       IN      SOA     host.huh.dod.      hostmaster.huh.dod.(
            2018042901       ; Serial
            8H      ; Refresh
            2H      ; Retry
            1W      ; Expire
            1D      ; Negative Cache TTL
);
@       IN      NS      host.huh.dod.
host    IN      A       192.168.64.1

我将我的主机名设置为主机并通过配置域名/etc/sysconfig/network-scripts/ifcfg-eth0文件搜索参数:

DNS1="192.168.64.1"
IPADDR="192.168.48.10"
NETMASK="255.255.255.0"
GATEWAY="192.168.48.2"
SEARCH="huh.dod"

所以/etc/resolv.conf好像:

# Generated by NetworkManager
search huh.dod
nameserver 192.168.64.1

尝试使用主机命令被拒绝:

host host
host.huh.dod has address 192.168.64.1
Host host.huh.dod not found: 5(REFUSED)
Host host.huh.dod not found: 5(REFUSED)


host host.huh.dod
host.huh.dod has address 192.168.64.1
Host host.huh.dod not found: 5(REFUSED)
Host host.huh.dod not found: 5(REFUSED)

我不确定问题是什么。

也许与我的 iptables 防火墙有关?

输出netstat -anlp | 网络统计53 | grep 53 grep 听

tcp        0      0 192.168.64.1:53         0.0.0.0:*               LISTEN      942/named           
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      942/named           
tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      942/named           
tcp6       0      0 ::1:953                 :::*                    LISTEN      942/named       

命名正在运行

答案1

粗略地目视一下,你的options {}部分看起来很简朴。

它里面缺少listen-on指令,如下所示:

options {
   listen-on port 53 { 192.168.64.1; 127.0.0.1; };
    .....
};

如果没有该指令,BIND 将不会在预期的接口中侦听。

答案2

根据netstat输出,BIND 正在 IP 地址为 192.168.64.1 的主机上运行。

客户端主机(即文件所在的主机ifcfg-eth0)具有

DNS1="192.168.64.1"
IPADDR="192.168.48.10"
NETMASK="255.255.255.0"
...

所以DNS服务器地址是正确的,但是客户端自己的地址是192.168。48.10...与配置选项中的任何值都不匹配allow-query

allow-query {127.0.0.1; 192.168.64.0/24;};

使用此配置,192.168.64.1 上的 BIND 将拒绝除来自 192.168 的查询之外的任何查询。64.* 网络和 BIND 服务器主机本身。客户端的地址192.168.48.10在指定的网络之外,所以它当然会被拒绝。

如果您只希望这一特定客户端在 192.168.64.* 网络之外工作,则allow-queryBIND 配置中的此设置即可实现:

allow-query { 127.0.0.1; 192.168.64.0/24; 192.168.48.10; };

或者,如果您也想允许从整个 192.168.48.* 网络进行访问:

allow-query { 127.0.0.1; 192.168.64.0/24; 192.168.48.0/24; };

相关内容