11、iptables——NAT表
iptables——NAT表
一、NAT表
Network Address Translation:解决了Ipv4网络地址不够的问题,一个局域网或多个局域网公用一个公网地址的网络地址转换技术。
二、实验环境
为了模拟互联网外网主机不写网关。
SNAT环境:
DNAT环境:
三、iptables——NAT表的规则编写
路由后源地址转换、路由前目标地址转换
1、NAT表的三个链
1)PREROUTING链:路由前位置的规则
2)POSTROUTING链:路由后位置的规则
3)OUTPUT链:出站位置规则
2、SNAT源地址转换的规则编写
1、POSTROUTING链配置SNAT:
1)手动配置转换的外网地址: iptables -t nat -I/A(原表空的so都行) POSTROUTING -p tcp -o eth1(外网端口) -s 192.168.1.0/24(Ip或者网段都行) -j SNAT(源地址转换) --to-source 外网地址(也可以是一个范围)
2)动态获得转换的外网地址: iptables -t nat -I/A(原表空的so都行) POSTROUTING -p tcp -o eth1(外网端口) -s 192.168.1.0/24(Ip或者网段都行) -j MASQUERADE (一律按照外网端口动态获得的IP地址转换)
2、需要注意Filter表中的FORWARD规则是否允许数据转发:
清除掉FORWARD的规则使其允许所有转发:iptables -t filter -F FORWARD
3、DNAT目标地址转换的规则编写
1、PREROUTING链配置DNAT:
iptables -t nat -A/-I PREROUTING -i ethX(外网端口)-d 外网映射地址 -p tcp(协议) --dport 外网映射端口 -j DNAT --to-destination 内网地址:端口
2、需要注意Filter表中的FORWARD规则是否允许数据转发:因为目标地址转换完毕后,源地址和目标地址都和路由的主机无关,所以要检查Filter的FORWARD规则了。