端口转发曾是从外部连回自己电脑所要付的“过路费”。对越来越多的家庭宽带而言(被锁死的运营商路由器、运营商级 NAT、一夜之间就会变的地址),它已经根本做不到了;即使做得到,也等于向扫描器长期敞开大门。下面介绍现代应用如何在不开放任何端口的情况下连接,以及网状 VPN 和老式端口转发与之相比如何。
为什么端口转发是老办法
二十年来,连回家里电脑的标准做法是这样的:给机器分配一个固定的本地 IP,登录路由器,把一个外部端口转发给它,再让你的客户端指向公网地址。这套办法行得通,前提是你能控制路由器,运营商给了你真正的公网 IP,而且没有怀有敌意的人注意到那个开放的端口。这三个前提如今都已经站不住脚了。
- 配置路由器真是件苦差事。每家厂商都把端口转发藏在不同的菜单里,而且越来越多运营商提供的路由器干脆把这项设置锁死。如果你在运营商的设备后面又放了自己的网状路由系统,就进入了双重 NAT:转发必须在两台路由器上按正确顺序配置,而一次固件更新就可能悄悄把它撤销。
- 运营商级 NAT 和动态 IP 让许多连接无法接受入站。运营商级 NAT 意味着运营商让众多用户共用同一个公网 IPv4 地址,这在蜂窝网络、光纤转售商,以及任何在 IPv4 地址耗尽之后才接入互联网的服务商那里很常见。在运营商级 NAT 之后,你的端口转发配置的是一台永远看不到入站流量的路由器:连接在上游就被丢弃了,而那里的设备你永远没有管理权限。即使在没有运营商级 NAT 的线路上,动态 IP 也意味着你周一设置好的地址,到周五可能已经指向别处。
- 安全风险是致命的缺陷。暴露的 RDP 端口是互联网上被扫描得最多的东西之一。把 3389 端口向全世界开放,自动化扫描器很快就会发现它,随之而来的是持续不断的暴力破解和撞库尝试;在勒索软件事件报告中,暴露的 RDP 一直被列为主要的初始入侵途径之一。这不是理论上的风险,而是你的前门在被全天候地试探。
这一切并不意味着远程访问不可行,而是意味着入站端口这种模式行不通了。连接必须从内部发起。
现代应用如何在无开放端口的情况下连接
你的路由器本来就允许出站连接及其回复,这正是你加载的每个网页能回到你这里的方式。现代远程桌面应用用的正是这条许可:两端同时向外拨出,两者之间的流量,被视为每台路由器都已批准的对话的回复。想象两个人各自待在上锁的办公室里,同时走进共用的走廊,没有人需要从外面开一扇门。
有三个部件让它变得可靠。一台小型公共服务器会告诉每台设备,从公共互联网上看它的地址是什么样的。然后双方在同一时刻向对方发送,这会在每台路由器上打洞,开出一条直连路径。而当某个网络严格到无法打洞时,会话就会退回到加密中继,它转发的是自己读不懂的流量,同样无需你开放任何入站端口。(Mac 主机 3.3 还可以请求允许这样做的路由器为会话开放一个端口;该功能默认开启,且可选。)这就是全部思路;想了解完整的工程细节,包括对称 NAT、候选路径优先级、真实的延迟数据,请阅读我们的 NAT 穿透解析。
路由器从不需要重新配置。两台设备都从内部发起对话,防火墙把整个会话视为它已批准的回复。
方案一:点对点远程桌面(零路由器配置)
这正是 Remio 所在的类别,所以请对我们的热情打点折扣。但这套机制与各大视频通话应用多年来使用的是同一套,也是从“我在酒店里”到“我正看着我的桌面”之间最短的路径。
- 仅出站连接。两台设备都向外拨出,所以在运营商级 NAT、酒店和校园网络以及蜂窝热点之后都能工作,而这些地方连端口转发都做不到。
- 没有任何东西在开放的互联网上监听。没有端口可供扫描器发现,没有服务回应陌生人,没有攻击面停在你的公网 IP 上。
- 无论走哪条路径,都是端到端加密。Remio 为每个会话直接在你的两台设备之间协商加密密钥。如果会话必须退回到中继,中继转发的是密文,它读不了画面帧、按键或文件。安全页面详细介绍了这套模型。
- 免费使用,无需账号。在 Remio Pro 之前就免费的所有功能,在每个平台上都永远保持免费。配对用的是从主机屏幕上读出的六位数字码,没有邮箱,任何地方也没有密码数据库。
设置过程就是它的全部卖点:在两台机器上都安装 Remio,从主机上读出六位数字码,在客户端输入,就连上了。路由器从不参与这场对话。点对点远程桌面交给你的是一台电脑的屏幕,而不是一个网络;网状 VPN 能多提供什么,见下文。
方案二:隧道与网状 VPN
Tailscale 这样的工具,以及它所基于的 WireGuard 协议,解决的是同一问题的另一种版本。它们不是串流屏幕,而是在你的设备之间建立一个私有网络:每台注册的机器都有一个稳定的私有地址,你在其中运行的一切,包括 RDP、VNC、SSH、文件共享,都留在这个网络内部,而不是面对互联网。在底层,它们执行的是上文所述同样的仅出站 NAT 穿透,所以同样能在运营商级 NAT 之后工作,无需改动路由器。
网状 VPN 涵盖的内容:
- 多台机器上的多种服务,而不只是桌面,这是自建服务和家庭实验室的场景。
- 网络级访问:挂载文件共享、SSH、访问家庭自动化仪表盘,这些是远程桌面应用不提供的。
- 与现有身份提供商绑定的访问控制,因为它依托于现有的登录。
它的代价同样真实。你要在每台设备上安装并登录一个客户端,通常要借助身份提供商,你分享访问权限的每个人也是如此。网状网络给你的是一个网络,而不是一块屏幕:你仍然需要在其中运行远程桌面协议,而在 Windows 上,这意味着要用专业版或企业版来托管 RDP,家庭版做不到。而且当无法打出直连路径时,流量会经由服务商的中继(Tailscale 里叫 DERP),延迟取决于中继的位置:用于终端会话还不错,拖动窗口时就会觉察到。关于屏幕与网络的更深一层区别,请见远程桌面与 VPN。
方案三:加固的端口转发
端口转发并不愚蠢,只是作为默认做法不合适。当基础设施是固定的、而且属于你自己时,它仍是一个选项:办公室里有商业宽带和固定 IP 的机器、托管的服务器,或者你自己运行整套环境、不想让路径上出现任何第三方设施的家庭实验室。
如果你走这条路,请做到位:
- 不要暴露原始的 3389 端口(或 VNC 的 5900)。如果 RDP 必须可访问,请把它放在 VPN 或 SSH 隧道之后,而不是直接转发它的端口。
- 使用非默认的外部端口。这并不能让服务变安全,但能显著减少背景扫描噪音。
- 限速并锁定。fail2ban 这类在多次失败后封禁地址的工具,能把暴力破解的洪流变成涓涓细流。
- 优先使用基于密钥的认证,比如带密钥的 SSH 前门,或证书认证,而不是任何仅靠密码的方式。仍用密码的地方,请设置得又长又独一无二,并配合账户锁定。
- 限制来源地址。如果你能预见自己会从哪里连接,就在防火墙处限制来源,并保持主机打好补丁。
如果你自己管理防火墙,想确切知道远程桌面会话使用哪些端口和协议,我们的防火墙与 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,用六位数字码配对。如果你的网络能打洞,不到一分钟你就能看到桌面;如果不能,加密中继会自动接手会话。无论哪种情况,路由器都不用参与。这句话背后的原理,请看工作原理这篇导览。