技術(shù)員聯(lián)盟提供win764位系統(tǒng)下載,win10,win7,xp,裝機(jī)純凈版,64位旗艦版,綠色軟件,免費(fèi)軟件下載基地!

當(dāng)前位置:主頁(yè) > 教程 > 服務(wù)器類 >

Ubuntu中保存iptables防火墻規(guī)則的例子

來(lái)源:技術(shù)員聯(lián)盟┆發(fā)布時(shí)間:2018-05-27 12:15┆點(diǎn)擊:

buntu下保存iptables規(guī)則并開(kāi)機(jī)自動(dòng)加載的方法:

Saving iptables 保存設(shè)置

機(jī)器重啟后,iptables中的配置信息會(huì)被清空。您可以將這些配置保存下來(lái),讓iptables在啟動(dòng)時(shí)自動(dòng)加載,省得每次都得重新輸入。iptables-save和iptables-restore 是用來(lái)保存和恢復(fù)設(shè)置的。

Configuration onstartup 開(kāi)機(jī)自動(dòng)加載配置


先將防火墻規(guī)則保存到/etc/iptables.up.rules文件中

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

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

然后修改腳本/etc/network/interfaces,使系統(tǒng)能自動(dòng)應(yīng)用這些規(guī)則(最后一行是我們手工添加的)。

auto eth0

iface eth0 inet dhcp

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


當(dāng)網(wǎng)絡(luò)接口關(guān)閉后,您可以讓iptables使用一套不同的規(guī)則集。

auto eth0

iface eth0 inet dhcp

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

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

Tips 技巧

如果你經(jīng)常手動(dòng)編輯iptables

大多數(shù)人并不需要經(jīng)常改變他們的防火墻規(guī)則,因此只要根據(jù)前面的介紹,建立起防火墻規(guī)則就可以了。但是如果您要經(jīng)常修改防火墻規(guī)則,以使其更加完善,那么您可能希望系統(tǒng)在每次重啟前將防火墻的設(shè)置保存下來(lái)。為此您可以在/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"會(huì)將設(shè)置保存下來(lái),以便下次啟動(dòng)時(shí)使用。

Usingiptables-save/restore to test rules 使用iptables-save/restore測(cè)試規(guī)則

使用iptables-save和iptables-restore可以很方便地修改和測(cè)試防火墻規(guī)則。首先運(yùn)行iptables-save將規(guī)則保存到一個(gè)文件,然后用編輯器編輯該文件。

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

# gedit /etc/iptables.test.rules


如果您根據(jù)前面的例子建立了防火墻規(guī)則,iptables-save將產(chǎn)生一個(gè)類似于如下內(nèi)容的文件:

# 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

文件內(nèi)容其實(shí)就是各種iptables命令,只不過(guò)把命令名iptables省略了。您可以隨意對(duì)這個(gè)文件進(jìn)行編輯,然后保存。接著使用以下命令測(cè)試修改后的規(guī)則:

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


之前您如果沒(méi)有在/etc/network/interfaces文件中添加iptables-save命令,那么測(cè)試之后,別忘了把您所作的修改保存起來(lái)。

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


補(bǔ)充:iptables防火墻規(guī)則的備份與恢復(fù)


首先,保存iptables規(guī)則到一個(gè)文件
 
# sudo iptables-save > /etc/iptables.up.rules

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

也可以準(zhǔn)備一組規(guī)則來(lái)自動(dòng)應(yīng)用它:
 

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

sudo echo "pre-up iptables-restore < /etc/iptables.up.rules" >> /etc/network/interfaces
也可以準(zhǔn)備一組規(guī)則來(lái)自動(dòng)應(yīng)用它:

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 已測(cè)試過(guò),生效。

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 已測(cè)試過(guò),生效。