第一步需查出本机局域网ip:按win+r输入cmd回车,执行ipconfig,找到“无线局域网适配器wlan”或“以太网适配器以太网”下的ipv4地址(如192.168.1.100),该地址须为192.168.x.x、10.x.x.x或172.16–31.x.x范围;若为169.254.x.x则未正常获取ip,映射必失败。

要给本地电脑上的服务(比如网站、远程桌面、NAS)做端口映射,第一步必须准确知道本机在局域网中的IP地址,否则路由器或映射工具填错内网IP会导致外网完全无法访问。
查出你当前的局域网IP地址
按下 Win + R 打开运行框,输入 cmd 回车,进入命令提示符窗口。
在黑窗口中直接输入 ipconfig 并回车,找到标有“无线局域网适配器 WLAN”或“以太网适配器 以太网”的区块,其下方的 IPv4 地址 就是你要用的局域网IP——它一定是 192.168.x.x、10.x.x.x 或 172.16.x.x~172.31.x.x 范围内的地址。
⚠️注意:如果看到的是 169.254.x.x,说明你的电脑没从路由器正常获取到IP,此时端口映射必然失败,需先检查网线/Wi-Fi连接或重启路由器。
确认目标端口是否正在被程序监听
仅知道IP还不够,你还得确认服务真的在跑,并且绑定了该IP和端口。
在同一个命令提示符窗口中,输入:netstat -ano | findstr :80(把80换成你想映射的实际端口号,例如3389、8080)。
如果返回结果里出现 LISTENING,且后面跟着一串数字(PID),说明端口已被占用并处于监听状态;如果没有输出,代表这个端口根本没程序在用,映射了也没用。
进一步验证哪个程序占用了它:把上一步查到的PID(比如1234)代入命令 tasklist | findstr 1234,就能看到具体进程名,比如 svchost.exe 或 java.exe。
为端口映射提前放行Windows防火墙
方法一:图形界面快速放行
按 Win + S 搜索“Windows Defender 防火墙”,点击进入 → 左侧点“高级设置” → 右侧点“入站规则” → 右键空白处选“新建规则…” → 选“端口” → 下一步 → 选TCP,输入你要映射的端口号(如3389)→ 下一步 → 选“允许连接”→ 下一步 → 全选“域”“专用”“公用”→ 下一步 → 输入名称如【远程桌面入站】→ 完成。
方法二:命令行一键放行(管理员权限运行CMD)
执行:netsh advfirewall firewall add rule name="Open Port 3389" dir=in action=allow protocol=TCP localport=3389(把3389替换成你的端口)。
【不放行防火墙,哪怕路由器映射成功,外网请求也会被系统当场拦截】
根据网络环境选择映射路径
第一步:判断你家宽带有没有公网IP
打开浏览器访问 https://www.ip138.com/,记下页面显示的IP;再回到命令提示符,执行 ipconfig 查看路由器分配给你的局域网IP;如果两个IP完全一致,说明你有公网IP;如果不一致,且你局域网IP是192.168.x.x这类私有地址,那就没有公网IP。
第二步:按情况操作
① 有公网IP → 登录路由器后台(通常浏览器输 192.168.1.1 或 192.168.0.1),找“虚拟服务器”“NAT转发”或“端口映射”功能,添加一条规则:外部端口填你想暴露的端号(如8080),内部IP填你刚查到的局域网IP(如192.168.1.100),内部端口填服务实际监听的端号(如80),协议选TCP或TCP/UDP。
② 无公网IP → 下载安装 nat123 客户端,注册登录后,在“添加映射”里填:内网主机填你的局域网IP,内网端口填服务端口,外网域名选默认二级域名或自定义,外网端口任选一个未被占用的(如22222),保存启用即可获得一个可外网直连的地址。











