如果我的服务器上有两个NIC,那么
iptables -t nat -A POSTROUTING -j MASQUERADE和
iptables -t nat -A POSTROUTING -j MASQUERADE --source 192.168.0.0/24?
当未指定--source时,iptables将使用什么作为默认值?
发布于 2011-09-23 13:07:27
它是任何地址0.0.0.0。如果您运行iptables -t nat -L -v -n,您将看到如下内容:
Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
15 923 MASQUERADE all -- * * 0.0.0.0/0 0.0.0.0/0 发布于 2011-09-23 13:11:43
系统将遵循通常的规则,将源地址定义为机器的“最接近”目标的本地地址。在实践中,这通常意味着源将是到达目的地下一跳的路由的正常源地址。这通常是分配给发送后NAT数据包的接口的IP地址。
发布于 2011-09-26 00:54:26
使用伪装的目的是将源地址修改为它将要退出的接口的地址;如果传出接口具有静态IP,则使用SNAT,不要使用伪装;当接口关闭时,所有连接都会被遗忘,并且本质上是针对任何具有不断变化的IP的接口。
如果希望根据数据包的实际来源进行筛选,则应在-s x.x.x.x/xx之前使用-j MASQUERADE。
https://serverfault.com/questions/314818
复制相似问题