萬盛學電腦網

 萬盛學電腦網 >> 服務器教程 >> Ubuntu中保存iptables防火牆規則的例子

Ubuntu中保存iptables防火牆規則的例子

 buntu下保存iptables規則並開機自動加載的方法:

Saving iptables 保存設置

機器重啟後,iptables中的配置信息會被清空。您可以將這些配置保存下來,讓iptables在啟動時自動加載,省得每次都得重新輸入。iptables-save和iptables-restore 是用來保存和恢復設置的。

Configuration onstartup 開機自動加載配置


先將防火牆規則保存到/etc/iptables.up.rules文件中

# iptables-save > /etc/iptables.up.rules   #需要sudo su - root切換用戶後執行,直接sudo cmd是不行的

Then modify the/etc/network/interfacesscript to apply the rulesautomatically (the bottom line is added)

然後修改腳本/etc/network/interfaces,使系統能自動應用這些規則(最後一行是我們手工添加的)。

auto eth0

iface eth0 inet dhcp

pre-up iptables-restore < /etc/iptables.up.rules


當網絡接口關閉後,您可以讓iptables使用一套不同的規則集。

auto eth0

iface eth0 inet dhcp

pre-up iptables-restore < /etc/iptables.up.rules

post-down iptables-restore < /etc/iptables.down.rules

Tips 技巧

如果你經常手動編輯iptables

大多數人並不需要經常改變他們的防火牆規則,因此只要根據前面的介紹,建立起防火牆規則就可以了。但是如果您要經常修改防火牆規則,以使其更加完善,那麼您可能希望系統在每次重啟前將防火牆的設置保存下來。為此您可以在/etc/network/interfaces文件中添加一行:

pre-up iptables-restore < /etc/iptables.up.rules

post-down iptables-save > /etc/iptables.up.rules

The line "post-down iptables-save > /etc/iptables.up.rules"will save the rules to be used on the next boot.

"post-down iptables-save > /etc/iptables.up.rules"會將設置保存下來,以便下次啟動時使用。

Usingiptables-save/restore to test rules 使用iptables-save/restore測試規則

使用iptables-save和iptables-restore可以很方便地修改和測試防火牆規則。首先運行iptables-save將規則保存到一個文件,然後用編輯器編輯該文件。

# iptables-save > /etc/iptables.test.rules

# gedit /etc/iptables.test.rules


如果您根據前面的例子建立了防火牆規則,iptables-save將產生一個類似於如下內容的文件:

# Generated by iptables-save v1.3.1 on Sun Apr 2306:19:53 2006

*filter

:INPUT ACCEPT [368:102354]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [92952:20764374]

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

-A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT

-A INPUT -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -m limit --limit 5/min -j LOG --log-prefix"iptables denied: " --log-level 7

-A INPUT -j Drop

COMMIT

# Completed on Sun Apr 23 06:19:53 2006

文件內容其實就是各種iptables命令,只不過把命令名iptables省略了。您可以隨意對這個文件進行編輯,然後保存。接著使用以下命令測試修改後的規則:

# iptables-restore < /etc/iptables.test.rules


之前您如果沒有在/etc/network/interfaces文件中添加iptables-save命令,那麼測試之後,別忘了把您所作的修改保存起來。

# iptables-save > /etc/iptables.up.rules


補充:iptables防火牆規則的備份與恢復


首先,保存iptables規則到一個文件
 
# sudo iptables-save > /etc/iptables.up.rules

然後,修改 /etc/network/interfaces 腳本自動應用這些規則(末行是添加的)
 
sudo echo "pre-up iptables-restore < /etc/iptables.up.rules" >> /etc/network/interfaces

也可以准備一組規則來自動應用它:
 

首先,保存iptables規則到一個文件
 
# sudo iptables-save > /etc/iptables.up.rules
然後,修改 /etc/network/interfaces 腳本自動應用這些規則(末行是添加的)
 

sudo echo "pre-up iptables-restore < /etc/iptables.up.rules" >> /etc/network/interfaces
也可以准備一組規則來自動應用它:

sudo echo " pre-up iptables-restore < /etc/iptables.up.rules" >>/etc/network/interfaces
sudo  echo "post-down iptables-restore < /etc/iptables.down.rules "  >> /etc/network/interfaces

上述方法在 Ubuntu 12.04 已測試過,生效。

sudo echo " pre-up iptables-restore < /etc/iptables.up.rules" >>/etc/network/interfaces
sudo  echo "post-down iptables-restore < /etc/iptables.down.rules "  >> /etc/network/interfaces
上述方法在 Ubuntu 12.04 已測試過,生效。

copyright © 萬盛學電腦網 all rights reserved