You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Ubuntu 22.04.1 LTS(树莓派)重启后iptables规则丢失问题求助

Ubuntu 22.04.1 LTS(树莓派)重启后iptables规则丢失问题求助

大家好,我是刚接触Ubuntu的新手,最近在树莓派上配置iptables防火墙规则时遇到了棘手的问题——每次重启设备后,之前设置的规则就全部消失了,试了好多次都没解决,想请大家帮忙看看哪里出错了😭

问题现象

我尝试了多种方法保存iptables配置,期望重启后规则能自动加载,但每次重启后执行sudo iptables -L查看,之前配置的链规则都不见了。

我的操作步骤

1. 配置iptables规则

我按以下顺序执行了这些命令来设置规则:

  • sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
  • sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT
  • sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
  • sudo iptables -A INPUT -j DROP
  • sudo iptables -I INPUT 1 -i lo -j ACCEPT

2. 尝试保存并自动恢复规则

我参考了官方文档里的两种方案,都没成功,这里详细说一下我尝试的方案2的操作:

  • 首先保存当前规则到文件:
    sudo sh -c "iptables-save > /etc/iptables.rules"
    
  • /etc/network/if-pre-up.d/目录下创建iptablesload脚本,用Vim编辑内容如下:
    #!/bin/sh
    iptables-restore < /etc/iptables.rules
    exit 0
    
    编辑完成后用:wq保存退出。
  • /etc/network/if-post-down.d/目录下创建iptablessave脚本,内容如下:
    #!/bin/sh
    iptables-save -c > /etc/iptables.rules
    if [ -f /etc/iptables.downrules ]; then
    iptables-restore < /etc/iptables.downrules
    fi
    exit 0
    
    同样用Vim保存退出。
  • 给两个脚本添加执行权限:
    • sudo chmod +x /etc/network/if-post-down.d/iptablessave
    • sudo chmod +x /etc/network/if-pre-up.d/iptablesload

结果

做完以上所有操作后,我重启了树莓派,但再次执行sudo iptables -L时,之前配置的规则还是全部消失了。

作为Ubuntu新手,实在找不到问题所在,恳请各位大佬帮忙分析指点,谢谢大家!

备注:内容来源于stack exchange,提问作者Chookitypok

火山引擎 最新活动