服务器映射是什么
服务器映射(目的 NAT、端口映射)把公网地址与端口映射到内网服务器的真实地址端口,是外网访问内部业务的标准做法。配置必须限定三件事:协议类型、公网侧地址端口、内网侧真实主机与端口。它只解决地址可达问题,不解决访问控制,公网到内网的放行策略通常还要单独写一条;两者缺一,现象都是公网请求无响应。
基本信息
| H3C 写法 | 接口下 nat server protocol tcp global 公网IP 端口 inside 内网IP 端口 |
|---|---|
| 华为写法 | nat server 协议 global ... inside ...,较新版本也可在 nat-policy 中用目的 NAT 规则实现 |
| AF 写法 | 控制台 NAT 模块配置目的地址转换策略,绑定内网服务器对象 |
| 生效前提 | 公网侧入向策略放行对应端口,且内网服务器网关指向设备 |
| 查看命令 | display nat all / display nat server,配合会话表核对转换结果 |
典型使用场景
- 对外网站发布:公网 443 映射到内网 Web 服务器的 8443,隐藏真实端口
- 把非标端口映射为业务习惯端口,减少客户端改造
- 多个内网服务共用少量公网地址,靠不同端口区分
- 灰度发布:临时映射到新服务器验证后再切换到正式地址
- 内网测试环境对指定合作方开放,通过源地址限制叠加映射使用
H3C 配置示例
H3C 配置示例
system-view
interface GigabitEthernet1/0/2 # 外网侧接口
nat server protocol tcp global 202.1.1.20 443 inside 192.168.20.10 8443
quit
# 公网 443 → 内网 192.168.20.10:8443,映射与端口都可核对华为写法示例
华为写法示例
system-view
nat server web-portal protocol tcp global 202.1.1.20 443 inside 192.168.20.10 8443
quit
# 部分版本在 nat-policy 中用目的 NAT 规则实现,命令形态以本机 ? 帮助为准
display nat server # 核对映射表项是否存在映射不通的排查
| 现象 | 可能原因 | 核对方法 |
|---|---|---|
| 公网访问无响应 | 入向策略未放行 | display security-policy rule all |
| 能连通但页面异常 | 内网服务期望的端口与映射不一致 | 会话表核对转换后目的端口 |
| 部分来源不通 | 映射绑定接口选错或路由不对称 | 确认映射挂在哪个接口、回程路由 |
| 内网主机可访问、外网不行 | 服务器网关未指向设备 | 核对其默认网关与回包路径 |
发布与维护要点
- 每条映射登记公网地址端口、内网主机端口、业务名称、负责人与有效期
- 公网端口尽量贴近业务习惯(如 443),内网真实端口保持不对外可见
- HTTPS 场景先确认证书挂在哪一跳,多层转换会让证书域名与访问地址不匹配
- 对外服务地址与内网上网地址池分开使用,便于审计与故障隔离
- 映射变更走变更单,涉及公网暴露面的调整提前写好回退路径
只映射业务必需端口,不要把 3389、22 等管理端口直接暴露到公网;映射条目要登记用途、负责人与有效期,临时调试端口到期回收。
公网端口与内网端口不一致时,抓包要分别在内网侧与外网侧进行,看到的目的端口已经发生转换,两端记录不一致属于正常现象。
映射上线后从公网侧与内网侧各验证一次:公网侧确认可达与证书域名正确,内网侧确认服务本身与访问日志正常,只从一端验证容易把应用问题当成映射问题。