链路负载均衡之策略路由

一、策略路由的概念

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

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

策略路由优先于路由表生效,更多维度包括了入接口、源安全区域、源/目的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技术与实践------李学昭

相关推荐
上海运维Q先生18 分钟前
面试题整理19----Metric的几种类型?分别是什么?
运维·服务器·面试
打鱼又晒网25 分钟前
Linux网络 | 网络计算器客户端实现与Json的安装以及使用
linux·c++·网络协议·计算机网络
hao_wujing27 分钟前
现代网络负载均衡与代理导论
运维·网络·负载均衡
朝九晚五ฺ28 分钟前
【Linux探索学习】第二十三弹——理解文件系统:认识硬件、探索文件在硬件上的存储问题
linux·运维·学习
HackKong37 分钟前
Python与黑客技术
网络·python·web安全·网络安全·php
匹马夕阳1 小时前
容器化平台Docker初识
运维·docker·容器
Autumn.h1 小时前
vulnhub Empire-Lupin-One靶机
网络安全
互联网资讯1 小时前
抖音生活服务商系统源码怎么搭建?
大数据·运维·人工智能·生活
-指短琴长-1 小时前
Linux从0到1——线程同步和互斥【互斥量/条件变量/信号量/PC模型】
linux·运维·服务器
深渊启源1 小时前
用 Ingram 和 masscan 来扫描全网存在漏洞的camera
网络安全·漏洞·ingram·masscan