我对计算机网络有点菜鸟。我研究 NAT 已经有一段时间了,但一直搞不清楚到底是什么目标 NAT在某些情况下确实如此。特别是,可以目的地址是否还可以用来更改来自您自己的 LAN 端口而不是仅来自 WAN 端口的数据包的 IP 标头(例如用于端口转发)?
答案1
DNAT 和/或 SNAT 可以在任意两个接口。在这种情况下,从技术上讲,“LAN”和“WAN”没有区别。只要所有数据包(请求和响应)通过路由器上的两个不同接口,然后进行 NAT能使用。
请注意,“两个接口”规则必须同时适用于原始数据包和重写的数据包。因此,如果您想将 LAN→WAN 连接重定向回同一 LAN,请先在此站点搜索“hairpin”。
是否NAT应该在 LAN 子网之间使用 DNAT 是另一个问题。DNAT 有一些合法用途,例如将旧地址重定向到新服务器,但 SNAT 却并非如此。您唯一应该使用 SNAT 的地方是 WAN 接口。
但是,如果你指的“LAN 端口”是指单身的子网,则不会——与源和目标具有相同子网的数据包实际上不会通过通过路由器和不能被 NATed。
大多数家用路由器的所有 LAN 端口都位于单个子网上,因此它们可以绕过 NAT 规则。(实际上,4 个“LAN”端口通常在硬件级别进行切换,完全绕过路由器的 CPU。)
有一个例外:将“客户端隔离”(又名 PVLAN)与“代理 ARP”结合使用将强制同一子网的数据包通过路由器,从而再次实现 NAT。