【控制篇 / 分流】(7.4) ❀ 03. 对国内和国际IP网段访问进行分流 ❀ FortiGate 防火墙

本文主要是介绍【控制篇 / 分流】(7.4) ❀ 03. 对国内和国际IP网段访问进行分流 ❀ FortiGate 防火墙,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  【简介】公司有两条宽带用来上网,一条电信,一条IPLS国际专线,由于IPLS仅有2M,且价格昂贵,领导要求,访问国内IP走电信,国际IP走IPLS,那么应该怎么做?


 国内IP地址组

  我们已经知道可以创建地址对象和地址组,然后利用路由进行分流。

  ① 浏览器打开网站 https://ispip.clang.cn ,可以看到国内所有IP地址有5452条。

  ② 选择并复制所有5452条数据。

  ③ 新建Execl,将所有数据粘贴到Excel,上一篇文章我们知道每个地址组最多只能是600条数据,为了方便计算和留有空间,我们只将每个地址组包含500条数据。有了Excel最左边的序号,选择500条数据就方便多了。

  ④ 打开批处理工具NimbleText(可在 https://nimbletext.com 下载),取消钩选【Output \n after each row】,复制Excel上第1-500行共500条数据粘贴到NimbleText数据区。

   ⑤ 在模板区输入上图中的命令,第一大段是配置防火墙地址对象,第二大段是配置防火墙地址组。地址组名在第二个500条数据时需要手动修改。

  ⑥ 在结果区点击【Calculate】或钩选【auto】,可以最终在防火墙上执行的命令行。第一大段生成配置防火墙地址对象命令,将在防火墙上生成500条地址对象。

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

  ⑧ 在NimbleText上选择菜单【File】-【Save result as...】。

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

  ⑩ 这样就生成了可以在防火墙上执行的脚本文件。文件编码为UTF-8。

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

  ⑫ 点击【运行脚本】。

  ⑬ 选择刚才创建的脚本文件,点击【确认】。

  ⑭ 如果显示【脚本运行成功】,那么恭喜你。报红色错误提示,就要排查脚本内容是否不正确了。

  ⑮ 选择菜单【策略&对象】-【地址】,点击【Address Group】,可以看到新创建的地址组China_GRP01,由500条地址对象组成。

  ⑯ 在NimbleText上复制第二个500条数据,修改地址组名,然后保存脚本文件。然后再重复操作,直到所有5452条数据生成共11个脚本文件。

  ⑰ 在防火墙上运行剩余的10个脚本文件,这里都成功了。

  ⑱ 由于创建了11个地址组,引用起来很不方便,因次将11个地址组加入China_GRP这一个地址组,这样就很方便了。如果需要在静态路由中引用,启用【静态路由配置】。

  通过路由分流

  当我们得到国内IP地址组后,就可以通过路由来进行分流了。

  ① 可以创建静态路由,当访问国内IP地址组内的IP时,走电信宽带。

  ② 当访问非国内IP时,不匹配刚创建的静态路由,而是匹配两条宽带的默认路由,只有IPLS宽带的优先级数值最小,才会走IPLS宽出去。

  ③ 所以更推荐使用策略路由,因为策略路由优先于静态路由。创建新的策略路,指定内网接口访问国内IP时走电信宽带上网。

  ④ 再创建一条策略路由,内网接口访问所有内容是走IPLC国际专线。

  ⑤ 策略路由是从上往下匹配,当我们访问百度时,匹配第一条策略路由,走wan1口接口上网。当访问8.8.8.8时,由于不是国内IP,不匹配第一条策略路由,而会匹配第二条策略路由,走wan2接口上网。

  ⑥ 选择菜单【仪表板】-【FortiView】,双击电脑IP,选择【目标地址】,可以看到流量分别走不同宽带接口出去。国内走wan1,其它走wan2。如果看到不目标接口栏,可以在菜单栏鼠标点右键弹出菜单钩选【目标接口】。

  地理地址对象

  除了自己创建国内IP地址对象和地址组外,也可以利用防火墙自带的地理地址对象。

  ① 创建地址对象时,类型选择【地理】,国家/地区选择【China】。

  ② 地理地址对象和其它地址对象、地址组一样,可以在策略和路由中引用。

  ③ 地理地址对象从IP地理位置数据库中获得数据。

  ④ 那数据量和准确性怎么样呢?可以看到最新版本IP地理位置数据库是关于中国的IP地址网段数据有5359条。和我们前面看到的5452条数据差相不大。IP地理位置数据库的更新和防火墙的服务有关,只有在服务期内才能进行更新。

  【总结】批量将IP地址网段在防火墙上创建地址对象和地址组,然后通过路由对访问进行分流,这种操作可控性较强。防火墙新的固件版本可以通过IP地理位置数据库实现对不同国家的访问分流,操作也非常简单。


这篇关于【控制篇 / 分流】(7.4) ❀ 03. 对国内和国际IP网段访问进行分流 ❀ FortiGate 防火墙的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/619479

相关文章

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面

Python使用自带的base64库进行base64编码和解码

《Python使用自带的base64库进行base64编码和解码》在Python中,处理数据的编码和解码是数据传输和存储中非常普遍的需求,其中,Base64是一种常用的编码方案,本文我将详细介绍如何使... 目录引言使用python的base64库进行编码和解码编码函数解码函数Base64编码的应用场景注意

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

Java进行文件格式校验的方案详解

《Java进行文件格式校验的方案详解》这篇文章主要为大家详细介绍了Java中进行文件格式校验的相关方案,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、背景异常现象原因排查用户的无心之过二、解决方案Magandroidic Number判断主流检测库对比Tika的使用区分zip

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Python使用date模块进行日期处理的终极指南

《Python使用date模块进行日期处理的终极指南》在处理与时间相关的数据时,Python的date模块是开发者最趁手的工具之一,本文将用通俗的语言,结合真实案例,带您掌握date模块的六大核心功能... 目录引言一、date模块的核心功能1.1 日期表示1.2 日期计算1.3 日期比较二、六大常用方法详

Python使用DrissionPage中ChromiumPage进行自动化网页操作

《Python使用DrissionPage中ChromiumPage进行自动化网页操作》DrissionPage作为一款轻量级且功能强大的浏览器自动化库,为开发者提供了丰富的功能支持,本文将使用Dri... 目录前言一、ChromiumPage基础操作1.初始化Drission 和 ChromiumPage

Python异步编程中asyncio.gather的并发控制详解

《Python异步编程中asyncio.gather的并发控制详解》在Python异步编程生态中,asyncio.gather是并发任务调度的核心工具,本文将通过实际场景和代码示例,展示如何结合信号量... 目录一、asyncio.gather的原始行为解析二、信号量控制法:给并发装上"节流阀"三、进阶控制