sla*_*fer -1 linux nat iptables linux-networking masquerade
以下2个命令之间的优缺点是什么:
iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.0/16 -j MASQUERADE
Run Code Online (Sandbox Code Playgroud)
和
iptables -t nat -A POSTROUTING -j MASQUERADE
Run Code Online (Sandbox Code Playgroud)
为什么会出现这个问题的一些背景:
我提出了一个问题AWS VPC + IPtables + NAT: Port Forwarding is not working and I get it works only by making this change。
因此这个问题。
更新:
在看到反对票后(强大的反对派选民太忙了,无法评论他们为什么反对投票),我稍微编辑了这个问题。我看到人们只是理解英文单词的字面意思,并没有费心去理解它的本质。因此我不得不编辑问题。
此外,如果您不解释为什么拒绝投票,这是一种可耻的行为。这样 OP 将永远不会有机会改进他的帖子或知道帖子有什么问题。
这个命令
iptables -t nat -A POSTROUTING -j MASQUERADE
Run Code Online (Sandbox Code Playgroud)
非常广泛,因为它将对通过此框路由的每个连接进行 NAT,而不管源/目标如何。如果没有其他一些规则将其限制在特定方向,您几乎不应该使用此规则。这个过于宽泛的规则几乎从来都不是正确的答案。
至于为什么它解决了您之前问题中的症状。 通过对所有内容使用 NAT,您将隐藏路由的错误配置。由于具有这种过于宽泛的规则的设备两侧的机器基本上会认为它们正在与防火墙进行通信。
由于您的问题似乎与传入连接有关,因此您还应该了解使用这样的规则将隐藏传入数据包的源地址。这意味着您保留的任何日志都将毫无价值,因为它们所做的只是将防火墙的 IP 记录为源地址。
| 归档时间: |
|
| 查看次数: |
1408 次 |
| 最近记录: |