【控制篇 / 分流】(7.4) ❀ 02. 对不同运营商IP网段访问进行分流 ❀ FortiGate 防火墙

  【简介】公司有两条宽带用来上网,一条电信,一条联通,访问常用的某些网站速度时快时慢。领导要求,根据上网流量的目标运营商IP归属,将流量送到相应的运营商出口去,避免跨运营商上网。那么应该怎么做?


 地址对象&地址组

  解决方案是:将运营商所属IP创建地址对象和地址组,通过路由走相应的宽带口。

  ① 可以网上找到很多有关于运营商所属IP的网站,例如 https://ispip.clang.cn 。可以看到联通有650条数据,网站会以HTML和TXT等格式显示IP数据,这里我们点击HTML下的联通IP数据。

  ② 可以看到联通所有的IP地址段表,并且是每日更新,值得信赖。但是有一个问题时,如何将这么多地址变成防火墙上的地址对象?一条一条输入显然是不合适,这样就需要用到批量处理工具。

  ③ 批量处理工具推荐NimbleText,可以在官方 https://nimbletext.com 下载免费版本。仅支持Windows。

  ④ 下载界面提示输入名称和邮件,也可以点击【skip that, download anyway.】跳过。

  ⑤ NimbleText程序文件下载成功,只有883KB。

  ⑥ 双击打开NimbleText,选择菜单【Tools】-【Options】。

  ⑦ 默认【Output a new line after each row】选项被钩选,这里要将它取消钩选择。

  ⑧ 将从 https://ispip.clang.cn 网站获取的前10条联通数据复制粘贴到NimbleText的数据区。为什么只复制10条?因为我们需要用少量数据创建一个可以使用的模板,避免后期排错走弯路。

  ⑨ 在模板区输入上图中的命令,第一大段是配置防火墙地址对象,第二大段是配置防火墙地址组。$0是变量,用来引用数据区的数据。$ONCE的作用是只执行一次,$EACH的作用是循环执行,自至$0变量取不到数据。

  ⑩ 点击【Calculate】或钩选【auto】,可以在下方看到最终在防火墙上执行的命令行。第一大段生成配置防火墙地址对象命令,将在防火墙上生成10条地址对象。

  ⑪ 第二大段命令,将10条自动生成的地址对象,加入一个地址组。注意这里地址对象都是连接在一起的,中间空格隔开。如果每个地址对象都是独立的一行,后面执行时会报错。

  ⑫ 选择菜单【File】-【Save result as...】。

  ⑬ 保存类型选择【Text files (*.txt)】,输入文件名,点击【保存】。

  ⑭ 用记事本打开刚刚保存的文本文件,可以看到将在在防火墙上运行的脚本内容。编码为UTF-8。

  执行脚本

  用批量工具创建好命令脚本后,下一步就是在防火墙上执行脚本了。

  ① 登录防火墙,点击右上角管理员旁下拉图标,弹出菜单选择【配置】-【脚本】。 

  ② 点击【运行脚本】。

  ③ 选择由NimbleText生成并保存的文本文件,点击确认。

  ④ 脚本成功运行,在【策略&对象】-【地址】,可以看到自动创建的10条联通IP地址对象。

  ⑤ 选择【Address Group】,可以到新建的地址组Unicom_GRP,由10条地址对象组成。

  批量执行

  少量数据的脚本可以完整执行后,就可以通过模板将其它数据导入了。

  ① 如果我们将剩下的640条数据都粘贴到数据区会怎么样?

  ② 从生成的脚本文件中可以看到,将地址对象加入地址组的命令是一行,所以命令会很长。

  ③ 再次执行脚本,出现报错信息,提示成员数最大为600。

  ④ 选择菜单【策略&对象】-【地址】,可以看到剩于的640条地址对象都已经创建好了,由于加入地址组命令报错,所以640条地址对象的关系项都为0,可以批量选择全部640条地址地象,点击鼠标右键,弹出菜单选择删除。

  ⑤ 因为要将全部650条数据分批创建脚本,那么给数据加上序号,就显得非常重要了。选择并复制全部650条数据。

  ⑥ 打开Execl,新建工作簿,在A1格中点击鼠标右键,弹出菜单选择【选择性粘贴】。

  ⑦ 方式选择【文本】,点击【确定】。

  ⑧ 650条数据显示在Execl中,由于左右有序号,这样就方便我们的选择,前10条数据已经回入防火墙,这次选择11-590,共复制580条数据。我们前面知道最大数据量是600,但是为了避免出错,建议留出一部空间,选择580条数据。

  ⑨ 580条数据粘贴到NimbleText的数据区。

  ⑩ 生成580条数据的脚本。

  ⑪ 这次执行脚本成功了。得到结果是一次性将580条地址对象加入一个地址组。

  ⑫ 查看地址组,里面有580条地址对象。

  ⑬ 再次生成最后60条数据脚本,成功的在防火墙上执行了脚本,但是。。。。地址组也只剩下60条地址对象了。这是为什么?原来每次 set member 命令都是重新设置成员,而不是加入成员,而且每个组的成员不能超过600个,那么联通的650个地址对象怎么办?很显然无法放入一个地址组中。

  ⑮ 建议将前500条数据,加入一个地址组。500是整数,好记,另外给地址组预留一些空间。

  ⑯ 将后150条数据加入另外一个组。分别生成两个脚本文件。

  ⑰ 删除防火墙上前面创建的关于联通的所有地址组和地址对象,然后重新运行脚本。两个脚本都运行成功。

  ⑱ 在菜单【策略&对象】-【地址】下,可以看到有650条联通的地址对象。

  ⑲ 而在地址组窗口,也可以看到有两个关于联通的地址组,一个有500条地址对象,另一个有150条地址对象。

  ⑳ 为了方便操作,可以将两个联通地址组再统一加入到Unicom_GRP组中,这样只要引用一个地址组就可以了。

  路由分流

  当我们拥有地址对象和地址组后,就可以通过路由分流了。

  ① 可以创建静态路由,目标地址选择【地址命名】,下拉选择联通地址组。接口选择联通宽带。这样当访问的IP是联通地址时,会走Wan2联通宽带出去。

  ② 可以创建策略路由,例如内网接口所有IP访问联通IP地址时走Wan2联通宽带出去。

  【总结】 将运营商所属IP网段创建地址对象和地址组,通过路由匹配,访问不同运营商IP时走所属运营商宽带出去,可以加快访问速度。每个地址组最多只能加600个地址对象。地址组可以加入另一个地址组。


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vivado 使用IP Integrator源

