iptables防火墙备份与恢复

一规则的备份、恢复

防火墙的批量备份和还原用到两个命令iptables-save、iptables-restore,分别用来备份和恢复

·iptables-save备份工具:可结合重定向输出保存到指定文件

1查看当前启用的所有规则

"#注释";"*表名";":链名默认策略"(省略了命令名iptables);"COMMIT"表示提交前面的规则设置

3.3 iptables防火墙备份与恢复_发布内网服务器

2查看指定表中的规则

3.3 iptables防火墙备份与恢复_马向军_02

3备份当前已设置的所有防火墙规则(使用重定向输出到指定文件)

3.3 iptables防火墙备份与恢复_静态地址转换_03

·iptables-restore恢复工具:可结合重定向输入将备份文件恢复到iptables文件

1清除规则并查看

3.3 iptables防火墙备份与恢复_防火墙的备份_04

2恢复备份好的规则

3.3 iptables防火墙备份与恢复_防火墙的备份_05

3保存防火墙配置

即时编写的规则会即时生效,但是重启系统或服务后会失效,因此需要进行保存

两种保存方法

3.3 iptables防火墙备份与恢复_防火墙的恢复_06

4启动和关闭防火墙

和其他服务一样,使用service命令

3.3 iptables防火墙备份与恢复_发布内网服务器_07

5可以直接编辑配置文件来添加规则,保存后重启服务生效

3.3 iptables防火墙备份与恢复_防火墙的恢复_08

3.3 iptables防火墙备份与恢复_发布内网服务器_09

二使用防火墙脚本

·定义基本变量

3.3 iptables防火墙备份与恢复_静态地址转换_10

·加载内核模块

3.3 iptables防火墙备份与恢复_防火墙的备份_11

查看指定模块是否加载;如果搭建FTP服务器设置防火墙规则就需要手动加载模块

3.3 iptables防火墙备份与恢复_发布内网服务器_12

·调整/proc参数

/proc是linux或Unix中的一种伪文件系统机制,提供了访问内核运行结构,改变内核设置的实时数据;它的数据存放在内存中而不是硬盘;

在/proc/sys/下存放着与系统相关的一些可控参数,可以直接用来修改内核行为;(直接修改配置文件或使用脚本修改)

3.3 iptables防火墙备份与恢复_防火墙的恢复_13

·设置具体的iptables规则

1先清空规则,再删除在定义链

3.3 iptables防火墙备份与恢复_防火墙的恢复_14

3.3 iptables防火墙备份与恢复_防火墙的恢复_15

2设置规则链的默认策略

默认所以有链都是允许策略,根据实际情况进行修改

允许的多就默认允许(ACCEPT)

拒绝的多就修改为拒绝(DROP)

3设置nat表中的规则

Nat表主要用在网络型防火墙上,根据实际情况,编写SNAT、DNAT规则来共享互联网和发布服务器,如果没有可以不设置

4设置filter表中的规则

Filter表主要用来过滤数据包;根据实际情况而定

·调用IP地址黑、白名单

当对指定的不连续的IP设置规则时,需要手动挨个的添加规则,比较繁琐;因此使用脚本语句中的for语句可以非常方便的实现IP地址的黑、白名单功能

1建立IP地址表

创建两个文件,分别作为黑名单和白名单,在文件中添加需要放行或拒绝的IP、网络地址;地址每行一个,可以用#号开头的文字来注释

3.3 iptables防火墙备份与恢复_马向军_16

2调用IP地址列表,分别读取白名单和黑名单中的IP

3.3 iptables防火墙备份与恢复_静态地址转换_17

·保存防火墙规则

在脚本的最后添加service iptables save

·给脚本执行权限

Chmod +x /opt/iptables.sh

三 实验

实验目的:发布内网的FTP服务

实验环境:如图所示;其中内网FTP服务器由linux搭建,外网服务器由2008同时搭建web和FTP服务;(ip地址按图配好)内网主机网关指向192.168.1.1;外网实验环境中可以不指网关

3.3 iptables防火墙备份与恢复_马向军_18

实验要求:

网络要求

1内网主机都可以访问互联网,但是不能访问互联网FTP服务也不能ping通外网

主机要求

2内网FTP服务器只提供FTP服务,可以访问互联网(必要条件,不然发布不出去)

实验步骤

网络要求

1搭建内网FTP服务,并在内网客户机上测试

实验环境下只需安装服务启动即可,默认使用匿名用户anyamon空密码即可访问

3.3 iptables防火墙备份与恢复_静态地址转换_19

3.3 iptables防火墙备份与恢复_静态地址转换_20

2将linux网关开启路由功能(两块网卡)(虚拟机上可以再添加一块网卡,所有网卡都用V1,也可以将外网卡和外网主机使用V2)

修改下图值为1,然后重载

3.3 iptables防火墙备份与恢复_防火墙的恢复_21

3配置外网服务器并在外网客户机上测试(略)

4在网关防火墙上配置SNAT,实现内网可以访问互联网;并测试访问

3.3 iptables防火墙备份与恢复_防火墙的备份_22

5在网关防火墙上配置DNAT,将内网FTP服务器发布出去,并测试

3.3 iptables防火墙备份与恢复_防火墙的备份_23

6不允许内网主机访问外网FTP服务

在网关上建规则:丢弃从内网发送过来的21号端口请求包

3.3 iptables防火墙备份与恢复_发布内网服务器_24

7不允许内网ping通外网

3.3 iptables防火墙备份与恢复_防火墙的恢复_25

主机要求

8内网ftp服务器只提供ftp服务

拒绝所有,只允许21号端口且关联20号端口

3.3 iptables防火墙备份与恢复_静态地址转换_26

FTP服务器在配置了防火墙策略后默认只支持客户端的主动模式,而客户端默认是被动模式,因此要么开启客户端的主动模式,要么让服务器两种模式都支持

开启客户端的主动模式:浏览器-internet选项-高级-去掉被动模式的选项勾

3.3 iptables防火墙备份与恢复_发布内网服务器_27

然后才能正常访问

给内网FTP服务器上加载所需模块,让其支持两种模式的客户端连接

3.3 iptables防火墙备份与恢复_防火墙的备份_28

这样只能让内网客户端支持,而外网客户机并不支持,还需要在网关防火墙上加载转发模块

3.3 iptables防火墙备份与恢复_静态地址转换_29