centos/ubuntu iptables持久生效

iptables规则设置完成后重启会丢失,有两种方式可以实现永久生效
  1. 网卡启动前执行脚本,重新配置开发端口
  2. iptables-restore,iptables-save完成规则保存和重载
网卡启动配置增加iptables脚本方式
  • centos
    network-scripts/etc/sysconfig/network-scripts/ifup-post 增加iptables命令即可

    1
    echo "iptables -I INPUT -p tcp --dport 8080 -j ACCEPT" >> network-scripts/etc/sysconfig/network-scripts/ifup-post
  • ubuntu/debian
    /etc/network/if-up.d/* 建立配置文件增加脚本,给执行权限

    1
    2
    echo "iptables -I INPUT -p tcp --dport 8080 -j ACCEPT" > /etc/network/if-up.d/test_shell
    chmod +x /etc/network/if-up.d/test_shell
    iptables-restore, iptables-save方式
  • 保存规则命令

    1
    iptables-save > /etc/iptables.save.rules
  • 加载规则命令

    1
    iptables-restore < /etc/iptables.save.rules
  • 规则保存和重载命令放到 /etc/network/interfaces

    1
    2
    echo "pre-down iptables-save > /etc/iptables.save.rules" ## 网卡关闭前保存规则
    echo "pre-up iptables-restore < /etc/iptables.save.rules" ## 网卡启动前重载规则