别名:端口转发、NAT 端口映射,最常见就是路由器做的端口映射。
一句话通俗理解
外网的机器想访问你家里局域网内部某台设备的某个端口,路由器不知道把流量发给内网哪台电脑,端口映射就是告诉路由器:只要收到访问我公网 IP 的 X 端口的流量,全部转发给内网某台机器的 Y 端口。
举生活类比: 家里是一栋大楼(内网),大楼只有 1 个对外总门牌号(公网 IP),楼里面每个房间没有对外门牌。外面信件只能寄给大楼总门牌号。 端口映射 = 在门卫(路由器)登记:凡是寄到大楼【8080 号信箱】的信件,全部转给 302 房间的【80 号信箱】。

核心名词拆解
内网(局域网 LAN):家里 / 公司路由器下面的设备,比如你的 NAS、开发电脑、树莓派,IP 一般是
192.168.x.x、10.x.x.x,这些 IP 互联网不能直接访问。公网 IP(WAN 口 IP):路由器对外的互联网地址,互联网上其他设备可以找到这个 IP。
端口:一台机器上的服务编号,一台主机可以跑很多服务,靠端口区分:80 网页、22SSH、3389 远程桌面等。
NAT:路由器的网络地址转换,负责内网多台设备共用一个公网 IP 上网。NAT 默认外网不能主动进来,端口映射就是 NAT 的 “开门规则”。
端口映射四要素(配置的时候必须填)
示例配置:
外部端口:
9000,内网 IP:192.168.1.50,内部端口:80,协议 TCP
效果: 外网访问 你的公网IP:9000 → 路由器收到 → 转发给内网 192.168.1.50:80。
✨外部端口和内部端口可以不一样,也可以填一样。
两种容易混淆的东西
1)路由器端口映射(DNAT,目的地址转换)
方向:外网 → 内网
用途:外网访问家里内网服务(NAS、家里的网站、远程 ssh 家里电脑)
⚠️风险:把内网服务暴露互联网,会被扫描爆破,尽量不要随便开。
2)本地端口转发(比如 docker 端口映射、ssh -L)
这个是本机层面的端口映射,不走路由器。 典型:Docker -p 8080:80
访问宿主机的 8080 端口,转发到容器内部的 80 端口。 只作用在这一台机器,互联网外部无法直接访问,除非宿主机本身对外暴露。

常见误区
❌ 做了端口映射,但是没有公网 IP,没用
运营商给的是内网 IP(大内网 CGNAT),就算路由器填了端口映射,外网依旧进不来。需要向运营商申请公网 IP。
❌ 只改内部端口,忘记外部端口
❌ 防火墙没放行:内网机器本身防火墙、路由器防火墙没有放开对应端口,映射配了也不通。
❌ 混淆方向:端口映射是外网主动访问内网;内网访问外网不需要端口映射,普通 NAT 就够用。
简单对比记忆
普通上网:内网机器主动往外访问,NAT 自动处理,不需要端口映射
端口映射:外网主动来找内网机器,必须手动配置转发规则。
补充:和 DMZ 主机区别
DMZ 主机:把某一台内网机器全部端口全部暴露外网,相当于把所有端口都做映射,风险更高;端口映射是只开放指定少数端口,更安全。
本文原创作者:易君召,详见:https://www.yijunzhao.cn/authors/yijunzhao,转载请注明出处。
原文链接
欢迎访问 小易撩挨踢