这个规则会让内核至少看到同一个数据包两次吗?
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
在一个被遗忘的配置文件中找到了这些东西。那里还有一条关于选项“-d 0/0”的注释,当在 iptables 中使用某些日志目标时,这个选项是否有意义——以避免错误的流量计算?
答案1
不会,数据包不会被看到两次。这两个iptables
规则中只有一个会与给定的数据包匹配,因为数据包不能同时通过两个不同的网络接口退出系统。路由算法始终选择(最多)一个输出接口。
答案2
-o
指定一个特定的数据包已测试对于其接口,它没有指定数据包要离开由该接口控制。(后者将是路由,由控制ip route
。)