前阵子一客户问:“我在公司搭了个Web服务器,外网怎么访问?”
我说:“做端口映射。”他问:“啥是端口映射?”
我打个比方:
就像你住公寓(内网),快递员(外网用户)不知道你房间号,但知道楼下的代收点(公网IP),你告诉代收点:“所有寄‘80号柜’的快递,都转给我302室”,这就是端口映射。
很多人想发布内网服务,却卡在“如何从外网进来”这一步。今天,我不讲虚的,从小白到高手,给你讲透端口映射。
01 端口映射是啥?三句话说清本质
01 它解决什么问题?
-
内网服务器用私有IP(如192.168.10.100)
-
外网用户无法直接访问私有IP
-
需要一个公网IP作为“门面”
02 它是怎么工作的?
-
当外网用户访问 公网IP:端口(如 202.101.1.1:80)
-
防火墙/路由器将请求转发到 内网IP:端口(如 192.168.10.100:80)
-
服务器响应,再由防火墙“翻译”回公网IP返回
03 技术叫啥?
-
NAT Server(华为/华三)
-
Port Forwarding(家用路由器)
-
DNAT(目标地址转换)
关键:它改的是“目标IP和端口”,所以叫DNAT。
02 核心原理:数据包的“变形记”
外网用户 → [公网IP:80] → 防火墙 → [内网IP:80] → Web服务器 [请求方向] User: GET / HTTP/1.1 Host: 202.101.1.1 ↓ Firewall: 将目标IP 202.101.1.1:80 → 192.168.10.100:80 ↓ Server: 收到请求,源IP是用户,目标IP是192.168.10.100 [响应方向] Server: 返回网页 ↓ Firewall: 将源IP 192.168.10.100:80 → 202.101.1.1:80 ↓ User: 收到网页,以为直接来自202.101.1.1
✅ 整个过程对用户透明。
03 实战:华为防火墙配置端口映射(NAT Server)
场景:
-
公网IP:202.101.1.1
-
内网Web服务器:192.168.10.100:80
-
需外网通过 http://202.101.1.1 访问
配置步骤:
第1步:确保路由可达
# 确认防火墙有到192.168.10.0/24的路由 display ip routing-table 192.168.10.0
第2步:配置安全策略(放行流量)
security-policy rule name WEB-IN source-zone untrust destination-zone trust destination-address 192.168.10.100 32 service http action permit
第3步:配置 NAT Server(核心!)
nat server WEB_SERVER protocol tcp \ global 202.101.1.1 www \ inside 192.168.10.100 www
-
global:公网IP和端口
-
inside:内网IP和端口
-
www = 80
第4步:提交并保存
commit save
验证:外网浏览器访问 http://202.101.1.1,应看到Web页面。
04 常见应用场景

安全建议:非必要不映射高危端口(如3389、22、3306),可结合IP白名单限制访问源。
05 常见问题与排查
❓ 映射后外网还是访问不了?
-
检查1:公网IP是否为真实公网IP?(不是运营商NAT后的IP)
-
检查2:安全策略是否放行untrust→trust方向流量?
-
检查3:内网服务器防火墙是否允许80端口?
-
检查4:ISP是否封了80端口?(可改用8080测试)
❓ 能不能映射UDP端口?
- 能!如DNS、VoIP:nat server DNS_Server protocol udp \ global 202.101.1.1 53 \ inside 192.168.10.200 53
❓ 一台公网IP能映射多个服务吗?
- 能!靠端口区分:
-
202.101.1.1:80 → Web服务器
-
202.101.1.1:443 → HTTPS
-
202.101.1.1:21 → FTP服务器
-
06 结语
端口映射是打通内外网的关键技术,让内网服务得以对外提供。
其核心在于理解DNAT的工作机制,并正确配置NAT规则与安全策略。无论是企业发布Web系统,还是个人远程访问NAS,都离不开它。
但切记:每打开一个端口,就增加一分风险。
务必遵循“最小权限”原则,仅映射必要服务,并配合访问控制提升安全性。掌握此技,你离网络高手,又近一步。
1176

被折叠的 条评论
为什么被折叠?



