局域网已经跑通了,朋友在同一个 Wi-Fi 下能进,一切正常。可他一回家,地址就失效了——因为他手里那个 192.168.1.23 是他自己家的局域网地址,在他那边指向的设备根本不是你。
想让外网直接连进来,最省服务器的一条路是:你有一条真正的公网 IP,然后在路由器上把端口转发给手机。这条路不用租机器、不用装客户端、不用第三方平台,代价是要动路由器,而且要接受「把家门开在互联网上」这件事。
端口映射本身不是 Minexa 的功能,它发生在你家路由器上。Minexa 只负责把服务端跑起来、把端口告诉你。先把这一点记住,后面就不会去应用里到处找「映射按钮」了。
顺序不能反:先确认有公网 IP,再谈端口映射。CGNAT 下映射一定无效。
映射要填四个值:外部端口、内部端口、内网 IP、协议(Java 用 TCP)。
内网 IP 会变,映射就会失效,先在路由器里给手机固定地址。
公网一开就等于对外营业,白名单和正版验证必须同时开着。
第一步:确认你到底有没有公网 IP#
这一步九成人会判断错,因为「能上网」和「有公网 IP」是两件事。按顺序做:
手机连 Wi-Fi,用浏览器搜「我的 IP」,记下显示的 IPv4 地址,例如
123.45.67.89;登录路由器管理页(地址通常是
192.168.1.1或192.168.0.1,写在路由器背面),找到 WAN / 外网 / 上网状态那一页,记下 WAN IP;对比这两个地址。
| 对比结果 | 说明 | 能不能做端口映射 |
|---|---|---|
| 两个地址完全一样 | 大概率有公网 IP(还要排除光猫那一层也做了 NAT) | 可以试 |
| 不一样 | 你在运营商的大内网里 | 对外无效,别浪费时间 |
WAN IP 是 100.64.x.x | 运营商 CGNAT 专用段 | 不行 |
还有一个更快的判断:看 WAN IP 落在哪个段里。
| WAN IP 段 | 含义 |
|---|---|
10.0.0.0/8 | 私有地址,上面还有一层 NAT |
172.16.0.0/12 | 私有地址 |
192.168.0.0/16 | 私有地址,说明路由器的 WAN 口接在另一台设备后面 |
100.64.0.0/10 | 运营商级 NAT(CGNAT) |
CGNAT 下你在路由器上怎么映射都不会生效,因为对外的那个入口在运营商机房,不在你家。这时候能做的只有三件:打电话申请公网 IP(不一定给)、改用 IPv6、或者走 frp 内网穿透。不要在这上面反复试映射,那是纯消耗。
第二步:给手机固定一个局域网 IP#
端口映射必须指向一个具体的内网地址。手机每次连 Wi-Fi 都换 IP 的话,映射今天通、明天废,而你只会觉得「路由器坏了」。
两种固定方式,优先第一种:
在路由器里做 DHCP 静态租约:按手机的 MAC 地址绑定一个固定 IP。MAC 地址在手机「设置 → 关于手机 → 状态信息」里能查到,也可以在路由器的已连接设备列表里看到。
在手机 Wi-Fi 设置里改静态 IP:能用,但换网络(去公司、去朋友家)时容易出问题,忘了改回来就连不上网。
固定完记下这个地址,例如 192.168.1.23。之后所有映射规则都指向它。
固定完 IP 后回概览看「服务器地址」卡片,第一行的局域网 IP 应该就是你刚固定的那个。如果显示的还是旧地址,把 Wi-Fi 断开重连一次让新地址生效。
第三步:在路由器上做端口映射#
要完成的事只有一句:把公网 TCP 25565 转发到 192.168.1.23:25565。不同品牌的菜单名不同,但功能一定在,按下面这些词去找。
| 菜单里可能叫 | 说明 |
|---|---|
| 端口转发 / Port Forwarding | 最标准的位置,优先找这个 |
| 虚拟服务器 / Virtual Server | 老式路由器常见叫法,功能一样 |
| NAT 设置 / 端口映射 | 部分国产品牌用这个 |
| 端口触发 / Port Triggering | 不是同一回事,不适合长期服务 |
找到后新建一条规则,填四个值(Java 版):
| 字段 | 填什么 |
|---|---|
| 名称 / 备注 | Minexa(随便写,能认出就行) |
| 外部端口 / 服务端口 | 25565 |
| 内部端口 | 25565,与服务端 server-port 一致 |
| 内网 IP / 主机地址 | 手机的局域网 IP,如 192.168.1.23 |
| 协议 | TCP |
开基岩版就把端口换成 19132、协议换成 UDP。两个版本都要开,就建两条规则,别想着一条规则通吃——协议填错,规则等于没建,路由器不会替你猜。
保存后多数路由器立即生效,少数需要重启。重启路由器会让所有设备重新连一次 Wi-Fi,如果之前没做静态租约,手机 IP 可能就变了——这也是为什么第二步要放在第三步前面。
双层 NAT:光猫 + 路由器#
很多家庭是「光猫拨号 + 自己接一个路由器」。如果光猫自己也做 NAT,你在路由器上映射只到了光猫的内网,外网依然进不来。
判断方法:看路由器的 WAN IP。如果是 192.168.1.x 这类私有地址,说明它上面还有一台设备(通常是光猫)在做 NAT。三个处理方向:
把光猫改成桥接模式,由路由器拨号——最干净,但需要知道宽带账号密码;
在光猫上也做一层映射,把端口再转一次给路由器——能通,但要配两层,排查时容易漏;
联系运营商改桥接,可能需要装维上门。
这一节最容易劝退人。先确认自己是不是双层 NAT,再决定值不值得折腾;如果折腾两小时还没通,不如直接用 FRP。
第四步:验证映射真的生效了#
别让朋友当测试工具。自己先验:
关掉 Wi-Fi,用手机流量打开浏览器,用在线端口检测工具查「公网 IP + 25565」是否开放;
或者直接用移动数据,在 Minecraft 里连
公网IP:25565。
连着 Wi-Fi 时,数据可能根本没出你家路由器,走的是内网路径,测出来的「能连」是假的。只有走运营商网络,才是玩家真实的访问路径。
能连上的表现是:进度条走完、真的进世界,而不只是「服务器列表里能看到」。看到 MOTD 但进不去,是白名单或版本问题,去 联机排错。
大部分在线端口检测工具只支持 TCP。基岩版的 19132/UDP 用它们测会显示“关闭”,但实际可能是通的。基岩版最好直接用基岩客户端 + 移动数据实测。
UPnP 与 DDNS:两个想帮你省事的机制#
这两个名字经常出现在路由器设置里,但它们解决的问题不一样。
UPnP:让程序自己开端口#
UPnP(通用即插即用)允许应用自动在路由器上开端口,不用手动填规则。听起来很省事,但:
不是所有路由器都开启这个功能,运营商送的光猫经常直接关掉;
部分路由器的 UPnP 实现有安全漏洞,会让内网设备被外部随意开洞;
应用退出后映射可能不释放,留下一条没人管的规则;
很多实现只支持 UDP,对 Java 版的 TCP 没用。
Minexa 不提供「一键 UPnP 映射」。要用手动映射,可控性更好,出问题也知道该删哪条规则。
DDNS:给会变的 IP 起个固定名字#
家宽的公网 IP 通常会变:重启光猫、运营商重新分配、断线重连,都可能换一个。公网 IP 一变,昨天发出去的地址就作废。DDNS(动态域名)就是拿一个固定域名,自动指向你当前变化的 IP:
在 DDNS 服务商注册一个域名,拿到账号/密钥;
在路由器里填 DDNS 账号(多数路由器自带这个功能),或者在一台常开的设备上跑更新程序;
朋友连
你的域名:25565,IP 变了也不用重新发。
Minexa 本身不提供 DDNS 功能,这是路由器或第三方服务的事。
IPv6:没有公网 IPv4 时的另一条路#
IPv6 地址数量足够多,很多运营商默认就给公网 IPv6。如果服务端和玩家都能走 IPv6,你可以完全不做端口映射——因为没有 NAT 需要穿越。
前提有四条,缺一条就不通:
宽带开通了 IPv6(可以问运营商,或在路由器状态页看有没有 IPv6 地址);
光猫和路由器都开启 IPv6,只开一层不够;
防火墙放行服务端端口——IPv6 没有 NAT 帮你挡,但防火墙默认拦入站;
玩家那边也有 IPv6,并且他的客户端愿意用 IPv6 连。
客户端填地址时必须加方括号,IPv6 地址不加方括号就解析不出来,因为冒号会被当成端口分隔符:
[2408:xxxx:xxxx::1]:25565网络页只显示 IPv4 局域网地址,不显示 IPv6,所以你得从系统网络信息里自己查。另外,部分服务端核心默认不监听 IPv6,或者需要单独开启(例如 Allay 有 IPv6 相关选项,以核心文档为准)。开完记得回终端确认监听情况。
IPv6 不是「更安全」。公网 IPv6 同样会被扫描,地址长不代表没人找得到。白名单、正版验证、只开必要端口,一条都不能省。
开放公网之前,先做三件事#
端口映射一通,你的服务端就直接挂在互联网上了。25565 是被持续扫描的端口,没有防护的离线服可能在几小时内被陌生人进入、破坏,甚至被当成攻击别人的跳板。
开白名单:只让名单里的人进。做法见 白名单、OP 与封禁。
保持正版验证:默认的
online-mode=true会把冒名者挡在外面。只映射 MC 那一个端口:RCON(默认 25575)、FTP(2121)、MCP(8931)、ADB(5555)都不要映射出去。RCON 尤其危险,它等于一条能直接执行服务器命令的通道,密码再长也不该暴露。
关闭正版验证(online-mode=false)后,任何人都能用任意名字进来,包括你的名字。别人冒名顶替拿到 OP,你的世界和存档就都保不住了。如果真的必须关,只对信任的小圈子开放,并且必须配合白名单。
还有两个容易被忽略的:定期看终端里有没有陌生 IP 反复连接;不要把公网地址发到公开群、论坛、视频简介里。地址一旦公开,扫描器几分钟内就会找上门。
常见现象对照表#
| 现象 | 更可能的原因 | 下一步 |
|---|---|---|
| 局域网能进,外网超时 | 映射没生效 / 公网 IP 不对 / CGNAT | 用流量测端口,核对 WAN IP |
| 端口检测显示关闭 | 协议选错、防火墙拦、服务端没监听 | 换 TCP/UDP 再测,看终端监听行 |
| 能连但几天后突然不行 | 手机 IP 变了,或公网 IP 变了 | 做静态租约、配 DDNS |
| 一个朋友能连,另一个不能 | 对方网络限制,或只有 IPv6 | 让对方换网络试 |
| 列表能看到,进服被踢 | 白名单 / 正版验证 / 版本不匹配 | 客户端报错 |
按层排查的完整版在 联机排错;如果确认自己没有公网 IP,直接转 frp 内网穿透。
你对比过「浏览器查到的 IP」和「路由器 WAN IP」,并记下了结论。
手机在路由器里已经是固定 IP,重连 Wi-Fi 后地址不变。
映射规则里的内网 IP、内部端口,与服务端实际值一致。
关掉 Wi-Fi、用移动数据能在游戏里真正进入世界,不只是看到 MOTD。
白名单已开启,
online-mode仍是true,只映射了一个 MC 端口。