我已经跑了
$ iptables -I 输出 -j DROP -d [ip 地址]
发现有些进程仍在连接我上面屏蔽的目标ip:
$ lsof -p [pid]
表明:
perl 3u IPv4 235988255 TCP 主机名:54160->:ircd (SYN_SENT)
请给我一些建议。谢谢!
答案1
因为您所做的只是阻止应用程序响应初始请求。应用程序可以看到有人尝试从该 IP 地址进行连接,它会发送 SYN-ACK 作为响应,但由于防火墙规则,SYN-ACK 永远不会到达网络。
最终的结果是谈话的每一方都在等待对方说别的话。这就是它陷入半打开状态(SYN_SENT)的原因。
如果您只想添加一条规则,则需要在 INPUT 链上执行此操作,这样ircd
就不会看到有人进行连接尝试。