我使用 OpenSwan 在我的网络和远程网络之间配置了一条隧道。在运行 Ubuntu 的隧道端点上,我添加了 iptables 规则,以便在目的地是远程网络时禁用源 NAT (SNAT)。从我的网络发送到远程网络的数据包将以私有 IP 地址作为源发送。
以下是我的 NAT 表
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- anywhere ! <remote_network>
这一切在一段时间内都运行良好,但在某些时候隧道中断了。看来我的更严格的规则已被对所有数据包执行 SNAT 的通用规则所取代。FORWARD 表中的其他规则也被删除了。服务器已经 300 多天没有重启了!
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- anywhere anywhere
我尝试在 /etc/network/if-up.d 中添加一个脚本,以便在每次网络服务重新启动时恢复我的配置,但这没有帮助。我还安装了“iptables-persistent”包,但这也没有帮助。
我的隧道端点也正在运行 OpenVpn 用于其他目的。
什么过程可能会这样改变我的 iptables ?我如何确保它不会再次被改变?