iptables地址装换

版权声明:来自波博 https://blog.csdn.net/qq_42906907/article/details/81739484

对于linux系统中配置iptables地址转换,可能很多人跟我一样,在于记忆存方面存在一定的困难。在学习iptables的时候,感觉nat理解很容易,一旦后期想到用的使用就容易把气质涉及到的ip地址搞混乱,到底应该用哪个,源ip呢还是目的ip,一直很纠结这个问题。下面分享一下个人理解,以供参考。

在任何一个IP数据包中,都会有Source IP Address与Destination IP Address这两个字段,数据包所经过的路由器也是根据这两个字段是判定数据包是由什么地方发过来的,它要将数据包发到什么地方去。而iptables的DNAT与SNAT就是根据这个原理,对Source IP Address与Destination IP Address进行修改。

1 DNAT:目标地址转换,需要把数据报文中的目的地址做一个转换。

iptables  -t nat -A PREROUTING -d 转换前的目标ip  -j DNAT --to-destination 转换后的目标ip

iptables  -t nat -A PREROUTING -d 192.168.5.15  -j DNAT --to-destination 192.168.4.15

说明:把访问192.168.5.15数据转发到192.168.4.15上,改变数据包的目标地址

2 SNAT:原地址转换,需要把数据报文中的源地址做转换

iptables  -t nat  -A POSTROUTING  -s 转换之前的源ip  -s SNAT --to-source 转换之后的源ip

iptables  -t nat  -A POSTROUTING  -s 192.168.5.15  -s SNAT --to-source 58.20.51.66

说明:把报文中的源地址住192.168.5.15转换成58.20.51.66,一般会用于对网站等服务器的真实ip做次策略,防止真实ip被泄露,数据到达目标机器之后,会根据你转换之后的ip地址返回结果。

附件:动态地址转换( MASQUERADE),用户内网访问互联网

 iptables  -t nat  -A POSTROUTING -s 192.168.5.0/24  -o eth0  -j  MASQUERADE  
 # MASQUERADE也可用一个公网ip代替

猜你喜欢

转载自blog.csdn.net/qq_42906907/article/details/81739484