ubuntu

Ubuntu iptables如何保存配置

小樊
84
2025-02-16 10:16:34
栏目: 智能运维

在 Ubuntu 系统中,iptables 的规则默认不会持久化保存。这意味着在系统重启后,之前设置的规则将会丢失。为了使 iptables 规则在重启后依然生效,你需要将规则保存到文件中,并在系统启动时自动加载这些规则。

以下是保存和恢复 iptables 规则的步骤:

保存 iptables 规则

  1. 使用 iptables-save 命令保存规则:

    sudo iptables-save > /etc/iptables/rules.v4
    

    这条命令会将当前的 IPv4 规则保存到 /etc/iptables/rules.v4 文件中。如果你需要保存 IPv6 规则,可以使用:

    sudo iptables-save > /etc/iptables/rules.v6
    
  2. 确保规则文件可读:

    确保 /etc/iptables/rules.v4/etc/iptables/rules.v6 文件对 root 用户是可读的。

    sudo chmod 600 /etc/iptables/rules.v4
    sudo chmod 600 /etc/iptables/rules.v6
    

恢复 iptables 规则

  1. 使用 iptables-restore 命令恢复规则:

    在系统启动时,你可以使用 iptables-restore 命令来加载保存的规则。你可以通过编辑 /etc/network/if-pre-up.d/iptables 文件来实现这一点。

    创建或编辑 /etc/network/if-pre-up.d/iptables 文件:

    sudo nano /etc/network/if-pre-up.d/iptables
    

    添加以下内容:

    #!/bin/sh
    /sbin/iptables-restore < /etc/iptables/rules.v4
    /sbin/ip6tables-restore < /etc/iptables/rules.v6
    

    保存并关闭文件。

  2. 赋予脚本执行权限:

    sudo chmod +x /etc/network/if-pre-up.d/iptables
    
  3. 测试脚本:

    你可以手动运行脚本来测试它是否正常工作:

    sudo /etc/network/if-pre-up.d/iptables
    

使用 ufw(Uncomplicated Firewall)

如果你更喜欢使用 ufw 来管理防火墙规则,ufw 会自动保存和恢复规则。你可以通过以下命令启用 ufw

sudo ufw enable

然后,你可以使用 ufw 命令来管理规则,例如:

sudo ufw allow 80/tcp
sudo ufw status

ufw 会在系统启动时自动加载和保存规则。

通过以上步骤,你可以确保 iptables 规则在 Ubuntu 系统重启后依然生效。

0
看了该问题的人还看了