防火墙的基础: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、实验环境
1在虚拟机上做实验简化为下图所示: 2.网站服务器和Internet测试机配地址
3.网关服务器上添加两块网卡,并开启路由转发功能: 4.在网站服务器上搭建网站 记得重启服务 做好的样子 5.在internet测试机上同样搭建网站(方法同上) 6.在网关服务器上配置SNAT策略 7.在内部网站服务器上访问http://173.16.16.16 如果做不同的话 分别在测试机和网关服务器上配置允许其他主机ping通本机。
测试机
8.到internet测试机上查看日志,发现访问者不是192.168.1.7,而是173.16.16.1就对了
二、DNAT策略 DNAT策略与我们之前学习过的静态nat是一样的,可以一对一,也可以端口映射,主要目的是为了发布服务器。 1、实验环境和上一个实验一样 2、在网关服务器上执行DNAT命令 3、在internet测试机上访问:http://173.16.16.1,打开的网站是192.168.1.7