端口转发:完整指南
端口转发告诉路由器:"当有人从互联网请求端口 X 时,发送到我网络上的设备 Y"。游戏服务器、自托管、远程桌面等必备。
!
快速回答
登录路由器 → 找到 端口转发(或 NAT / Virtual Server)→ 添加规则,填写外部端口、内部端口、协议(TCP/UDP)和目标设备的局域网 IP。保存配置,若提示重启则重启路由器,然后用端口检测工具验证。
端口转发的意思是告诉路由器:当来自互联网的流量到达端口 X 时,把它转发到我局域网内的这台指定设备。没有端口转发时,NAT 会阻止入站连接。要托管游戏服务器、运行私人 Web 服务器、允许远程桌面访问、公开监控摄像头视频流,或使用需要开放端口的点对点应用,都需要端口转发。
开始前 — 准备这些信息
| 需要 | 在哪里找到 |
|---|---|
| 路由器管理地址 | 通常是 192.168.1.1 或 192.168.0.1 — 详情见我们的 主页 |
| 路由器管理密码 | 路由器贴纸上的默认密码,或你在配置时设置的密码 |
| 目标设备的本地 IP | 在设备上查看 — 参见我们的 如何查找路由器 IP 指南;设备的 IP 显示方式相同 |
| 应用使用的端口号 | 查阅应用文档。Minecraft = 25565 TCP,RDP = 3389 TCP,Plex = 32400 TCP 等。 |
| 协议 — TCP、UDP 或两者 | 查阅应用文档 |
小贴士先为目标设备保留一个静态 IP。 如果设备的 IP 发生变化(DHCP 续租),端口转发会悄然失效。请在路由器中为该设备的 MAC 地址设置 DHCP 保留 — 几乎所有路由器都支持。
操作步骤
- 登录路由器。 在浏览器中打开路由器管理地址并登录。
- 找到端口转发设置。 不同路由器的菜单位置差别很大:
- TP-Link: Advanced → NAT Forwarding → Virtual Servers
- Netgear: Advanced → Advanced Setup → Port Forwarding/Port Triggering
- ASUS: WAN → Virtual Server / Port Forwarding
- D-Link: Advanced → Port Forwarding
- Linksys: Security → Apps and Gaming → Single Port Forwarding
- Xfinity/Comcast gateway: Advanced → Port Forwarding
- 添加新规则,填写:
- Service / rule name: 任意好记的名称(例如 "Minecraft", "RDP-PC")
- External port: 互联网上看到的端口
- Internal port: 通常与外部端口相同
- Protocol: TCP、UDP 或 Both
- Internal IP: 目标设备的 LAN IP(例如 192.168.1.42)
- 保存规则。 有些路由器需要重启。
- 测试(从网络外部进行)。例如用手机切换到蜂窝数据访问
YOUR_PUBLIC_IP:PORT,或使用在线端口检测服务。
常用端口速查表
| 服务 | 端口 | 协议 |
|---|---|---|
| HTTP Web 服务器 | 80 | TCP |
| HTTPS Web 服务器 | 443 | TCP |
| SSH | 22 | TCP |
| RDP(Windows 远程桌面) | 3389 | TCP |
| VNC | 5900 | TCP |
| Minecraft (Java) | 25565 | TCP |
| Minecraft (Bedrock) | 19132 | UDP |
| Plex Media Server | 32400 | TCP |
| FTP | 20, 21 | TCP |
| BitTorrent | 6881–6889 | TCP + UDP |
安全注意事项
重要不要为不再使用的服务转发端口。 每个开放端口都是潜在攻击面。活动结束后请删除该规则。
不要随意转发 80、443、22、3389 端口。 这些端口被机器人频繁扫描。如必须暴露,请使用强密码、fail2ban、基于密钥的认证(用于 SSH),并考虑将外部端口改为非标准端口(例如外部 50022 → 内部 22)。
更好的替代考虑使用 VPN 或隧道。 像 Tailscale、WireGuard 或 Cloudflare Tunnel 这样的工具可以在不打开任何入站端口的情况下远程访问设备,更安全也更易维护。
故障排除
端口检测工具显示端口关闭,但我已经配置了。 常见原因(按频率排序):(1) 目标设备的防火墙在阻止该端口 — 在 Windows Defender Firewall 或
ufw 中放行;(2) 你处于 Carrier-Grade NAT(CGNAT)后面,ISP 没有分配真实公网 IP — 联系你的 ISP;(3) 在规则中填写了错误的内部 IP。在内网可用但外网不可用。 这是常见情况 — 在内网你是直接访问设备而不是经过 NAT。总是在蜂窝网络或远程机器上测试。
我的 ISP 屏蔽了 25/80/443 端口。 许多家庭 ISP 会这样做以防止滥用。解决办法:使用非标准外部端口或使用入站隧道服务。
常见问题
端口转发和端口触发有什么区别?
端口转发是永久性的 — 规则一直有效。端口触发只有在检测到特定本地端口的出站流量时才临时打开端口,之后会关闭。触发方式更安全,但现代应用很少依赖它。
可以把同一端口转发到两台设备吗?
不可以。一个外部端口只能映射到一个内部 IP。要让两台设备都可用,请使用不同的外部端口(例如 25565→设备 A,25566→设备 B)。
什么是 UPnP,我应该使用吗?
UPnP 允许应用自动打开端口,省去手动配置的麻烦。但它也存在安全风险 —— 恶意软件可能利用它。仅当你信任局域网内的所有设备时才启用,否则建议手动创建转发规则。
端口转发会降低我的网速吗?
不会。它只是改变入站流量的路由方式,不会影响总体带宽或延迟。
我需要 ISP 提供静态公网 IP 吗?
不一定。如果你的公网 IP 会偶尔变化,可以使用免费的动态 DNS 服务(No-IP、DuckDNS、DynDNS)让一个域名始终指向当前 IP。