假设我向端口 80 上的 Web 服务器发出请求,我的源端口是 53456。通常在单 NAT 设置中,端口会映射到外部和内部路由表中,Web 服务器将顺利到达目的地。
如果是双重 NAT,那么 Web 服务器在发送请求时难道不知道我的计算机源端口实际上已经映射到 2# 路由器上了吗?
如果在从 2# 路由器发送源端口时端口被映射/更改,那么 1# 路由器如何知道将我的源端口发送到哪里?
答案1
双 NAT 的工作方式与单 NAT 相同,只是执行了两次。NAT 网关对客户端和服务器以及其他 NAT 网关都是透明的。客户端和服务器不会因为流量恰好经过 NAT 而做任何不同的事情。NAT 网关不会因为流量可能经过第二个 NAT 而做任何特殊的事情。事实上,他们并没有很好的方法来检测 NAT 是否正在使用(除了假设 RFC1918 私有地址暗示 NAT,这可能是一个错误的假设)。