可以使用iptables来防止内部连接吗?

时间:2017-10-19 09:02:23

标签: iptables

我可以设置iptables规则以防止外部连接。但是我们可以使用iptables来阻止内部连接吗?例如,我已设置iptables以防止我的机器上的端口5555端口,但我的本地APP在我的机器上运行时仍可以连接5555。

2 个答案:

答案 0 :(得分:0)

是的,您可以使用iptables阻止它。

iptables -A INPUT -d 127.0.0.1 -p tcp --dport 5555 -j DROP

使用此命令,您将无法从自己的主机连接到自己的服务。然后,您可以使用与-A append相反的-A delete来删除规则:

iptables -D INPUT -d 127.0.0.1 -p tcp --dport 5555 -j DROP

希望它有所帮助。

答案 1 :(得分:0)

取决于您如何阻止端口5555,如果您有一个具有接口和源和/或目标地址的特定INPUT规则,它将只匹配那些。在您的情况下,您可以修改规则以匹配tcp目标端口5555,它将阻止所有数据包到tcp目标端口5555.例如:

iptables -t filter -I INPUT -p tcp --dport 5555 -j DROP

如果您只想阻止内部应用而不是触及现有的iptables规则,请将传入接口用作lo,例如:

iptables -t filter -I INPUT -i lo -p tcp --dport 5555 -j DROP

注意:如果您使用的是目标IP,那么请使用整个环回地址范围,而不仅仅是127.0.0.1,例如:

iptables -t filter -I INPUT -d 127.0.0.0/8 -p tcp --dport 5555 -j DROP

在进行任何更改之前,您可以使用-j DROP操作来代替-j LOG操作来记录并确认此规则将匹配的tcp连接。您也可以跳过操作部分而不指定-j选项,并检查您的规则与iptables -t filter -L -n -v匹配的数据包数量,而不会造成任何伤害。