我什么时候可以打开DNS 53端口?

locking应用程序服务器。 服务器托pipe通过http提供的Web应用程序。 还有其他一些端口也打开。

端口53对DNS打开。 为什么我需要这个?

额外:(不需要回答这个,但是…)这个命令是否会在Linux中使用iptables打开该端口

# iptables -A INPUT -m tcp -p tcp --dport 53 -j ACCEPT 

端口53对DNS打开。 为什么我需要这个?

您需要UDP 53允许响应您的服务器发送的DNS查询,因为UDP是无状态协议。 如果您想要任何types的出站连接,软件更新等,请不要阻止它。

请注意,对于已经使用DNS源端口随机化进行了修补的大多数现代操作系统中的名称parsing软件,查询的源端口(以及响应的目标端口)不一定是53; 在这种情况下,它可能是安全的(但不必要,除非你有一个stream氓DNSparsing器侦听)阻止UDP端口53。

这个命令是否可以在Linux中使用iptables来保护这个端口

除非您的服务器实际上是DNS服务器,否则不需要允许TCP 53入站。 你的第二个命令有-m udp -p tcp ,这没有什么意义..错字?

如果只使用本地networking,请使用本地名称服务器,并且没有连接到Internet上的随机站点,则不需要打开端口53。 但是,如果你想使用互联网,那么你需要能够将主机名转换为IP地址。 为此,你需要DNS。

你什么时候打开53端口? 我会假设你什么时候托pipeDNS区域。 您是在内部运行DNS还是将其转换出来? 如果你跑步比如果你想让任何人获得logging,你最好打开53。 正如你所说,你的DNS托pipe在其他地方,没有理由保持这些端口打开即使与Vhosts和什么。

至于IPtables的规则,我不确定你的意思是安全的,但是这将打开你的端口。

DNS使用UDP端口53

为什么我需要这个?

如果你想使用你的服务器作为DNS服务器(例如你正在托pipe自己的域名)

如果有问题的应用程序服务器不是DNS服务器,则不需要打开端口53。 “开放端口”意味着该端口对于networking中的客户(或可能在互联网上)是外部可见的。 与stream行的观点相反,服务器或主机不需要打开端口53来传出DNS查询 – 这不是TCP / IP模型的工作原理。 您可以在主机上运行tcpdump,然后从其他terminal或浏览器发出DNS查询来确认:

 'tcpdump -n -s 1500 -i eth0 udp port 53' 

因此,要回答您的问题:您只能打开提供DNS服务到networking的主机端口53。

不是您的问题的一部分,但build议在任何和所有networking服务器主机上安装防火墙。 这可以防止来自networking外部的攻击以及networking内部的病毒/木马和“非常聪明”(但恶性)用户的侵入。 防火墙还可以简化打开和closures端口的任务,并根据需要设置访问策略,从而避免需要手动创build(并记住)复杂的iptables规则。