数据包经过linux时的流向图:

源地址发送数据--> {PREROUTING-->路由规则-->POSTROUTING} -->目的地址接收到数据
当你使用:iptables -t nat -A PREROUTING -i eth1 -d 1.2.3.4 -j DNAT --to 192.168.1.40
时,你访问1.2.3.4,linux路由器会在“路由规则”之前将目的地址改为192.168.1.40,并且Linux路由器(iptables)会同时记录下这个连接,并在数据从192.168.1.40返回时,经过linux路由器将数据发送到那台发出请求的机器。
当你使用:iptables -t nat -A POSTROUTING -d 192.168.1.40 -j SNAT --to 192.168.1.1时,数据在出了机器之后,数据源地址改为192.168.1.1,记录该链接,发送到192.168.1.40后,192.168.1.40会将数据返回到地址192.168.1.1。机器192.168.1.1将数据转发到请求的地址
本文详细介绍了在Linux环境下,使用iptables进行网络流量控制时的数据包流向过程。特别是通过PREROUTING和POSTROUTING链实现的DNAT和SNAT功能,帮助读者理解如何改变数据包的目标和源地址。
792

被折叠的 条评论
为什么被折叠?



