我的 BIND DNS 服务器配置为侦听 TCP 端口 53。有没有办法将服务器设置为侦听 UDP 而不是 TCP?netstat 命令的输出为:
root@ns1:/# netstat -lntu
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 192.168.163.172:53 0.0.0.0:* LISTEN
tcp 0 0 10.1.100.41:53 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN
tcp6 0 0 :::22 :::* LISTEN
tcp6 0 0 ::1:631 :::* LISTEN
udp 0 0 0.0.0.0:631 0.0.0.0:*
udp 0 0 0.0.0.0:12519 0.0.0.0:*
udp 0 0 0.0.0.0:5353 0.0.0.0:*
udp 0 0 0.0.0.0:39933 0.0.0.0:*
udp 0 0 0.0.0.0:53 0.0.0.0:*
udp 0 0 192.168.163.172:53 0.0.0.0:*
udp 0 0 10.1.100.41:53 0.0.0.0:*
udp 0 0 127.0.0.1:53 0.0.0.0:*
udp 0 0 0.0.0.0:68 0.0.0.0:*
udp6 0 0 :::47282 :::*
udp6 0 0 :::5353 :::*
udp6 0 0 :::25334 :::*
答案1
netstat
这是输出中与你询问的有关 UDP 端口 53 是否被监听的问题相关的重要一行:
udp 0 0 0.0.0.0:53 0.0.0.0:*
这表明有东西正在监听端口 53 UDP。这是大概 bind9
。通常我使用sudo netstat -tulpn
which 来指出哪个进程正在使用什么,但是这个看起来就像它是您的 BIND9 服务器一样。
输出中的所有项目netstat
实际上都是聆听连接。TCP 有状态,但 UDP 没有,所以它不会LISTEN
在最后一列中显示。但是,上面我提到的那行表示某些东西正在监听端口 53 UDP。
(如果你真的很好奇,你可能想运行一下sudo netstat -tulpn
看看到底哪个进程在监听 53 端口,但更有可能的是这个bind9
)