我已经设置了 iptables 来阻止所有试图逃离我的 VPN 连接的传出流量。并且设置了 netfilter-persistent 来使 iptables 规则持久化。这一切都运行良好。
现在,由于连接 IP 会时常变化,我想编写一个脚本,每小时查找 IP 并更新 iptables 白名单规则。
关于此的两个相关问题......
- 每当脚本重新加载 netfilter 持久服务以更新 iptables 时,是否有一瞬间流量可能会逃出 VPN?还是新规则会在没有先完全刷新的情况下被覆盖?
- 那么在系统重启期间怎么样?网络接口是否会在 netfilter-persistent 启动之前启动,或者在启动期间非 VPN 流量是否有可能逃逸?
我觉得在这两种情况下都是合乎逻辑的,应该不会发生“泄漏”,但却找不到任何证据来证实这一点。
答案1
- Netfilter 持久脚本使用
iptables-restore
工具,可以对 iptables 规则集进行原子重新加载。 - 启动期间,Netfilter 持久脚本在接口启动之前运行(您可以检查的输出
systemctl cat netfilter-persistent.service
)。