链路负载均衡之策略路由

一、策略路由的概念

一般来说,防火墙是根据目的地址查看路由,这种情况下只能根据报文的目的地址为用户提供服务,没办法更加灵活对内网用户进行区分,让不同用户流量走不同的链路转发,如根据源地址、应用协议等区分流量,走各自期望的链路,因此出现了策略路由。

策略路由是在路由表已经产生的情况下,不按照现有的路由表进行转发,从更多的维度来决定报文如何转发,根据用户制定的策略进行路由选择的机制。

策略路由优先于路由表生效,更多维度包括了入接口、源安全区域、源/目的IP地址、用户、服务、应用。

1、策略路由的组成

匹配条件:源地址/目的地址、源安全区域/入接口、用户、服务、应用、时间段、DSCP优先级,默认为any, 一条策略路由可以包含多个匹配条件,每个匹配条件可以有多个值,其中源安全区域和入接口是互斥的,二者必选其一。

动作:如果策略路由配置的所有匹配条件都匹配,则此流量成功匹配该策略路由规则,并执行策略路由的动作,可以指定转发报文的出接口(单出口/多出口),也可以不做策略路由,按照现有的路由表进行转发。

2、策略路由的匹配规则

每条策略路由中包含多个匹配条件,各个匹配条件之间是"与"的关系,报文的属性与各个条件必须全部匹配,才认为该报文匹配这条规则。

一个匹配条件中如果可以配置多个值,多个值之间是"或"的关系,报文的属性只要匹配任意一个值,就认为报文的属性匹配了这个条件。

策略路由列表默认是按照配置顺序排列的,越先配置的策略路由规则位置越靠前,优先级越高。策略路由从策略列表顶端开始逐条向下匹配,如果流量匹配了某个策略路由,将不再进行下一个策略的匹配。

默认存在一条默认策略路由"default",匹配条件均为any,动作为不做策略路由,位于最底部,当前面策略路由均为命中,报文会命中默认策略路由,并按照现有路由表转发,可见,策略路由优先级高于路由表。
​

3、策略路由的应用场景

某企业的防火墙两个出口分别连接到电信、联通两个运营商,考虑运营商带宽、费用等因素,企业希望采用策略路由来控制特定报文转发路径。
​

基于源IP地址的策略路由:让192.168.1.0/24网段报文通过电信访问互联网,192.168.2.0/24网段报文通过联通访问互联网。

基于目的IP地址的策略路由:让访问电信的报文通过电信访问互联网,访问联通的报文通过联通访问互联网。类似于ISP选路的效果。

基于用户的策略路由:根据用户所属用户组,分配不同质量的链路,如用户组A等级高,可以享受更稳定的链路,用户组B使用其他链路。

基于应用的策略路由:例如,配置语音与视频等应用走带宽高线路,数据应用走带宽小的线路。

二、策略路由的配置

以应用场景为例,进行策略路由的配置,分为命令配置以及web界面配置。

①配置防火墙接口IP地址以及安全区域

java 复制代码
[USG6000V1]interface g1/0/0
[USG6000V1-GigabitEthernet1/0/0]ip add 192.168.1.254 24
[USG6000V1-GigabitEthernet1/0/0]q
[USG6000V1]interface g1/0/1
[USG6000V1-GigabitEthernet1/0/1]ip add 192.168.2.254 24
[USG6000V1-GigabitEthernet1/0/1]q
[USG6000V1]interface g1/0/2
[USG6000V1-GigabitEthernet1/0/2]ip add 10.1.1.1 24
[USG6000V1-GigabitEthernet1/0/2]q
[USG6000V1]interface g1/0/3
[USG6000V1-GigabitEthernet1/0/3]ip add 10.1.2.1 24
[USG6000V1-GigabitEthernet1/0/3]q
[USG6000V1]firewall zone trust
[USG6000V1-zone-trust]add interface g1/0/0
[USG6000V1-zone-trust]add interface g1/0/1
[USG6000V1-zone-trust]q
[USG6000V1]firewall zone untrust
[USG6000V1-zone-untrust]add interface g1/0/2
[USG6000V1-zone-untrust]add interface g1/0/3
[USG6000V1-zone-untrust]q

②配置安全策略和EASY-IP

java 复制代码
[USG6000V1]nat-policy 
[USG6000V1-policy-nat]rule name policy_nat1
[USG6000V1-policy-nat-rule-policy_nat1]source-zone trust
[USG6000V1-policy-nat-rule-policy_nat1]destination-zone untrust
[USG6000V1-policy-nat-rule-policy_nat1]egress-interface g1/0/2
[USG6000V1-policy-nat-rule-policy_nat1]source-address 192.168.1.0 24
[USG6000V1-policy-nat-rule-policy_nat1]action source-nat easy-ip
[USG6000V1-policy-nat-rule-policy_nat1]quit

