思科的端口映射写法
思科用一条静态源转换语句完成端口映射:ip nat inside source static 协议 内网地址 内网端口 公网地址 公网端口,内网在前、公网在后。它同样依赖接口上的 inside 与 outside 角色标记,角色没配或配错时条目存在也不会产生转换。理解这条命令与华为或 H3C 的 global 与 inside 结构顺序相反,是跨厂迁移时最容易写错的一步。
基本信息
| 适用平台 | Cisco IOS 与 IOS-XE 路由器与防火墙模块 |
|---|---|
| 命令结构 | 内网地址端口在前,公网地址端口在后 |
| 配套要求 | 接口必须标 ip nat inside 与 ip nat outside |
| 协议支持 | tcp 与 udp,可分别映射 |
| 核对命令 | show ip nat translations 与 show running-config 过滤 source static |
典型使用场景
- 对外发布网站:把公网 443 映射到内网服务器
- 远程运维通道映射,并配合限源策略收紧访问
- 测试环境临时映射,验证完成后立即删除
- 多台内网服务共用一个公网地址,用不同公网端口区分
- 设备替换时把旧设备的映射条目逐条在新设备上重建
思科 IOS
思科 IOS
ip nat inside source static tcp 192.168.1.10 80 202.1.1.1 80
ip nat inside source static udp 192.168.1.11 53 202.1.1.1 53
interface GigabitEthernet0/1
ip nat inside # 面向内网
interface GigabitEthernet0/0
ip nat outside # 面向外网
show ip nat translations | include 202.1.1.1
show ip nat statistics华为 VRP
华为 VRP
interface GigabitEthernet0/0/1
nat server protocol tcp global 202.1.1.1 80 inside 192.168.1.10 80
display nat serverH3C Comware
H3C Comware
interface GigabitEthernet1/0/1
nat server protocol tcp global 202.1.1.1 80 inside 192.168.1.10 80
display nat server写法差异与核对要点
| 对比项 | 思科 IOS | 华为与 H3C |
|---|---|---|
| 地址顺序 | 内网在前、公网在后 | 公网在前、内网在后 |
| 配置位置 | 全局语句,依赖接口角色 | 外网接口视图下 |
| 接口角色 | 必须标 inside 与 outside | 不需要角色标记 |
| 删除方式 | 写完整否定命令,参数必须一致 | 按条目删除 |
| 适用场景 | 同一主机多端口映射时逐条书写 | 同一主机多端口映射时逐条书写 |
运维要点
- 删除映射必须写完整命令且参数完全一致:公网地址、端口、协议任一项不同都会新建一条而不是删除
- 同一内网地址存在多条映射时按平台规则处理,必要时加相应关键字避免冲突
- 映射上线后核对运行配置,确认条目文本与设计一致,避免参数笔误
- 配合接口 ACL 限制来源:映射只解决可达性,访问控制仍要靠过滤策略
- 变更记录写明公网端口与内网目标的对应关系,后续回收时有据可查
常见疑问
- 为什么外网访问不通:先确认接口角色已标记,再确认公网地址确实在本机或已路由到本机
- 内网访问该公网地址正常吗:取决于平台是否支持回流,需单独验证,不要默认可用
- 删除后为什么还在:命令参数与配置不完全一致时不会删除已有条目,删除后要回读确认
- 同一端口能否映射到两台服务器:不能,同一公网地址同一端口只能对应一个目标
思科的静态映射是双向的:配置之后内网主机访问外网也会优先使用绑定的公网地址,做测试时要注意不同来源的地址表现可能不一致。
端口映射与源转换可以同时存在:源转换解决出网,映射解决入向访问。排查时先判断是哪个方向的流量,避免在错误的配置段里绕圈。
映射数量多时要建对照表:公网端口、内网地址、协议、上线日期逐项登记。回收临时映射与排查端口冲突时,一张表比翻几十行配置快得多。