我知道路由器(如家用路由器)会进行源端口 NAT(因为 LAN 的公共 IP 通常为 1)。如果我在 LAN 中的计算机上运行 VPN 客户端(如 Open VPN),并且 VPN 数据包全部加密(外部 IP 标头除外),路由器如何:
- 向数据包中添加 TCP 段以注入端口 NAT?
- 访问原始 TCP 端口才能了解目标端口?
答案1
你误会了。TCP 不能加密,否则它就不再是 TCP 了。因此路由器可以访问数据包中的端口字段,并可以根据需要替换它。
当然,里面该数据包可能是另一个加密的 TCP 数据包。路由器无法访问该数据包,也不需要访问。它只关心隧道连接本身。
答案2
如果我在局域网中的计算机上运行 VPN 客户端(如 Open VPN),并且 VPN 数据包全部加密(外部 IP 标头除外),路由器如何......?
我在远程位置使用的任何 VPN 客户端都可以连接到 VPN 服务器,并且会自动处理 NAT 和连接。
如果远程客户端位于双 NAT(手机连接)之后,请注意任何 VPN 设置都需要处理 NAT 穿越。
这不一定是自动的,有些 VPN 客户端甚至无法处理这个问题。
顶级 IPsec 客户端 (NCP) 可以自动执行 NAT 穿越。
没有一种尺寸适合所有情况,所以请检查您自己的情况。
我已经使用 NCP 很多年了,因为它具有始终如一的灵活性。