我的 ubuntu 14.04 盒子上有 2 个端口:eth0 和 wlan0
我希望 eth0 仅供客户端通过 ssh 连接,并且我希望所有网络流量仅从 wlan0 发出。因此,eth0 不会发出任何发往端口 80 或 443 的流量
执行该操作的 iptables 规则的正确语法是什么?
答案1
80,443
要阻止目标端口eth0
,您需要此OUTPUT
规则:
iptables -A OUTPUT -o eth0 -p tcp -m multiport --dports 80,443 -j DROP
如果连接来自防火墙以外的设备(即,如果您的客户端使用防火墙作为路由器),那么您还需要添加一条FORWARD
规则来阻止该流量。您可以复制上述规则并替换OUTPUT
为FORWARD
来实现这一点。
开始编辑
请注意,根据您的路由表,到 Internet 的出站 Web 连接可能仍会断开eth0
,在这种情况下,所有出站 Web 连接都将被断开。据我所知,没有iptables
规则可以覆盖路由表定义。也许其他人可以对此做出解释?
结束编辑
关于您的“仅 ssh 进入 eth0”规则,请使用以下命令:
iptables -A INPUT -i eth0 -p tcp ! --dport 22 -j DROP
tcp/22
这将断开所有未进入的连接eth0
。
希望这可以帮助。