好的,这是我们的设置,我们正在运行 pfSense 作为防火墙/路由器。我们有一个双 WAN,带有一个 Comcast Business Gateway 和另一个本地 ISP。我们正在运行 Samba 作为域控制器,并运行 Bind9/Named 作为 DNS。问题是,我们刚刚将我们的 Comcast 服务升级到更高的速度,他们更换了调制解调器/网关。一旦他们这样做,我们就无法再通过 Comcast 管道从 LAN 内部浏览互联网。如果我在 pfSense 中禁用我们的 Comcast 管道,我们就可以通过我们的其他 ISP 访问互联网。我很确定问题出在 Bind 上,但在更换调制解调器后它并没有改变。这是我在域控制器/绑定框上运行 nslookup 和 dig 时的一些输出。如果我指定外部 DNS 服务器,nslookup 和 dig 都可以工作,但当它们使用内部 DNS 绑定服务时则不行。
[root@dc etc]# nslookup comcast.com
Server: 127.0.0.1
Address: 127.0.0.1#53
** server can't find comcast.com: NXDOMAIN
[root@dc etc]# nslookup comcast.com 8.8.8.8
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: comcast.com
Address: 69.252.80.75
[root@dc etc]# dig comcast.com
; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7 <<>> comcast.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 3360
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;comcast.com. IN A
;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sat Apr 11 17:08:25 PDT 2020
;; MSG SIZE rcvd: 40
[root@dc etc]# dig @8.8.8.8 comcast.com
; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7 <<>> @8.8.8.8 comcast.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26449
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;comcast.com. IN A
;; ANSWER SECTION:
comcast.com. 32 IN A 69.252.80.75
;; Query time: 4 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sat Apr 11 17:08:43 PDT 2020
;; MSG SIZE rcvd: 56
此外,如果我在 pfSense 中禁用我们的 Comcast 管道并通过其他 ISP执行nslookup comcast.com
或,则在使用内部 DNS 绑定服务时它们会完美返回。dig comcast.com
这是我的 named.conf 文件
acl mynetworks {
192.168.254.0/24;
192.168.252.0/24;
192.168.251.0/24;
192.168.250.0/24;
};
options {
listen-on port 53 { localnets; };
listen-on-v6 { none; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { localhost; mynetworks; };
recursion yes;
dnssec-enable yes;
dnssec-validation auto;
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
# samba BIND9_DLZ
tkey-gssapi-keytab "/var/lib/samba/private/dns.keytab";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
channel my_log_file {
file "/var/log/named/named.log" versions 3 size 3m;
severity info;
print-time yes;
print-severity yes;
print-category yes;
};
channel my_syslog {
syslog daemon;
severity info;
print-time no;
print-severity no;
print-category no;
};
category default { my_log_file; my_syslog; };
category dnssec { my_log_file; };
category lame-servers { null; };
};
// so we can control the running named process with the rndc utility
include "/etc/rndc.key";
zone "." IN {
type hint;
file "named.ca";
};
dlz "tipping.lan" {
database "dlopen /usr/lib64/samba/bind9/dlz_bind9_9.so";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
如果我将笔记本电脑直接连接到 Comcast 调制解调器,我就可以顺利上网。此外,如果我绕过 LAN 工作站上的域控制器,使用外部 DNS 服务器,我可以通过 Comcast 管道访问互联网。
那么为什么 DNS/Bind 在一个管道上工作,而另一个管道上不工作?任何帮助都将不胜感激。
答案1
我能够通过将 BIND 置于转发模式并不允许它使用根授权服务器来解决我的 DNS 问题。似乎 Comcast SecurityEdge 正在阻止根服务器,但不会阻止 1.1.1.1 或 8.8.8.8