我正在使用 iptables 添加一条链:
iptables -N ETDROP
当我重新启动时,它就丢失了。我读到了很多使 iptables 规则永久化的方法......但是
你必须记住,我正在使用UFW,而UFW的工作就是记住你的规则。
那么问题来了,如何让UFW意识到iptables直接添加了一条新规则呢?
我试过了ufw reload
,但没有饼干。
答案1
iptables 默认情况下不是持久的。您需要保存它们并在启动时重新加载。在大多数发行版上都有一个包可以自动执行此操作。
在 Ubuntu、Debian、Mint 上尝试:
sudo apt-get install iptables-persistent
答案2
根据各成员的意见,答案似乎是:
UFW 无法导入 iptables 规则,它只能写它们。
UFW 命令->UFW->iptables 而不是反过来。
所以如果你使用 UFW 并想添加一些复杂的规则,你就被塞满了!例如添加一个区域。
解决方法
- 仅使用 iptables 和 iptables-persistent 来在重新启动时重新加载其配置。
- 通过编辑 ufw init 文件的混合解决方案:
在以下位置添加自定义 iptable“兼容”规则:
/etc/ufw/before.rules 或 /etc/ufw/after.rules 或 /etc/ufw/user.rules
这些将由 UFW 读取重新启动后。 - 通过编辑启动文件(例如 rc.local)的混合解决方案
在启动脚本中添加 iptables 命令,重新启动后即可使用!