当前位置:网站首页 / Linux / 正文

保存iptable规则并开机自动加载

时间:2018年06月30日 | 作者 : liuhui | 分类 : Linux | 浏览: 9942次 | 评论 0

阿里云限量代金券 | 此广告位出租25元/月

iptables-save

利用iptables-save命令可以将iptable规则保存到一个持久化存储的目录中,不同的系统保存的目录也有所不同(IPv4):

Debian/Ubuntu: iptables-save > /etc/iptables/rules.v4

RHEL/CentOS: iptables-save > /etc/sysconfig/iptables

保存之后,可以通过iptables-restore命令载入(IPv4):

Debian/Ubuntu: iptables-restore < /etc/iptables/rules.v4

RHEL/CentOS: iptables-restore < /etc/sysconfig/iptables

上面是针对IPv5的规则,如果你有使用IPv6的规则,通常需要执行下面对应的IPv6保存和恢复的命令(IPv4:

Debian/Ubuntu: ip6tables-save > /etc/iptables/rules.v6
RHEL/CentOS: ip6tables-save > /etc/sysconfig/ip6tables

注意: 这种方式只是保存规则和恢复的一种方式,并不是说保存规则后下次启动就会自动加载。

第一种开机启动方式

Debian/Ubuntu 系统:


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

echo -e '#!/bin/bash\n/sbin/iptables-restore < /etc/iptables.up.rules' > /etc/network/if-pre-up.d/iptables

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

一定要记住这点,如果要想系统启动后自动加载请看下面的方式。

第二种开机启动方式:iptables-persistent (Debian/Ubuntu)

从 Ubuntu 10.04 LTS (Lucid) 和 Debian 6.0 (Squeeze) 版本开始,可以通过安装一个名为 “iptables-persistent” 的包,安装后它以守护进程的方式来运行,系统重启后可以自动将保存的内容加载到iptables中。当然前提也是需要先保存规则。

安装

apt-get install iptables-persistent

保存规则

service  iptables-persistent save
* Saving rules...                                                                                                                                                                 *  IPv4...                                                                                                                                                                        *  IPv6...

ls -1 /etc/iptables/
rules.v4
rules.v6

cat  /etc/iptables/rules.v4
# Generated by iptables-save v1.4.21 on Thu Aug 20 08:59:52 2015
*filter
:INPUT ACCEPT [5726:774869]
:FORWARD ACCEPT [170:27598]
:OUTPUT ACCEPT [5467:789045]
COMMIT
# Completed on Thu Aug 20 08:59:52 2015
# Generated by iptables-save v1.4.21 on Thu Aug 20 08:59:52 2015
*nat
:PREROUTING ACCEPT [23:1596]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [9:540]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.0.0.0/16 -o eth0 -j MASQUERADE
COMMIT
# Completed on Thu Aug 20 08:59:52 2015

RHEL 和 CentOS 保存规则

RHEL/CentOS 提供了简单的方式来持久化存储iptables规则,可以直接通过iptables服务的命令来完成:

chkconfig --list | grep iptables
 iptables       0:off 1:off 2:on 3:on 4:on 5:on 6:off

# 如果不是开机启动,需要执行下面命令
chkconfig iptables on

# 保存规则
service iptables save

IPv4规则信息会保存到 /etc/sysconfig/iptables 文件中,IPv6 规则保存到 /etc/sysconfig/ip6tables 文件中。 必须执行service iptables save 命令才会保存,保存后系统重启后会自动加载。


推荐您阅读更多有关于“”的文章

猜你喜欢

网站分类
关注电脑博士
友情链接

分享:

支付宝

微信