我在路由器后面。在路由器配置中,我阻止了:
- 全部(入站和出站)UDP
- 入站ICMP
本地 iptables 使用 Firestarter 向导进行配置:
- 阻止所有传入连接
- 允许所有传出连接
- 过滤ICMP 除了平
- 阻止来自外部网络的广播
现在,Firestarter 仍然抱怨我的 TCP 和 ICMP 连接被阻止内部的IP(192.168.0.*),在不同的端口上。没有 UDP 投诉,但只是因为路由器阻止了它们。以前,在阻止入站(但不阻止出站)UDP 的情况下,我也收到大量被阻止的 UDP 连接(尤其是在启动 Skype 时)。
我不明白 Firestarter 怎么会抱怨 TCP 连接被阻止。我的理解是,在路由器后面,我无法从外部世界访问(由于 NAT 转换),路由器只传递与出站数据包匹配的入站数据包。现在,iptables 应该以相同的方式工作 - 它应该接受与以前的出站数据包匹配的入站响应数据包。因此,如果 TCP 数据包设法从我的计算机到达外部服务器,那么响应就永远不会被阻止。
另外,我不明白 ICMP 数据包如何通过路由器并在我的 iptables 上崩溃 - 它们都应该在路由器中被阻止(但请注意,到达我的 iptables 的所有 ICMP 都在端口 80 上,也许这是一个线索)
有人可以指出我如何解决这些问题的正确方向吗(如果有的话,也许我不知道)。
答案1
ICMP 是 IP 正常运行所必需的,请不要阻止它们,尽管您可以阻止 ICMP 回显请求。没有 ICMP 端口 80,但您可能会在端口 80 上收到各种网站无法访问的消息。ICMP 消息不会使您的 iptables 崩溃。
您应该运行 ntp,这将需要在 UDP 上打开端口 123。端口 53 上的 DNS 也应该在 UDP 和 TCP 上打开。
如果您正在运行 Skype,则应允许在 Ubuntu 上的临时端口(32768 至 61000)上进行传出 UDP 和 TCP,以及其他一些端口。您还需要允许在 Skype 正在使用的端口上进行 UPD 和 TCP 传入。请参阅我的帖子防火墙 Skype。
您应该会发现防火墙内的主机在各个端口上有一些流量。如果您的 IP 地址在路由器/防火墙上被指定为 DMZ,您还将收到来自 Internet 的数据包。路由器防火墙还应在相关端口上转发 FTP 等协议的数据包。