我find了下面的iptables图表: 当数据包从一个本地进程发送到另一个本地进程时,数据包如何遍历iptables表?
问候。
数据包将穿过图的左侧。 只有在从外部源接收到数据包时,数据包才由正向链处理,而不是指向本地计算机上的地址(当然,您已经启用了ip_forward)。
在编写规则以影响本地进程时,我感兴趣的是,即使您发送TCP连接到以太网接口(例如,eth0)的IP地址,它也会被发送到回送设备。 所以下面的规则不会阻止本地进程连接到端口为eth0的端口4000。
iptables -A INPUT -i eth0 -p tcp --dport 4000 -j REJECT
正如以下规则只会阻止本地进程连接到绑定到eth0的地址上的端口4000,而不是其他主机上的端口:
iptables -A INPUT -i lo -p tcp --dport 4000 -j REJECT
当然,如果进程在0.0.0.0上侦听,你就可以连接到127.0.0.1 🙂