端口转发详解(以及托管服务器为什么用不着它)
端口转发是什么、怎么为家用游戏服务器设置、为什么在 CGNAT 后面会失效,以及租用的服务器为什么从来不需要它。
阅读约 5 分钟 · 更新于 2026年10月21日 · 作者:GuavaHost Team
端口转发是那个让互联网上的人能访问到你家里运行的游戏服务器的路由器设置。本文解释它到底做了什么、怎么设置、为什么有时根本行不通,以及租用的服务器为什么把这一整套都跳过了。
用平白的话讲 IP、端口和 NAT
- 公网 IP。 你们整个家在互联网上拥有的那一个地址,由运营商分配给你。
- 内网 IP。 路由器分给家里每台设备的私有地址。它们通常以
192.168.、10.或172.16.到172.31.开头,在你的网络之外毫无意义。 - 端口。 设备上一扇带编号的门,从 0 到 65535。游戏服务器会监听其中一个或多个,比如 Minecraft Java 用
25565。 - NAT(网络地址转换)。 路由器让每台设备共用一个公网 IP 的方式。它允许你设备主动发起的连接的回包进来,但会丢弃意料之外的入站连接,因为它压根不知道这些该给哪台设备。
而游戏服务器要的恰恰就是那些意料之外的入站连接。端口转发就是这样一条规则:「凡是用这个协议、到达这个端口的东西,都送到这台设备去。」
怎么设置
每款路由器的菜单长得都不一样,但步骤是相同的。
- 给服务器那台机器一个固定的内网 IP。 在路由器里找 DHCP 保留(有时叫静态租约),把这台机器当前的内网 IP 保留下来。否则下周路由器可能分给它另一个地址,你的规则就指向了空气。
- 查清游戏的端口和协议。 多数游戏用 UDP,有些用 TCP,还有些需要不止一个端口。我们的 TCP 与 UDP 端口指南 列出了各自的默认值。
- 登录你的路由器。 管理地址通常印在路由器上的标签上,常见的是
192.168.0.1或192.168.1.1。 - 找到转发那一节。 它可能叫端口转发、虚拟服务器、NAT 或者应用程序。
- 创建规则。 填入外部端口、内部端口(通常是同一个数字)、协议(TCP、UDP 或两者)以及服务器的内网 IP,然后保存。
- 在电脑的防火墙上放行。 在 Windows 上,服务器第一次启动时通常会弹出一个允许提示。如果你当时关掉了它,就为该服务端程序或端口手动添加一条入站规则。
- 从你的网络外面测试。 让一个朋友用你的公网 IP 加端口连进来。你也可以关掉 Wi-Fi、用手机流量试一下。
最后这一点很关键:很多路由器不支持「NAT 回环」,所以即便转发对其他所有人都完全正常,从家里连自己的公网 IP 也可能失败。
它为什么会失效
| 症状 | 可能的原因 |
|---|---|
| 没人连得上,而且路由器的 WAN IP 和「查我的 IP」网站显示的不一样 | CGNAT 或双重 NAT |
| 上周还好用,现在不行了 | 服务器的内网 IP 变了;把它保留下来 |
| 玩家立刻超时 | 协议填错了,或者游戏用 UDP 但你只转发了 TCP |
| 只在你自己的网络里好用 | 服务器机器上的防火墙,或者规则根本没保存上 |
| 用某个常见端口怎么都不行 | 有些运营商在家用套餐上封掉了某些端口 |
CGNAT(运营商级 NAT)意味着你的运营商把一个公网 IP 分给很多家庭共用。路由器的 WAN 地址以 100.64. 到 100.127. 开头是个很强的信号。你没法自己穿过 CGNAT 转发端口。有些运营商在你提出申请后会给你一个公网 IP,有时要收费。
双重 NAT 发生在运营商的光猫本身也是路由器、而你又在它后面接了自己的路由器的时候。你要么在两台上都做转发,要么把运营商设备设成桥接模式。
还有一件大家会去查、其实不必查的事:在线端口检测工具只测 TCP。 UDP 没有握手过程,所以检测工具没法可靠地判断一个 UDP 端口是否开放。对于用 UDP 的游戏,真的去连一次才是检验。
UPnP 怎么说?
UPnP(通用即插即用)让你网络里的程序自动在路由器上开端口,有些游戏会用它。它很方便,但它也让你网络里的任何程序都能开一扇门,包括你本来并不想信任的那种,所以很多人把它关掉,改成手动转发端口。
保持安全
- 只转发游戏确实需要的端口。绝对不要转发远程桌面或路由器管理端口。
- 保持服务端软件更新,因为它现在整个互联网都能访问到。
- 记住每位玩家现在都知道你家的 IP 了。如果有人决定攻击它会怎样,参见 自建还是租用。
加入服务器的玩家从来不需要转发端口
这是个常见的误解。加入一台独立服务器属于出站连接,而路由器总是允许出站连接的回包。只有运行服务器的那台机器需要转发。如果某个朋友「连不上」,要修的是房主这一侧,不是他那边。
托管的服务器为什么把这一切都跳过了
租用的服务器待在数据中心里、挂在一个公网 IP 上,前面没有家用路由器。托管方给你的服务器分配端口,并替你开放它们。在 GuavaHost,你的主连接地址就在控制面板里服务器页面的顶部,而游戏需要的任何额外端口,比如查询端口或者 Don't Starve Together 的洞穴端口,都列在它下面 Overview 标签上的 Ports & network 卡片里。没有什么要转发,没有 CGNAT 要对付,你家的 IP 也完全不会被牵扯进来。参见 查找服务器 IP 和端口。
有个习惯要保持:每台 GuavaHost 服务器都有自己的端口,而它往往不是游戏的默认端口。请总是分享面板里那个一字不差的地址。
还没搞定吗?来 discord.gg/GuavaHost 加入我们的 Discord,团队会帮你解决。
- port forwarding
- router
- nat
- cgnat
- networking
- self-hosting
还是没解决? 我们的团队 7x24 小时在线,随时解答你的问题。