思科 NAT 怎么挑要转换的流量
思科的源 NAT 有两套引用方式:一种是引用标准或扩展 ACL,匹配到的源地址就做转换;另一种是引用 route-map,可以同时按源、目的地址甚至下一跳等条件判断,适合「只对访问某类目的地址的流量做转换」这类策略型出口。无论哪种方式,接口上的 inside 与 outside 方向标记都是前提,缺了它 NAT 规则再正确也不会生效。
基本信息
| 适用平台 | Cisco IOS 与 IOS-XE |
|---|---|
| 两种写法 | ip nat inside source list 编号(基础)与 ip nat inside source route-map 名称(策略) |
| 方向前提 | 内网侧接口配 ip nat inside,出口侧配 ip nat outside |
| 权限要求 | 全局配置模式与接口视图 |
| 转换模式 | 语句末尾加 overload 表示端口复用,不加则按地址池一对一分配 |
典型使用场景
- 按源网段转换:只让办公网段上网,服务器网段走独立出口
- 按目的地址策略转换:访问内网专线目的地时不转换,访问互联网才转换
- 多出口分流:不同业务走不同出口地址池,日志与审计可区分
- 排除对端白名单场景:对端只认固定源地址,需要针对性配置
- 排障复核:确认到底哪条规则在生效,避免多条语句互相干扰
思科 IOS(ACL 方式)
思科 IOS(ACL 方式)
SW-CORE-01(config)# access-list 1 permit 192.168.1.0 0.0.0.255
SW-CORE-01(config)# interface GigabitEthernet0/1
SW-CORE-01(config-if)# ip nat inside # 内网侧接口
SW-CORE-01(config)# interface GigabitEthernet0/0
SW-CORE-01(config-if)# ip nat outside # 出口侧接口
SW-CORE-01(config)# ip nat inside source list 1 interface GigabitEthernet0/0 overload
SW-CORE-01# show ip nat statistics # 查看命中与转换条目数思科 IOS(route-map 方式)
思科 IOS(route-map 方式)
SW-CORE-01(config)# ip access-list extended NAT_ACL
SW-CORE-01(config-ext-nacl)# permit ip 192.168.1.0 0.0.0.255 any
SW-CORE-01(config)# route-map NAT_RM permit 10
SW-CORE-01(config-route-map)# match ip address NAT_ACL
SW-CORE-01(config)# ip nat inside source route-map NAT_RM interface GigabitEthernet0/0 overload
SW-CORE-01# show route-map NAT_RM # 确认策略命中次数华为 VRP 与 H3C 对照
华为 VRP 与 H3C 对照
[Huawei] acl number 2000
[Huawei-acl-basic-2000] rule 5 permit source 192.168.1.0 0.0.0.255
[Huawei] interface GigabitEthernet0/0/1
[Huawei-GigabitEthernet0/0/1] nat outbound 2000 # 按 ACL 匹配源地址
! 策略型分流:先用策略路由选择出口,再在出口上做 NAT
[H3C] acl basic 2000
[H3C-acl-ipv4-basic-2000] rule 0 permit source 192.168.1.0 0.0.0.255
[H3C] interface GigabitEthernet1/0/1
[H3C-GigabitEthernet1/0/1] nat outbound 2000两种引用方式对照
| 对比项 | ACL 方式 | route-map 方式 |
|---|---|---|
| 匹配条件 | 主要按源地址 | 可按源、目的、下一跳等组合 |
| 适用范围 | 常规出口上网 | 策略型出口,有例外流量的场景 |
| 条件变更 | 修改 ACL 内容 | 修改 route-map 的 match 子句 |
| 排障难度 | 低,逻辑直白 | 中,需确认策略命中与顺序 |
| 厂商可用性 | 三厂通用思路 | 思科 IOS 的细粒度能力,其他厂商多借助策略路由实现 |
ACL 里匹配的是转换前的源地址,不要写转换后的地址。多条 inside source 语句同时存在时按配置顺序生效,排查前先确认哪一条真的命中了流量,再去看地址池与转换表。
改完 ACL 或 route-map 后,已经建立的会话仍沿用旧的映射关系。要让新策略完全生效,需要清除 NAT 转换表(clear ip nat translation),操作前评估是否会影响在线业务。