使用IP Integrator源 在Vivado Design Suite中,您可以在RTL中添加和管理IP子系统块设计(.bd)项目或设计。使用Vivado IP集成程序,您可以创建IP子系统块设计。IP集成程序使您能够通过实例化和将Vivado IP目录中的多个IP核互连。可…

【PostgreSQL内核学习(二十一)—— 执行器(InitPlan)】

执行器(InitPlan) 概述InitPlan 函数代码段解释ExecInitNode 函数 总结 声明:本文的部分内容参考了他人的文章。在编写过程中,我们尊重他人的知识产权和学术成果,力求遵循合理使用原则,并在适用的情况下注明…

最新使用宝塔反代openai官方API接口搭建详细教程及502 Bad Gateway错误问题解决

一、前言 宝塔反代openai官方API接口详细教程,实现国内使用ChatGPT502 Bad Gateway问题解决, 此方法最简单快捷,没有复杂步骤,不容易出错,即最简单,零代码、零部署的方法。 二、实现前提 一台海外VPS服务…

SpringBoot教程(七) | SpringBoot解决跨域问题

SpringBoot教程(七) | SpringBoot解决跨域问题 上篇文章我们介绍了SpringBoot的拦截器的写法,其中有一个比较重要的步骤,就是把我们写好的拦截器注册到Spring的一个配置类中,这个类是实现了WebMvcConfigurer 接口,这个类很重要&a…

PRU pruss, rproc_pru和prueth uboot源码分析

概述 首先看一下PRU_ICSSG的功能框图,对于AM64来说,包含两个PRU_ICSSG模块。每个PRU_ICSSG共包含两个slice。 每个PRU core自己Local Instruction RAM, 容量不同。 PRU 内核执行任何指令之前,…

NXP-RT1176开发(一)——环境搭建(MCUXpressoIDE/VSCode)

目录 1. 安装IDE 1.1 官方开发的IDE软件 1.2 Config工具下载 1.3 说明(需先有SDK) 2. 下载SDK 3. VScode环境下编译 3.1 安装插件 3.2 确保本地有交叉编译工具链和CMAKE 3.3 加载本地SDK 3.4 导入例程编译 1. 安装IDE 该处理器编译规则可以MDK…

