![iptables 允许从给定 IP 的任何端口到给定机器上的任何端口的所有连接](https://linux22.com/image/742648/iptables%20%E5%85%81%E8%AE%B8%E4%BB%8E%E7%BB%99%E5%AE%9A%20IP%20%E7%9A%84%E4%BB%BB%E4%BD%95%E7%AB%AF%E5%8F%A3%E5%88%B0%E7%BB%99%E5%AE%9A%E6%9C%BA%E5%99%A8%E4%B8%8A%E7%9A%84%E4%BB%BB%E4%BD%95%E7%AB%AF%E5%8F%A3%E7%9A%84%E6%89%80%E6%9C%89%E8%BF%9E%E6%8E%A5.png)
我有两台机器 B 和 A ;我想允许来自 B 的 A 上所有端口上的所有类型的流量,同时禁止来自其他给定子网机器的任何通信。
我在 A 上做了什么:
iptables -A INPUT -s <subnet to block> -j REJECT
iptables -A OUTPUT -d <subnet to block> -j REJECT
iptables -I INPUT 1 -s <B's IP> -j ACCEPT
iptables -I OUTPUT 1 -d <B's IP> -j ACCEPT
我使用保存并重新加载netfilter.persistent reload
但 B 无法在健康端口 X (20000) 上访问机器 A,而 A 上的服务正在该端口上运行。我在这里处理第一个匹配规则。当我刷新 iptables 时,它能够访问端口 20000 上的 api。我该如何修复或调试此问题?