溫馨提示×

iptables如何保存規則設置

小樊
43
2025-08-13 03:24:08
欄目: 編程語言

在Linux系統中,使用iptables命令配置的防火墻規則通常不會自動保存。當系統重啟時,這些規則會丟失。為了在重啟后保留iptables規則,你需要將它們保存到一個文件中,并在啟動時自動加載這些規則。以下是在不同Linux發行版上保存和恢復iptables規則的方法:

在Debian/Ubuntu上:

  1. 保存規則

    sudo iptables-save > /etc/iptables/rules.v4
    
  2. 恢復規則: 在系統啟動時自動加載規則,可以創建一個啟動腳本:

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

    添加以下內容:

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

    賦予腳本執行權限:

    sudo chmod +x /etc/network/if-pre-up.d/iptables
    

在Red Hat/CentOS上:

  1. 保存規則

    sudo service iptables save
    

    或者

    sudo iptables-save > /etc/sysconfig/iptables
    
  2. 恢復規則: 在系統啟動時自動加載規則,可以編輯/etc/rc.d/rc.local文件(在較新的系統中可能是/etc/rc.d/rc.local.d/目錄下的文件):

    sudo nano /etc/rc.d/rc.local
    

    exit 0之前添加以下行:

    iptables-restore < /etc/sysconfig/iptables
    

在Fedora上:

  1. 保存規則

    sudo service iptables save
    

    或者

    sudo iptables-save > /etc/firewalld/zones/public.xml
    
  2. 恢復規則: 使用firewalld服務來管理iptables規則:

    sudo firewall-cmd --runtime-to-permanent
    

在Arch Linux上:

  1. 保存規則

    sudo iptables-save > /etc/iptables/iptables.rules
    
  2. 恢復規則: 創建一個啟動腳本:

    sudo nano /etc/systemd/system/iptables-restore.service
    

    添加以下內容:

    [Unit]
    Description=Restore IPTables rules
    After=network.target
    
    [Service]
    Type=oneshot
    ExecStart=/sbin/iptables-restore < /etc/iptables/iptables.rules
    
    [Install]
    WantedBy=multi-user.target
    

    啟用并啟動服務:

    sudo systemctl enable iptables-restore.service
    sudo systemctl start iptables-restore.service
    

請注意,不同的Linux發行版可能會有不同的包和服務名稱,例如iptables-servicesfirewalld。確保你使用的是適合你系統的命令和方法。此外,如果你使用的是SELinux,可能還需要配置相關的策略以允許iptables規則的加載。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女