科普丨数据泄露防护DLP是什么(DLP数据泄露防护系统推荐)

在数字化时代,数据泄露的风险日益严峻,给企业和组织带来了巨大的威胁。为了应对这一挑战,数据泄露防护DLP(Data Loss Prevention)应运而生,成为保护数据安全的重要手段之一。 一、DLP数据泄露防护系统是什么…

高级RAG技术、以及算法实现

知识库地址:Advanced RAG techniques 检索增强生成(Retrieval Augmented Generation, RAG)为大语言模型(Large Language Model, LLM)提供了一种机制,通过从数据源检索到的信息为其生成的答案提供依据。简而…

C语言--质数算法和最大公约数算法

文章目录 1.在C语言中,判断质数的常见算法有以下几种:1.1.试除法(暴力算法):1.2.优化试除法:1.3.埃拉托色尼筛法:1.4.米勒-拉宾素性检验:1.5.线性筛法:1.6.费马小定理&am…

【前端发版】vue前端发版 步骤

1、 提交代码 代码合并通过之后到deb分支 2、git checkout 切换到dev分支上 运行起来看看自己刚刚提交的代码有没有错误 3、拉取最新代码 git pull 3、yarn run build 4、打包好的文件叫dist 重新命名为服务器里替换包名 5、登录文件传输 开始替换 替换的过程中 首先删除备…

如何一台电脑操作两个adb 设备

1.首先使用 adb devies 命令 2.然后使用 adb -s 上面的返回的id号 shell 进入对应的开发板

优化您的服务请求,增强用户体验和服务交付

您的服务请求模板是否像一个复杂的迷宫,给您的团队带来延误和困惑?您的技术人员是否厌倦了为了解最终用户的需求而与他们来回奔波?强大且可定制的请求模板可能正是您所需要的! 服务交付团队(尤其是 IT)的…

ubuntu服务器安装Slurm

相关内容,网上不少,这里记录一下自己出现的问题和解决方法,采用的是Ubuntu22.04,方法可以参考知乎上面这篇文章Ubuntu服务器安装配置slurm,整个安装过程没有什么问题,主要步骤贴在这里但在使用过程中&#…

Vue3响应式系统(一)

一、副作用函数。 副作用函数指的是会产生副作用的函数。例如:effect函数会直接或间接影响其他函数的执行,这时我们便说effect函数产生了副作用。 function effect(){document.body.innerText hello vue3 } 再例如: //全局变量let val 2f…

【MATLAB】Linux版本 高分辨率屏 调整显示缩放

0 引言 安装了linux版本的MATLAB R2023b之后,发现工具栏字体很小不方便使用,所以上网找到了MATLAB论坛上某位大佬的教程:参考链接,放在这里供各位参考 。 1 环境 这里注明我的matlab安装环境仅供参考,未在其他环境下…

Java基础 - 黑马

我是南城余!阿里云开发者平台专家博士证书获得者! 欢迎关注我的博客!一同成长! 一名从事运维开发的worker,记录分享学习。 专注于AI,运维开发,windows Linux 系统领域的分享! 知…

msvcp140.dll丢失都有什么办法可以解决呢?分享几种解决办法

msvcp140.dll是Windows操作系统中的一个重要动态链接库文件,它与许多软件的正常运行密切相关。当系统或软件无法找到或访问到该dll文件时,就会出现msvcp140.dll丢失的问题。这可能导致某些软件无法启动或崩溃,给用户带来不便。为了解决这个问…

Proxy的使用方法和13种拦截操作

前言 proxy是ES6新推出的方法,功能很强大。属于元编程,也就是修改js本身的一些东西。可以对数组,对象,函数等引用类型的对象进行一些复杂的操作。 其中,大部分人应该最熟悉的莫过于vue3中使用proxy替换了defineProperty,而且还实现了本身defineProperty不能实现的一些东西。 …

GO——gin中间件和路由

中间件 参考:https://learnku.com/articles/66234 结构 中间件是函数中间件函数被放在调用链上调用链的末尾是路由path对应的函数 执行过程 net/http包调用到gin的serverHTTP 参考:go/pkg/mod/github.com/gin-gonic/ginv1.7.7/gin.go:506 通过path找到…