修改后如何让UFW读取当前的iptables规则? (乌班图)

修改后如何让UFW读取当前的iptables规则? (乌班图)

我正在使用 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 并想添加一些复杂的规则,你就被塞满了!例如添加一个区域。

解决方法

  1. 仅使用 iptables 和 iptables-persistent 来在重新启动时重新加载其配置。
  2. 通过编辑 ufw init 文件的混合解决方案:
    在以下位置添加自定义 iptable“兼容”规则:
    /etc/ufw/before.rules 或 /etc/ufw/after.rules 或 /etc/ufw/user.rules
    这些将由 UFW 读取重新启动后。
  3. 通过编辑启动文件(例如 rc.local)的混合解决方案
    在启动脚本中添加 iptables 命令,重新启动后即可使用!

相关内容