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