在上篇文章中我们介绍了iptables主要的链INPUT,这次我们主要介绍PREROUTING POSTROUTING这两个链主要用于实现nat功能
nat:相信学网络的人对这个应该很熟悉,网络地址转换,一般用于局域网共享上网或者特殊的端口转换服务
PREROUTING:在数据包到达防火墙时进行路由之前执行的规则,作用是改变数据包的目的地址,目的端口
PSOTROUTING:在数据包离开防火墙进行路由判断之后执行的规则,作用是改变数据包的原地址 源端口
1、部署企业上网网关实战,实验环境如下,确保iptables防火墙自身能上外网
net.ipv4.ip_forward = 1 开启转发功能 [root@iptables ~]# sysctl -p net.ipv4.ip_forward = 1 [root@iptables ~]# iptables -P FORWARD ACCEPT 开启FORWARD转发 方法1 [root@iptables ~]# iptables -t nat -A POSTROUTING -s 172.16.10.0/24 -o eth0 -j SNAT --to-source 172.16.80.125 将源地址 172.16.10.0/24网段的地址改成172.16.80.125 即iptables的外网卡地址 方法2 适用于没有固定ip [root@iptables ~]# iptables -t nat -A POSTROUTING -s 172.16.10.0/24 -o eth0 -j MASQUERADE 在内网服务器上面在测试访问外网情况
可以看到内网服务器此时已经可以访问外网了
2、服务器映射
没有做映射前
做映射规则,并抓包 [root@iptables ~]# tcpdump -i any port 80 -s0 -n -vvv -w httpd.cap [root@iptables ~]# iptables -t nat -A PREROUTING -d 172.16.80.125 -p tcp --dport 80 -j DNAT --to-destination 172.16.10.102:80 映射后,在此做访问测试
大家仔细观察这个报文,完全符合我们设置的转发规则
下次我们再解释企业部署iptables防火墙的实际流程及注意事项
本文出自 “厚德载物” 博客,谢绝转载!
原文地址:http://huaxin.blog.51cto.com/903026/1835439