✦网络

无需端口转发(或 VPN)的远程桌面

端口转发曾是从外部连回自己电脑所要付的“过路费”。对越来越多的家庭宽带而言(被锁死的运营商路由器、运营商级 NAT、一夜之间就会变的地址),它已经根本做不到了;即使做得到,也等于向扫描器长期敞开大门。下面介绍现代应用如何在不开放任何端口的情况下连接,以及网状 VPN 和老式端口转发与之相比如何。

为什么端口转发是老办法

二十年来,连回家里电脑的标准做法是这样的:给机器分配一个固定的本地 IP,登录路由器,把一个外部端口转发给它,再让你的客户端指向公网地址。这套办法行得通,前提是你能控制路由器,运营商给了你真正的公网 IP,而且没有怀有敌意的人注意到那个开放的端口。这三个前提如今都已经站不住脚了。

这一切并不意味着远程访问不可行,而是意味着入站端口这种模式行不通了。连接必须从内部发起。

现代应用如何在无开放端口的情况下连接

你的路由器本来就允许出站连接及其回复,这正是你加载的每个网页能回到你这里的方式。现代远程桌面应用用的正是这条许可:两端同时向外拨出,两者之间的流量,被视为每台路由器都已批准的对话的回复。想象两个人各自待在上锁的办公室里,同时走进共用的走廊,没有人需要从外面开一扇门。

有三个部件让它变得可靠。一台小型公共服务器会告诉每台设备,从公共互联网上看它的地址是什么样的。然后双方在同一时刻向对方发送,这会在每台路由器上打洞,开出一条直连路径。而当某个网络严格到无法打洞时,会话就会退回到加密中继,它转发的是自己读不懂的流量,同样无需你开放任何入站端口。(Mac 主机 3.3 还可以请求允许这样做的路由器为会话开放一个端口;该功能默认开启,且可选。)这就是全部思路;想了解完整的工程细节,包括对称 NAT、候选路径优先级、真实的延迟数据,请阅读我们的 NAT 穿透解析。

路由器从不需要重新配置。两台设备都从内部发起对话,防火墙把整个会话视为它已批准的回复。

方案一:点对点远程桌面(零路由器配置)

这正是 Remio 所在的类别,所以请对我们的热情打点折扣。但这套机制与各大视频通话应用多年来使用的是同一套,也是从“我在酒店里”到“我正看着我的桌面”之间最短的路径。

设置过程就是它的全部卖点:在两台机器上都安装 Remio,从主机上读出六位数字码,在客户端输入,就连上了。路由器从不参与这场对话。点对点远程桌面交给你的是一台电脑的屏幕,而不是一个网络;网状 VPN 能多提供什么,见下文。

方案二:隧道与网状 VPN

Tailscale 这样的工具,以及它所基于的 WireGuard 协议,解决的是同一问题的另一种版本。它们不是串流屏幕,而是在你的设备之间建立一个私有网络:每台注册的机器都有一个稳定的私有地址,你在其中运行的一切,包括 RDP、VNC、SSH、文件共享,都留在这个网络内部,而不是面对互联网。在底层,它们执行的是上文所述同样的仅出站 NAT 穿透,所以同样能在运营商级 NAT 之后工作,无需改动路由器。

网状 VPN 涵盖的内容:

它的代价同样真实。你要在每台设备上安装并登录一个客户端,通常要借助身份提供商,你分享访问权限的每个人也是如此。网状网络给你的是一个网络,而不是一块屏幕:你仍然需要在其中运行远程桌面协议,而在 Windows 上,这意味着要用专业版或企业版来托管 RDP,家庭版做不到。而且当无法打出直连路径时,流量会经由服务商的中继(Tailscale 里叫 DERP),延迟取决于中继的位置:用于终端会话还不错,拖动窗口时就会觉察到。关于屏幕与网络的更深一层区别,请见远程桌面与 VPN。

方案三:加固的端口转发

端口转发并不愚蠢,只是作为默认做法不合适。当基础设施是固定的、而且属于你自己时,它仍是一个选项:办公室里有商业宽带和固定 IP 的机器、托管的服务器,或者你自己运行整套环境、不想让路径上出现任何第三方设施的家庭实验室。

