NAT技术背景
·缓解当前可用IPv4地址的紧缺
·私有IP地址在公网不可路由,无法访问公网地址
·iptables利用NAT表,将内网地址与外网地址进行转换,从而进行内网与外网之间的通信
SNAT和DNAT的区别
SNAT:改变数据包的源地址。当内网数据包到达防火墙后,防火墙会使用外部地址替换掉数据包的源IP地址(目的IP地址不变),使网络内部主机能够与网络外部主机通信。
DNAT: 改变数据包的目的地址。当防火墙收到来自外网的数据包后,会将该数据包的目的IP地址进行替换(源IP地址不变),重新转发到内网的主机。
SNAT和DNAT规则的应用
实验环境搭建
在vmware环境下进行测试,2台linux虚拟机,一台window7虚拟机.使用custom自定义桥接方式到同一虚拟网络,本机测试使用VMnet3, 然后在虚拟机编辑中将VMnet3桥接到本地物理机无线网卡上,完成三台虚拟机互联。
NAT规则链介绍
·PREROUTING:修改到达防火墙数据包的目的IP地址
·POSTROUTING:修改要离开防火墙数据包的源IP地址
·OUTPUT:修改本地产生的数据包的目的IP地址
SNAT实验拓扑
·完成网卡基本IP地址/掩码/网关等配置
-注意Win7-pc2不指网关
·测试连通性
·添加SNAT规则
-t: 指定规则表
-A: 添加一条规则到某一条规则链中
-s: 指定数据包的源IP地址或网段
-o: 指定数据包从哪一块网卡发出去
-j: 指定一个默认策略(动作)来处理数据包
--to-source: 指定执行SNAT策略后数据包的源IP
·查看SNAT规则
·测试连通性
DNAT实验拓扑
在做实验之前,需要将原来的那台Linux-pc1设置为一台Web服务器,并做一个简单的html网页,然后通过外网访问
·在Linux中设置Apache服务器
·添加并查看DNAT规则
-P: 指定匹配数据包的通信协议(目前DNAT只支持TCP/UDP/ICMP)
--dport: 指定协议端口
--to--destination: 指定执行DNAT策略后数据包的目的IP
·在window7-pc2虚拟机上进行测试