首先,我在这方面没有经验。因此,这个问题可能毫无意义。
我已经在服务器计算机(Ubuntu 16.04)上安装了 BIND9。如果客户端计算机执行外部 DNS 查询,则 DNS 转发不起作用。
我的服务器上一些文件的内容如下:
/etc/bind/named.conf.options
acl "trusted"{
10.5.147.189; #kasirga server-bogurtlen
10.5.146.142; #host dut
10.5.147.210; #host jalapeno
10.5.147.215; #host nar
10.5.147.120; #ahududu
10.5.147.72; #ceviz
10.5.147.76; #greyfurt
10.5.147.79; #havuc
10.5.147.118; #kestane
10.5.146.122; #erik
10.5.147.206; #mandalina
10.5.147.152; #incir
10.5.147.180; #ot
};
options {
directory "/var/cache/bind";
forwarders {
8.8.8.8;
8.8.4.4;
};
recursion yes;
allow-query {trusted;};
forward only;
dnssec-validation auto;
auth-nxdomain no;
listen-on-v6 { any; };
};
/etc/网络/接口
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 10.5.147.189
gateway 10.5.146.1
netmask 255.255.254.0
dns-nameservers 10.1.11.103 10.1.12.104
我的客户端“incir”上运行的一些命令的输出如下:
可以成功获取本地网络中另一个客户端的IP地址。
samet@incir:~$ nslookup mandalina
Server: 10.5.147.189
Address: 10.5.147.189#53
Name: mandalina.kasirgalabs.home
Address: 10.5.147.206
但是却无法获取“google.com”的IP地址。
samet@incir:~$ nslookup google.com
;; Got SERVFAIL reply from 10.5.147.189, trying next server
;; connection timed out; no servers could be reached
/etc/网络/接口
auto lo
iface lo inet loopback
auto enp3s0
iface enp3s0 inet static
address 10.5.147.152
gateway 10.5.146.1
netmask 255.255.254.0
dns-nameservers 8.8.8.8 8.8.4.4
我不知道该如何解决这个问题。正如我之前所说,我对此了解不多。如果我需要显示特定文件的内容,请告诉我,我会这样做。
答案1
在您的选项部分添加这些内容:
allow-recursion { "trusted"; };
allow-query-cache { "trusted"; };
如今,BIND 对谁可以查询什么具有非常细粒度的控制,并且通过扩展导致服务器执行操作(即出去并递归)。