我正在尝试设置一个Linux机器作为路由器,但我有点困惑下面的规则将如何影响数据包。
例如在路由表中我可以有
default via 10.10.1.1 dev eth0 src 192.168.1.1
将数据包的源 IP 地址更改为 192.168.1.1
在 iptables 中,我可以拥有
-A POSTROUTING -s 192.168.0.0/255.255.0.0 -o eth0 -j SNAT --to 192.168.1.1
这似乎还询问返回数据包的下一跳应到达 192.168.1.1
那么有什么区别呢?
答案1
第一个是当数据包源自此机器时选择源 IP 地址,并且源 IP 地址不受任何其他因素的强制。也就是说,当系统必须选择源地址时,这决定了它的选择。
第二个改变正在路由的现有数据包的源 IP 地址。
一个影响数据包一代另一个影响数据包转发。