我试图设置一个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
那有什么区别?
当数据包在本机上发起时,第一个select源IP地址,源IP地址不受其他因素的强制。 也就是说,当系统必须select源地址时,这就定义了它的select。
第二个更改正在路由的已经存在的数据包的源IP地址。
一个影响数据包生成 ,另一个影响数据包转发