11、iptables——NAT表

iptables——NAT表

一、NAT表

Network Address Translation:解决了Ipv4网络地址不够的问题,一个局域网或多个局域网公用一个公网地址的网络地址转换技术。

二、实验环境

为了模拟互联网外网主机不写网关。

SNAT环境:

apGXnK.png

DNAT环境:

apdzrR.png

三、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规则了。

aprstx.png

当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器