端口转发怎么设置:NAT、公网 IP 与安全边界
端口转发的本质是:在路由器上写一条规则,把「公网 IP 的某个端口」指向「内网某台设备的某个端口」,让外网能主动访问你家里的 NAS 或服务。它能用,但有两个前提和一个代价:前提是有公网 IP、内网设备地址固定;代价是那个端口从此对整个互联网敞开,几分钟内就会有人来试。这篇按「先确认能不能做,再做,做完收口」讲。
第一个前提:你到底有没有公网 IP
国内家宽普遍是运营商级 NAT(CGNAT),路由器 WAN 口拿到的不是公网地址,端口转发写了也不会通。判断方法很简单:
- 看路由器状态页的 WAN 口 IP,和用手机流量访问查 IP 的网站看到的结果对比,一致才是公网 IP。
- WAN 口地址落在
100.64.0.0/10(即 100.64.x.x 到 100.127.x.x)范围内,基本可以确定是运营商级 NAT。 - WAN 口是 10.x、172.16~31.x、192.168.x,说明前面还有一层路由(比如光猫拨号),要么改桥接,要么在光猫上做映射。
确认是 CGNAT 后,可以联系运营商申请公网地址(是否给、是否收费因地区而异),或者直接跳到后面的替代方案。别在错误的前提上折腾规则。
规则怎么写:四个字段
各家路由器界面不同,字段就四个:外部端口、内部 IP、内部端口、协议。
- 内部 IP:给 NAS 设固定 IP,或在路由器的 DHCP 里做地址绑定。设备地址一变,规则就失效,这是最常见的「昨天还能用今天不行」。
- 内部端口:服务真实监听的端口,比如 NAS 管理页常见 5000/5001,Web 服务 80/443。
- 外部端口:外网访问用的端口。不要和内部端口一样,也不要使用 80、443、3389、22、5000 这些高频被扫的端口,挑一个 20000~60000 之间的数字。
- 协议:Web、管理页用 TCP;部分游戏、监控、语音走 UDP;不确定就同时建 TCP 和 UDP 两条。
注意家宽常常封禁 80/443 的入站,即使有公网 IP 也访问不了,这时候只能换高位端口,或者用反向代理转发。判断封没封很简单:外网访问 80 端口超时、而 50000 这样的高位端口能通,就是被封了,不必怀疑配置。
先想清楚:真的需要直接暴露吗
端口转发是「把门开到公网」。一台暴露在公网的 NAS,日志里每天都会有成百上千次来自境外的登录尝试,这是常态。所以在做规则之前,先问三个问题:
- 这个服务是给自己用,还是给不特定的人用?只给自己用,VPN 或内网穿透更合适。
- 它有没有强密码、二次验证、失败锁定?没有就先补上,再开端口。
- 能不能只开一个入口(比如反向代理 + HTTPS),而不是给每个服务开一个端口?
三问里有一个答不上来,就先别开。开放端口的安全边界,通常比配置本身更容易出问题。规则写错可以改,被扫到并被登录成功,损失是不可逆的。
顺手关掉 UPnP 和 DMZ
UPnP 让内网程序自己向路由器申请开洞,方便,但没有任何确认环节——中招的软件、被植入的脚本可以自行把内网服务暴露出去,而你毫不知情。家用路由器建议关闭 UPnP,需要映射时手动加一条。
DMZ 主机更彻底:它把某台设备的所有端口全部暴露到公网,等于放弃防火墙。除了排障时临时开十分钟,平时不要用。同理,路由器上的「远程管理 / 云管理」如果不需要,也一并关掉——那是另一条常被扫描的入口。
没有公网 IP 时的三条替代路
| 方案 | 需要什么 | 速度 | 适用 |
|---|---|---|---|
| IPv6 直连 | 宽带与路由器支持 IPv6,有 AAAA 记录 | 最好,接近原生 | 自己和家人的设备都支持 v6 |
| VPN 回内网 | 路由器或 NAS 支持 VPN 服务端 | 好,取决于上行 | 只给自己用,设备少 |
| 内网穿透 / 组网工具 | 一台常开的中转或客户端 | 中等,受中转带宽限制 | 没有公网 IP、临时共享 |
IPv6 是最省事的路线:地址足够多,不需要 NAT,只要在防火墙上放行对应端口并配好 DDNS 的 AAAA 记录即可。但要注意 IPv6 防火墙不能全关,否则等于把所有内网设备直接挂到公网。三条路的具体取舍见NAS 外网访问怎么设置。
验证与收口
- 用手机流量(不要连家里 WiFi)访问
公网IP:外部端口,能打开才算成功。 - 用在线端口检测工具从外部探测该端口,确认是开放而不是「本地能开、外网不通」。
- 在 NAS 上开启登录失败锁定与二次验证,关闭默认账户。
- 只保留必要的一条规则,其余删掉;每季度复查一次。
- 有条件就套 HTTPS:自签证书或域名证书,避免管理密码明文过网。
收口的判断标准很直接:外网能访问、日志里没有异常登录成功、规则数量是你数得过来的。三条都满足,这套端口转发才算配完,而不是配通。只通不收口,等于把一台长期开机的设备交给互联网上的扫描器托管。布线阶段的网口预留可以对照家庭网络布线,别让 NAS 只能连 WiFi。