防火墙的基础:linux防火墙主要工作在网络层,属于典型的包过滤防火墙。
iptables采用了表和链的分层结构。
规则表分为以下4种
1)filter表:用来对数据包进行过滤,表内包含三个链,即:INPUT,FORWARD,OUTPUT
2)Nat表:nat表主要用来修改数据包的ip地址、端口号等信息。包含三个链,即PREROUTING,POSTROUTING,OUTPUT
3)Mangle表:用来修改数据包的TOS、TTL,或者为数据包设置MARL标记,实现流量×××,策略路由等高级应用,包含五个链,PREROUTING,POSTROUTING,INPUT,OUTPUT,FORWARD
4)Raw表:用来决定是否对数据包进行状态跟踪,包含两个链:即OUTPUT,PREROUTING

规则链分为以下5种
1)INPUT链:当收到访问防火墙本机地址的数据包(入站),应用此链中的规则。
2)OUTPUT链:当防火墙本机向外发送数据包(出站)时,应用此链中的规则。
3)FORWARD链:当收到需要通过防火墙中转发送给其他地址的数据包(转发)时,应用此链中的规则。
4)PREROUTING链:在对数据包做路由选择之前,应用此链中的规则。
5)POSTROUTING链:在对数据包做路由选择之后,应用此链中的规则。
一、SNAT策略
SNAT和我们在路由器上做的PAT是一样的,为了局域网接入internet,原理就不说了,直接做实验。
1、实验环境
iptables防火墙_第1张图片

1在虚拟机上做实验简化为下图所示:
iptables防火墙_第2张图片
2.网站服务器和Internet测试机配地址
iptables防火墙

iptables防火墙
3.网关服务器上添加两块网卡,并开启路由转发功能:
iptables防火墙_第3张图片
4.在网站服务器上搭建网站
iptables防火墙
记得重启服务
iptables防火墙
做好的样子
iptables防火墙_第4张图片
5.在internet测试机上同样搭建网站(方法同上)
iptables防火墙_第5张图片
6.在网关服务器上配置SNAT策略
iptables防火墙
7.在内部网站服务器上访问http://173.16.16.16
iptables防火墙_第6张图片
如果做不同的话
分别在测试机和网关服务器上配置允许其他主机ping通本机。
iptables防火墙_第7张图片

测试机

iptables防火墙
8.到internet测试机上查看日志,发现访问者不是192.168.1.7,而是173.16.16.1就对了
iptables防火墙
iptables防火墙

二、DNAT策略
DNAT策略与我们之前学习过的静态nat是一样的,可以一对一,也可以端口映射,主要目的是为了发布服务器。
1、实验环境和上一个实验一样
iptables防火墙_第8张图片
2、在网关服务器上执行DNAT命令
iptables防火墙
3、在internet测试机上访问:http://173.16.16.1,打开的网站是192.168.1.7
iptables防火墙_第9张图片