借用出接口地址做实来源转换
Easy IP 是华为路由器上最常见的出口方案:nat outbound 只跟一个 ACL 编号、不跟地址池时,转换后的源地址直接使用出接口自身的地址,并复用端口区分不同会话。它的优点是公网地址变化时不需要改配置,因此特别适合拨号或动态地址的出口场景,也是小型办公网络的首选写法。
基本信息
| 适用平台 | 华为 VRP 路由器与防火墙 |
|---|---|
| 命令形式 | 接口下 nat outbound 加 ACL 编号,不跟地址池即复用接口地址 |
| 源选择 | ACL 只匹配源地址,命中即转换,未命中不转换 |
| 适用场景 | 单出口、公网地址不固定或地址数量有限 |
| 验证命令 | display nat outbound 与 display nat session all |
典型使用场景
- 小微企业单出口宽带上网,全部内网复用一条公网地址
- 拨号出口场景:公网地址每次重拨都变化
- 作为地址池用尽前的过渡方案,快速恢复上网
- 双出口时分别在各接口配置,实现按接口方向的地址复用
- 设备迁移时把旧设备的地址池方式简化为接口地址复用
华为 VRP
华为 VRP
acl number 2000
rule 5 permit source 192.168.1.0 0.0.0.255 # 需要上网的网段
interface GigabitEthernet0/0/1
nat outbound 2000 # 不跟地址池即为复用接口地址
display nat outbound # 查看已配置的转换条目
display nat session all # 查看会话表确认转换生效思科 IOS
思科 IOS
access-list 1 permit 192.168.1.0 0.0.0.255
ip nat inside source list 1 interface GigabitEthernet0/0 overload
interface GigabitEthernet0/0
ip nat outside
! 思科必须写 overload 才做端口复用H3C Comware
H3C Comware
acl basic 2000
rule 0 permit source 192.168.1.0 0.0.0.255
interface GigabitEthernet1/0/1
nat outbound 2000
display nat outbound
display nat session all三厂等价写法对照
| 对比项 | 华为 VRP | 思科 IOS | H3C Comware |
|---|---|---|---|
| 命令位置 | 外网接口下 | 全局语句加接口角色 | 外网接口下 |
| 关键字 | 不跟地址池即复用接口地址 | 必须写 overload | 不跟地址池即复用接口地址 |
| 接口角色 | 不需要 | 必须标 inside 与 outside | 不需要 |
| 源选择 | 引用 ACL 编号 | 引用 ACL 编号 | 引用 ACL 编号 |
| 会话查看 | display nat session all | show ip nat translations | display nat session all |
配置与排障要点
- ACL 只写需要上网的网段,不需要上网的私网互访流量不要放进来,避免无谓转换
- 规则里出现拒绝时注意顺序:拒绝规则写在放行之前会把整个网段排除在转换之外
- 会话数上限要考虑终端规模:终端数量多时同步调整会话相关参数,避免高峰期建不起表
- 出口地址变化后不需要改配置,但需要确认接口地址已更新,老的会话表项会自然老化
- 双出口分别配置时源选择范围不要重叠,重叠会导致流量走向与预期不一致
常见疑问
- 为什么能 ping 通网关却上不了网:先看 ACL 是否真的命中了需要上网的网段
- 要不要配地址池:地址固定的场景可以配地址池,动态地址场景直接用接口地址更稳
- 会不会影响内网互访:同网段互访不经过转换,跨网段互访只要 ACL 未放行也不会被转换
- 会话表为空怎么办:确认命令挂在正确的接口上,并核对 ACL 规则是否命中
- 需要保留部分地址不转换吗:在 ACL 中用拒绝规则把不需要转换的来源排除即可
思科必须显式写 overload 才做地址与端口复用,不写时是按地址池逐个分配;华为与 H3C 的 nat outbound 在不跟地址池时本身就是复用接口地址,写法上更省一步。
Easy IP 只能解决源地址出网问题,外网主动访问内网服务仍需要端口映射配置;两者常在同一台出口设备上同时存在,排障时要分清是哪个方向的流量。