链路负载均衡之策略路由

一、策略路由的概念

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

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

策略路由优先于路由表生效,更多维度包括了入接口、源安全区域、源/目的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地址以及安全区域

[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

[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为联通

[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前的地址。

[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技术与实践——李学昭

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/724367.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

照片 200K 的尺寸是多大?如何调整照片到200k?

在数字时代,我们经常需要在互联网上上传和分享照片。在上传照片时,我们常常会遇到文件大小的限制,通常以“K”(千字节)为单位。如果您需要上传的照片大小为 200K,那么它的实际尺寸是多大呢?本文…

栈【stack】 栈的【STL】运用 【单调栈】 【单调栈】的详细解释【图文讲解】 洛谷P5788 【模板】单调栈 【单调队列】

文章目录 栈的定义栈的STL运用 单调栈 & 单调队列单调栈的详细解释【图文讲解】例题:洛谷P5788 【模板】单调栈code↓洛谷P5788 【模板】单调栈 AC 栈的定义 栈的修改与访问是按照后进先出的原则进行的 栈通常被称为是后进先出(last in first out&…

centos ps命令

1. ps : Process Status的缩写,用于查询系统的进程状态 2. 常用参数:-ef 返回系统中所有用户的所有进程的完整列表 -A 显示所有进程(同-e) -a 显示当前终端的所有进程 -u 显示进程的用户信息 -o 以用户…

33、一致性哈希算法分区

33、一致性哈希算法分区 一、背景二、介绍三、步骤1、算法构建一致性哈希环2、Redis服务器IP节点映射3、key落到服务器的落键规则 四、优点1、一致性哈希算法的容错性2、一致性哈希算法的扩展性 五、缺点1、一致性哈希算法的数据倾斜问题2、拓展 六、总结 一、背景 一致性哈希…

sylar高性能服务器-日志(P57-P60)内容记录

文章目录 P57-P60:序列化模块Varint(编码)Zigzag(压缩)class ByteArrayNode(链表结构)成员变量构造函数写入读取setPositionaddCapacity 测试 P57-P60:序列化模块 ​ 序列化模块通常…

某酷ckey140逆向(之前下架了重新上传补发)

声明: 本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!wx a15018…

Python - Pycharm 配置 autopep8 并设置快捷键

什么是 PEP8 官方:PEP 8 – Style Guide for Python Code | peps.python.org PEP8 是 Python 官方推出的一套编码的规范,只要代码不符合它的规范,就会有相应的提示,还可以让代码自动的格式化 Pycharm 自带的代码格式化 ​ 但这…

2024年Android笔试题总,如何系统全面性学习Android语言

开头 让我们一起来看看,字节跳动的第三面,面试官都问了什么?(第一二面的题目及答案已整理,需要的可以在文末领取) 从七月中旬开始,我前前后后差不多一共投递了八十份简历,到目前为…

章鱼网络进展月报 | 2024.2.1-2.29

章鱼网络大事摘要 1、Omnity 完成了核心组件的原型开发,正在测试,未来将首先支持 Runes 资产跨链。 2、$NEAR Restaking 质押总量超过400万美元。 3、章鱼网络受邀参加 ETHDenver 2024,并且与 ICP 共同组织活动,介绍 Omnity 的…

【C语言】linux内核netif_receive_skb

一、中文注释 /*** netif_receive_skb - 从网络处理接收缓冲区* skb: 要处理的缓冲区** netif_receive_skb() 是主要的数据接收处理函数。* 它总是成功的。由于拥塞控制或协议层的原因,缓冲区可能在处理过程中被丢弃。** 这个函数只能在软中断(softirq&…

guava的使用

对数组操作前判断是否会越界&#xff1a; List<String> s new ArrayList<>();System.out.println(Preconditions.checkElementIndex(2,s.size(),"下标长度超过了")); 是否为空 String s null;System.out.println(Preconditions.checkNotNull(s)); 判空…

Android使用Sensor.TYPE_STEP_COUNTER计步器传感器进行步数统计

1、首先&#xff0c;申请权限 必须声明 ACTIVITY_RECOGNITION 权限&#xff0c;以便您的应用在运行 Android 10 (API 级别 29) 或更高版本的设备上使用此传感器。 Manifest.xml也记得声明 if (Build.VERSION.SDK_INT > Build.VERSION_CODES.P) {Log.d(TAG, "[权限]&quo…

Docker的安装跟基础使用一篇文章包会

目录 国内源安装新版本 1、清理环境 2、配置docker yum源 3、安装启动 4、启动Docker服务 5、修改docker数据存放位置 6、配置加速器 现在我们已经完成了docker的安装和初始配置。以下为基本测试使用 自带源安装的版本太低 docker官方源安装的话速度太慢了 所以本篇文…

iOS 自动化测试踩坑(一): 技术方案、环境配置与落地实践

移动端的自动化测试&#xff0c;最常见的是 Android 自动化测试&#xff0c;我个人觉得 Android 的测试优先级会更高&#xff0c;也更开放&#xff0c;更容易测试&#xff1b;而 iOS 相较于 Android 要安全稳定的多&#xff0c;但也是一个必须测试的方向&#xff0c;这个系列文…

STM32(18)I2C

串口通信缺点 一个设备就需要一个串口&#xff0c;单片机可能没有那么多串口外设 总线/非总线 主机&#xff1a;负责管理总线&#xff0c;可控制波特率、数据的通信方向 波特率&#xff1a;由主机产生波特率信号 数据的传输 每个从机都有7位地址&#xff0c;最后移位是读&a…

力扣--动态规划516.最长回文子序列

思路分析&#xff1a; 创建一个二维动态规划表dp&#xff0c;其中dp[i][j]表示在子串s[i...j]中的最长回文子序列的长度。初始化基本情况&#xff1a;对角线上的元素dp[i][i]都为1&#xff0c;因为单个字符本身就是长度为1的回文子序列。从字符串末尾向前遍历&#xff0c;填充…

IPsec VPN协议框架

IPsec是IETF&#xff08;Internet Engineering Task Force&#xff09;制定的一组开放的网络安全协议。它并不是一个单独的协议&#xff0c;而是一系列为IP网络提供安全性的协议和服务的集合&#xff0c;包括认证头AH&#xff08;Authentication Header&#xff09;和封装安全载…

第十三届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组 统计子矩阵

#include<iostream> #include<algorithm> #include<cstring> #include<string> #include<vector> #include<queue>using namespace std;int cnt,temp; int n,m,K; int a[505][505]; int pre[505][505];//二维前缀和void sol() {cin>>…

如何从产品的角度做好内容营销?媒介盒子支招

内容运营就是指将生产传播内容并进行重组&#xff0c;去满足用户的内容消费需求&#xff0c;想要提高内容运营的效果&#xff0c;媒介盒子认为可以从产品出发&#xff0c;将内容运营与品牌产品相结合。那么应该怎么做呢&#xff1f;接下来就让媒介盒子告诉你。 一、 场景化内容…

MySQL 空间碎片详解

文章目录 前言1. 空间碎片如何产生2. 空间碎片如何查看3. 空间碎片如何回收后记 前言 MySQL 数据库在运行过程中&#xff0c;随着时间的推移&#xff0c;可能会出现空间碎片的问题。空间碎片是指数据库表中不再使用的空间&#xff0c;但由于各种原因&#xff0c;这些空间并没有…