我知道 SNAT 和 DNAT 是什么意思。而且我知道当我想配置一个本地网络服务器开放服务到互联网时,我应该使用:
- SNAT 帮助将来自本地网络服务器的数据包更改为路由器的地址。
- DNAT 帮助将来自互联网的数据包更改为服务器的本地网络 IP
但是当我们使用 MASQUERADE 共享网络时,我们不需要为这些来自互联网的数据包配置 DNAT。有的文章说MASQUERADE和SNAT一样,除了自动查找路由器的外网ip。但是为什么MASQUERADE不需要DNAT配置呢?并且假设 MASUQERADE 可以为我们做这些事情,为什么我们设置 DNAT 时 iptables 不自动为我们设置 SNAT?
编辑
我只是有一个新问题。假设本地网络中的两个用户浏览同一个网页,并且他们打开的客户端端口是相同的。当网页服务器响应包给路由器时,路由器如何知道这些包属于哪个用户?