我将bind9设置为本地网络的DNS服务器。对于运行服务器的机器的DNS查询,服务器按预期工作,但不响应来自网络上其他机器的查询。在DNS服务器上运行tcpdump
,我看到来自其他机器的查询到达,但我没有看到任何响应或bind9日志中任何指示错误的内容。任何关于这个问题的可能来源或途径的建议,以调试它感谢收到!
在细节:
在Ubuntu上运行bind9。我的配置是:
options {
directory "/etc/bind";
listen-on port 53 {100.1.1.2; };
listen-on-v6 port 53 { none; };
allow-query { any; };
dnssec-validation no;
};
zone "mydomain.com" IN {
type master;
file "mydomain.com.db";
allow-update { none; };
};
zone "1.1.100.in-addr.arpa" {
type master;
file "revp.100.1.1";
};
区域文件
$ORIGIN mydomain.com.
$TTL 5; 3600
@ IN SOA dns admin.mydomain.com. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
; DNS Servers
NS dns
; Machine Names
localhost IN A 127.0.0.1
dns IN A 100.1.1.2
bar IN A 100.1.1.10
baz IN A 100.1.1.11
用sudo named -c /etc/bind/named.conf -g -d100
启动named
。在日志中查找,它确实在正确的IP上侦听(我看到listening on IPv4 interface enp6s0, 100.1.1.2#53
)。在使用dig baz.mydomain.com @100.1.1.2
运行DNS服务器的同一台机器上测试DNS查找,我从具有named
日志中相应条目的DNS服务器获得答案。我还在sudo tcpdump -i lo -u port 53
中看到DNS请求。
接下来,现在在PC栏,我运行dig baz.mydomaain.com @100.1.1.2
。这个请求没有从DNS服务器得到任何响应,我也没有在DNS日志中看到任何内容。查看DNS服务器上的sudo tcpdump -u port 53
,我看到来自bar
的DNS请求到达,但没有响应,因此这似乎不是防火墙问题。
下一步有什么建议吗?
我将从不使用MCI通信服务地址块开始,并使用RFC1918中的适当netblock:
NetRange: 100.0.0.0 - 100.19.255.255
CIDR: 100.16.0.0/14, 100.0.0.0/12
NetName: V4-VZO
NetHandle: NET-100-0-0-0-1
Parent: NET100 (NET-100-0-0-0-0)
NetType: Direct Allocation
OriginAS: AS19262
Organization: MCI Communications Services, Inc. d/b/a Verizon Business (MCICS)
RegDate: 2010-12-28
Updated: 2018-01-10
Ref: https://rdap.arin.net/registry/ip/100.0.0.0
然后当然使用wireshark(或tcpdump)来观察数据包被路由到哪里。但是使用别人的社交网络是不被鼓励的。
好吧,这原来是一个基本的防火墙问题。长话短说,我没有意识到tcpdump
在防火墙之前看到数据包,所以看到入站DNS请求并不意味着它们到达了服务器。哎!