策略路由加 NAT
双出口按目的地址或源网段分流时,先用策略路由选定出口,再在各出口上分别做 NAT。华为与 H3C 用 policy-based-route,思科用 route-map 配合接口下的 ip policy。策略路由只决定走哪条线,NAT 与回程路由仍要分别配置。
基本信息
| 适用平台 | 三厂路由器 |
|---|---|
| 华为命令 | policy-based-route 名称 permit node 10 加 if-match 与 apply |
| 思科命令 | route-map 名称 permit 10 加 match 与 set,接口下 ip policy route-map |
| H3C 命令 | 与华为同构 |
| 分流依据 | ACL 匹配目的地址或源网段 |
| 配套要求 | 每条线路都要单独配置 NAT 与回程路由 |
典型使用场景
- 双运营商出口按业务类型分流,例如时延敏感业务走专线
- 按源网段把不同部门流量分到不同出口
- 线路维护时临时把流量切到备用出口
- 排查出去能通、回来丢包的半通状态
- 与地址池 NAT 配合完成完整出口方案
华为 VRP
华为 VRP
acl number 3000
rule 5 permit ip destination 1.2.3.0 0.0.0.255 # 匹配需要走 ISP1 的流量
policy-based-route ISP1 permit node 10
if-match acl 3000
apply output-interface GigabitEthernet0/0/1 # 指定出口
interface GigabitEthernet0/0/0
ip policy-based-route ISP1 # 在入方向接口应用
display policy-based-route思科 IOS 与 H3C
思科 IOS 与 H3C
ip access-list extended ISP1_TRAFFIC
permit ip any 1.2.3.0 0.0.0.255
route-map ISP1 permit 10
match ip address ISP1_TRAFFIC
set interface GigabitEthernet0/1
interface GigabitEthernet0/0
ip policy route-map ISP1
show route-map
# H3C Comware
acl advanced 3000
rule 0 permit ip destination 1.2.3.0 0.0.0.255
policy-based-route ISP1 permit node 10
if-match acl 3000
apply output-interface GigabitEthernet1/0/1
interface GigabitEthernet1/0/0
ip policy-based-route ISP1三厂写法对照
| 环节 | 华为与 H3C | 思科 IOS |
|---|---|---|
| 策略入口 | policy-based-route 名称 permit node | route-map 名称 permit 序号 |
| 匹配条件 | if-match acl | match ip address |
| 指定出口 | apply output-interface | set interface |
| 接口应用 | ip policy-based-route | ip policy route-map |
策略路由只解决去程选路,回程仍由对端设备的路由表决定。双线场景常出现出去能通、回来丢包的半通状态,根因多是回程走了另一条线路,或对端没有对应的回程路由,需要两端一起规划。
每条出口线路都要单独配置 NAT,漏掉一条时该线路的流量会因源地址不可路由而被丢弃。分流策略与 NAT 建议成对维护,改一条线路时同步核对另一侧的地址池与 ACL。
分流规则应尽量精确,只匹配需要特殊处理的网段或目的地址,其余流量交给默认路由。全量匹配的规则会让策略路由实质上变成默认选路,后续增加线路时排错难度会明显上升。