Ubuntu iptables防火墙规则配置方法

发布时间:2020-10-27编辑:脚本学堂
ubuntu下iptables防火墙规则的配置方法,ubuntu下保存iptables规则并开机自动加载的方法,ubuntu下iptables规则配置教程。

ubuntu下保存iptables规则并开机自动加载:
Saving iptables 保存设置
机器重启后,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 已测试过,生效。