我可以设置iptables规则以防止外部连接。但是我们可以使用iptables来阻止内部连接吗?例如,我已设置iptables以防止我的机器上的端口5555端口,但我的本地APP在我的机器上运行时仍可以连接5555。
答案 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
匹配的数据包数量,而不会造成任何伤害。