在华为设备上,策略路由(Policy-based Routing,PBR)允许你根据流量的各种特征(如源IP、目标IP、源端口、目的端口、协议类型等)来选择流量的转发路径。华为的策略路由配置与其他厂商相似,但也有其独特的命令和配置方式。
策略路由的基本概念
策略路由通过 路由策略(Route Policy)来配置,结合 访问控制列表(ACL)或 流量匹配条件,指定特定流量如何通过不同的出接口或下一跳转发。
华为策略路由配置的步骤
-
定义访问控制列表(ACL):
策略路由首先需要通过ACL匹配要处理的流量。ACL通常根据源地址、目的地址、协议等进行配置。[Huawei] acl number 3000 [Huawei-acl-basic-3000] rule permit ip source 192.168.1.0 0.0.0.255
这里创建了一个ACL 3000,它匹配来自
192.168.1.0/24
网络的所有IP流量。 -
创建路由策略:
路由策略用于定义流量的转发规则,通常通过policy-based-route
命令创建。[Huawei] policy-based-route PBR_POLICY [Huawei-policy-based-route-PBR_POLICY] rule 10 permit ip source 192.168.1.0 0.0.0.255 [Huawei-policy-based-route-PBR_POLICY] apply ip-next-hop 192.168.2.1
这段配置表示匹配到
192.168.1.0/24
网络的流量后,将其转发到下一跳192.168.2.1
。 -
应用策略路由到接口:
配置完路由策略后,接下来需要将其应用到某个接口上,以便让进入该接口的流量按策略路由转发。[Huawei] interface GigabitEthernet 0/0/0 [Huawei-GigabitEthernet0/0/0] ip policy-based-route PBR_POLICY
这里将
PBR_POLICY
应用到了GigabitEthernet 0/0/0
接口。 -
查看配置:
配置完成后,可以使用以下命令来查看策略路由的配置情况:[Huawei] display policy-based-route
如果你想查看具体的路由策略,可以使用:
[Huawei] display policy-based-route PBR_POLICY
示例:策略路由配置
假设你有两条出口链路,分别是 192.168.2.1
和 192.168.3.1
,并且你希望根据源IP来决定流量走哪条链路:
- 创建ACL 来匹配源IP为
192.168.1.0/24
的流量:
华为设备上的策略路由(Policy-based Routing, PBR)通常是基于 访问控制列表(ACL) 来匹配特定的流量,而 ACL 的配置是实现策略路由的关键部分之一。通过 ACL 可以指定哪些流量需要进行策略路由处理,哪些流量不需要。
不过,在一些简单的场景中,策略路由的配置也可以不通过 ACL 来实现。例如,如果你希望根据流量的源 IP 地址或其他条件来进行路由决策,可以直接在策略路由规则中使用条件,而不必先定义一个独立的 ACL。
不使用 ACL 的策略路由配置(直接在规则中定义条件)
下面是一个不使用 ACL 的策略路由配置示例:
-
创建策略路由规则:
直接定义一个规则,基于源 IP 地址来选择流量的转发路径。[Huawei] policy-based-route PBR_POLICY [Huawei-policy-based-route-PBR_POLICY] rule 10 permit ip source 192.168.1.0 0.0.0.255 [Huawei-policy-based-route-PBR_POLICY] apply ip-next-hop 192.168.2.1
这段配置表示将源 IP 地址为
192.168.1.0/24
的流量转发到下一跳192.168.2.1
。 -
应用策略路由到接口:
在此规则创建后,你可以将策略路由应用到接口上。[Huawei] interface GigabitEthernet 0/0/0 [Huawei-GigabitEthernet0/0/0] ip policy-based-route PBR_POLICY
使用 ACL 的策略路由配置
通常情况下,策略路由通过使用 ACL 进行流量匹配,从而实现更精细的流量选择。下面是使用 ACL 的策略路由配置方法:
-
定义访问控制列表(ACL):
[Huawei] acl number 3000 [Huawei-acl-basic-3000] rule permit ip source 192.168.1.0 0.0.0.255
创建了一个 ACL
3000
,它匹配源 IP 为192.168.1.0/24
的流量。 -
创建策略路由规则,并应用 ACL:
[Huawei] policy-based-route PBR_POLICY [Huawei-policy-based-route-PBR_POLICY] rule 10 permit ip address 3000 [Huawei-policy-based-route-PBR_POLICY] apply ip-next-hop 192.168.2.1
这里通过引用 ACL
3000
,指定源地址为192.168.1.0/24
的流量,然后将其转发到下一跳192.168.2.1
。
- 不使用 ACL:可以在策略路由规则中直接定义条件,比如源 IP 地址、目标 IP 地址等。
- 使用 ACL:可以通过创建 ACL 来细化流量匹配的条件,提供更复杂的流量筛选功能。
两种方法都可以有效实现策略路由,具体使用哪种方式取决于你的需求。对于更复杂的流量匹配,推荐使用 ACL。
-
创建路由策略 来定义流量转发的规则:
[Huawei] policy-based-route PBR_POLICY [Huawei-policy-based-route-PBR_POLICY] rule 10 permit ip source 192.168.1.0 0.0.0.255 [Huawei-policy-based-route-PBR_POLICY] apply ip-next-hop 192.168.2.1
-
应用策略路由到接口:
[Huawei] interface GigabitEthernet 0/0/0 [Huawei-GigabitEthernet0/0/0] ip policy-based-route PBR_POLICY
-
查看策略路由配置:
[Huawei] display policy-based-route
这时,当来自
192.168.1.0/24
网络的流量经过GigabitEthernet 0/0/0
接口时,会根据PBR_POLICY
路由策略将其引导到下一跳192.168.2.1
。
高级配置
华为的策略路由还支持更多复杂的配置,比如基于 源端口、目标端口、协议类型等进行路由决策。你可以使用 match
命令进一步细化策略,比如基于TCP端口匹配:
[Huawei] policy-based-route PBR_POLICY
[Huawei-policy-based-route-PBR_POLICY] rule 10 permit tcp source 192.168.1.0 0.0.0.255 destination-port eq 80
[Huawei-policy-based-route-PBR_POLICY] apply ip-next-hop 192.168.2.1
这种配置可以将源地址为 192.168.1.0/24
且目标端口为 80
的流量引导到特定的下一跳路由。
策略路由常见命令:
-
创建策略路由:
[Huawei] policy-based-route <policy-name>
-
定义路由规则:
[Huawei-policy-based-route-<policy-name>] rule <rule-number> permit ip source <source-ip> <source-mask>
-
设置路由下一跳:
[Huawei-policy-based-route-<policy-name>] apply ip-next-hop <next-hop-ip>
-
应用策略路由到接口:
[Huawei] interface <interface-name> [Huawei-<interface-name>] ip policy-based-route <policy-name>
-
查看策略路由配置:
[Huawei] display policy-based-route
通过这些配置,华为设备可以实现非常灵活和强大的流量控制策略,适应复杂的网络环境需求。