如果你走这条路,请做到位:

如果你自己管理防火墙,想确切知道远程桌面会话使用哪些端口和协议,我们的防火墙与 NAT 文档对此有详细说明。

决策表

总结如下。“点对点远程桌面”指的是 Remio 以及同样构建的应用;“网状 VPN”指的是 Tailscale 这类叠加网络;“端口转发”是经典的入站设置。

标准点对点远程桌面(Remio)网状 VPN(Tailscale 类)端口转发
能在运营商级 NAT 之后工作能:仅出站,并有中继后备能:采用同样的穿透方式不能:入站在运营商处就被丢弃
是否需要配置路由器不需要不需要需要:路径上的每台路由器都要配置
设置时间几分钟:两端各装一个,输入 PIN较长:两端都要装客户端,还要有身份提供商最长:要管理路由器,还要加固主机
安全暴露开放的互联网上没有任何东西在监听低:服务留在私有网络内部高:被转发的端口可被公开访问
两端是否需要额外软件需要:一个应用需要:VPN 客户端和登录,再加其中的远程桌面工具无需额外一层,但主机服务直接面对互联网
费用免费,无需账号热门选项的个人使用免费;团队方案收费免费,但托管 RDP 需要 Windows 专业版

点对点远程桌面以最小的摩擦给你一块屏幕;网状 VPN 给你一个网络;端口转发则把一切握在自己手里,只要按上文所述加固。

常见问题

远程桌面能在运营商级 NAT 之后工作吗?

能,前提是选对工具。像 Remio 这样的点对点远程桌面应用从两端向外连接并打洞,开出一条直连路径,这在运营商级 NAT 之后也行得通;当无法开出直连路径时,它们会退回到加密中继。Tailscale 这样的网状 VPN 也以同样的方式穿透运营商级 NAT。行不通的是端口转发之后的普通入站 RDP 或 VNC,因为连接在到达你的路由器之前,就在运营商的 NAT 处被丢弃了。

转发 3389 端口安全吗?

普遍不建议这样做。暴露的 RDP 不断被扫描,仍然是暴力破解攻击和勒索软件的主要入口。如果你确实无法避免,请加固设置:把服务换到非默认端口,强制使用强而独一无二的密码并配合锁定与限速,要求网络级身份验证,在防火墙处限制来源 IP 地址,并保持主机打好补丁。点对点应用或网状 VPN 则完全避免了这种暴露。

远程桌面需要静态 IP 吗?

不需要。点对点远程桌面应用和网状 VPN 每次连接时都会重新发现你设备当前的地址,所以动态 IP 不成问题。静态 IP 只对经典的端口转发到固定地址才重要,而即使在那里,动态 DNS 也可以替代。

Remio 需要配置路由器吗?

完全不需要。两台设备都向外连接,Remio 自动处理 NAT 穿透,并在无法建立直连路径时以加密中继作后备。无需转发端口,无需 DMZ,无需 UPnP,也无需创建账号,你只需用可随时更换的六位数字码来配对设备。

打洞失败时会怎样?

会话会退回到加密中继。Remio 采用端到端加密,每个会话的密钥都直接在你的设备之间协商,所以中继承载的只有密文,它读不了你的屏幕、按键或文件。你可能会觉得延迟比直连路径略高,但安全模型没有变化。

还在犹豫?想知道点对点在你的网络上能不能用,最快的办法就是试一试:在两台设备上安装 Remio,用六位数字码配对。如果你的网络能打洞,不到一分钟你就能看到桌面;如果不能,加密中继会自动接手会话。无论哪种情况,路由器都不用参与。这句话背后的原理,请看工作原理这篇导览。

Remio 应用图标

没有端口,不必折腾路由器,直接连接。

Remio 免费,在每个平台上都是原生的,并从两端向外连接:无论在运营商级 NAT、酒店 Wi-Fi 还是蜂窝热点之后。用六位数字码配对,路由器不必参与。

免费使用无需账号零路由器配置