[USG6000V1-policy-nat]rule name policy_nat2
[USG6000V1-policy-nat-rule-policy_nat2]source-zone trust
[USG6000V1-policy-nat-rule-policy_nat2]destination-zone untrust
[USG6000V1-policy-nat-rule-policy_nat2]egress-interface g1/0/3
[USG6000V1-policy-nat-rule-policy_nat2]source-address 192.168.2.0 24
[USG6000V1-policy-nat-rule-policy_nat2]action source-nat easy-ip
[USG6000V1-policy-nat-rule-policy_nat2]q

[USG6000V1]security-policy 
[USG6000V1-policy-security]rule name policy1
[USG6000V1-policy-security-rule-policy1]source-zone trust
[USG6000V1-policy-security-rule-policy1]destination-zone untrust
[USG6000V1-policy-security-rule-policy1]source-address 192.168.1.0 24
[USG6000V1-policy-security-rule-policy1]source-address 192.168.2.0 24
[USG6000V1-policy-security-rule-policy1]action permit
[USG6000V1-policy-security-rule-policy1]q
[USG6000V1-policy-security]q

​

③配置IP-Link,探测两条链路状态,chinacheck为电信,chinacheck1为联通

java 复制代码
[USG6000V1]ip-link check enable 
[USG6000V1]ip-link name chinacheck
[USG6000V1-iplink-chinacheck]destination 10.1.1.2 interface g1/0/2
[USG6000V1-iplink-chinacheck]q
[USG6000V1]ip-link name chinacheck1
[USG6000V1-iplink-chinacheck1]destination 10.1.2.2 interface g1/0/3
[USG6000V1-iplink-chinacheck1]q

​

④配置策略路由,使192.168.1.0/24网段报文通过电信访问互联网,192.168.2.0/24网段报文通过联通访问互联网,同时引用前面创建的IP-Link,防火墙是先检测策略路由再进行源NAT,因此策略路由源地址还是NAT前的地址。

java 复制代码
[USG6000V1-policy-pbr]rule name chinaroute1
[USG6000V1-policy-pbr-rule-chinaroute1]source-zone trust
[USG6000V1-policy-pbr-rule-chinaroute1]source-address 192.168.1.0 24
[USG6000V1-policy-pbr-rule-chinaroute1]track ip-link chinacheck
[USG6000V1-policy-pbr-rule-chinaroute1]action pbr egress-interface GigabitEthern
et 1/0/2 next-hop 10.1.1.2
[USG6000V1-policy-pbr-rule-chinaroute1]q

[USG6000V1-policy-pbr]rule name chinaroute2
[USG6000V1-policy-pbr-rule-chinaroute2]source-zone trust
[USG6000V1-policy-pbr-rule-chinaroute2]source-address 192.168.2.0 24
[USG6000V1-policy-pbr-rule-chinaroute2]track ip-link chinacheck1
[USG6000V1-policy-pbr-rule-chinaroute2]action pbr egress-interface GigabitEthern
et 1/0/3 next-hop 10.1.2.2

⑤测试,分别用192.168.1.0/24、192.168.2.0/24 ping 10.1.1.2、10.1.2.2

​

192.168.1.1通过NAT转换成出接口10.1.1.1地址下一跳为10.1.1.2、192.168.2.1通过NAT转换成出接口10.1.2.1地址下一跳为10.1.2.2。


参考资料:防火墙和VPN技术与实践------李学昭

相关推荐
ESDWAN3 小时前
跨境网络丢包怎么定位?用MTR和Traceroute分析链路问题
网络
学逆向的3 小时前
C 枚举变量
c语言·开发语言·网络安全
砺星Leetx3 小时前
工业总线选型与对接实战:PROFINET、EtherCAT、EtherNet/IP、PROFIBUS、Modbus-TCP 与 CC-Link
网络·网络协议·tcp/ip·控制器·国产拧紧系统
2401_868534783 小时前
软考网络规划设计师SSL协议知识点详解
服务器·网络
Escalating_xu4 小时前
【Linux 网络编程】手写序列化与反序列化:从 x op y 到能校验的文本协议
linux·运维·网络
润滑卫士4 小时前
油液多参数融合故障诊断:数据级融合与决策级融合方法
运维
李纲明5 小时前
WordPress 后台登录马上被踢回登录页:Cookie 域、HTTPS、盐值和页面缓存怎么查
运维·缓存·https·php·wordpress·cookie
todoitbo5 小时前
在 Ubuntu ARM64 上运行 Q1 V3.0 MuJoCo 模型:加载、步进和单执行器响应
linux·运维·ubuntu·ai·机器人·仿真教程·启元
AR-26710-6 小时前
Linux Day26——传输层与三次握手
linux·运维
POMAGTOR6 小时前
【磁吸式连接器选型工程解析:结构原理、应用场景与选型可靠性要点】
网络·嵌入式硬件