我希望能够设置 Windows 10 PC,以便能够远程连接到互联网,就像从 PC 的 IP 地址一样。我无法访问路由器密码(为该 PC 提供互联网的调制解调器/路由器的密码)。
这还可能吗?
例如,这个答案似乎表明可以使用默认开放端口。
是这样吗?
答案1
我希望能够设置 Windows 10 PC,以便能够远程连接到互联网,就像从 PC 的 IP 地址一样。我无法访问路由器密码(为该 PC 提供互联网的调制解调器/路由器的密码)。这仍然可行吗?
直接来说,可能不会,尽管你可能使用某些 UPnP IGD 工具来配置端口转发规则(这就是游戏和文件共享应用程序为入站连接打开端口的方式),只要管理路由器的人没有禁用它。
(请记住,仅仅因为你能配置路由器并不意味着配置会有效。要使调制解调器/路由器能够将数据包转发到您的 PC,它必须首先自己接收这些数据包 - 如今,客户的路由器通常不再具有专用的公共 IP 地址,在这种情况下,无法配置端口转发是没有意义的,因为没有办法访问路由器本身。)
但在这种情况下,你仍然可以间接地进行远程访问——你仍然可以使用第三个系统两个都设备连接到的服务器,并在两个设备之间中继隧道数据包。VPN 并非严格意义上的一对一;VPN 服务器始终可以在两个 VPN 客户端之间中继。因此,如果您租用 VPS 并在那里设置 WireGuard 或 OpenVPN,然后将 Windows PC 配置为与该服务器保持持久连接,您将获得类似的结果——尽管让一个客户端通过另一个客户端访问互联网会有点麻烦,但这是完全可行的。
除了常见的“服务器-客户端”VPN 软件外,还有“网状”或“点对点”VPN 工具,例如 ZeroTier,它们更适合这种用途;通常它们不需要中央服务器(具有“NAT 遍历”机制来建立直接连接和/或公共中继服务器)。但是,我可能建议使用 Tailscale,它具有所谓的“出口节点“配置已经内置于其 UI 中。
例如,这个答案似乎表明可以使用默认开放端口。是这样吗?
不。该答案的作者似乎误解了端口在两个方向上是不同的——当人们可以连接到远程端的端口号时,他们称端口为“开放”。和当人们可以在本地端接收该端口的入站连接时,他们称该端口为“开放”,但除了所使用的术语外,它们在各个方面都是完全独立的东西。
UDP 和 TCP 数据包有两个单独的字段用于“源”和“目标”端口,因此从远程 HTTP 服务器返回的数据包与到达本地 HTTP 服务器的数据包完全不同,即使它们都是“端口 80”数据包 - 但一个以 80 作为其源端口,另一个以 80 作为其目标端口。
(即使情况并非如此——大多数家用路由器主要用于其 IPv4 NAT 功能,隐藏多种的内部设备位于单个公共地址后面,因此如果路由器不知道将这些数据包转发到哪个内部地址,则“默认开放”端口仍然没有多大用处。这不再是 IPv6 的问题,但仍然存在。)