【控制篇 / 分流】(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地理位置数据库实现对不同国家的访问分流,操作也非常简单。


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

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

相关文章

深度学习(2)--卷积神经网络(CNN)

卷积神经网络(Convolutional Neural Networks)是一种深度学习模型或类似于人工神经网络的多层感知器,常用来分析视觉图像。 一.卷积网络基础概念 传统网络是一维的,而卷积网络是三维的。 例如32x32x3的图片,在传统网…

滑动窗口经典入门题-——长度最小子数组

文章目录 算法原理题目解析暴力枚举法的代码优化第一步初始化第二步right右移第三步left右移 滑动窗口法的代码 算法原理 滑动窗口是一种在序列(例如数组或链表)上解决问题的算法模式。它通常用于解决子数组或子字符串的问题,其中滑动窗口表示…

C#: form 窗体的各种操作

说明:记录 C# form 窗体的各种操作 1. C# form 窗体居中显示 // 获取屏幕的宽度和高度 int screenWidth Screen.PrimaryScreen.Bounds.Width; int screenHeight Screen.PrimaryScreen.Bounds.Height;// 设置窗体的位置 this.StartPosition FormStartPosition.M…

2024.1.17每日一题

LeetCode 2744.最大字符串配对数目 2744. 最大字符串配对数目 - 力扣(LeetCode) 题目描述 给你一个下标从 0 开始的数组 words ,数组中包含 互不相同 的字符串。 如果字符串 words[i] 与字符串 words[j] 满足以下条件,我们称…

【ubuntu】docker中如何ping其他ip或外网

docker中如何ping其他ip或外网 示例图: 运行下面命令: docker run -it --namehei busybox看情况需要加权限 sudo,即: sudo docker run -it --namehei busyboxping 外网 ping -c 4 www.baidu.comping 内网 ping -c 4 192.168.…

【多线程】认识Thread类及其常用方法

📄前言: 本文是对以往多线程学习中 Thread类 的介绍,以及对其中的部分细节问题进行总结。 文章目录 一. 线程的 创建和启动🍆1. 通过继承 Thread 类创建线程🍅2. 通过实现 Runnable 接口创建线程🥦3. 其他方…

java转义字符

//转义字符的使用 public class ChangeChar{//编写一个main方法public static void main(String[] args){// \t :一个制表位,实现对齐的功能System.out.println("北京\t天津\t上海");// \n :换行符,实现换行System.out.println("jack\nsm…

Python-基础篇-类与对象/面向对象程序设计

文章目录 思维导图是何物类定义类📚 class类的成员📚类的继承性📚封装性📚多态性 对象面向对象📚创建对象📚销毁对象📚 类和对象关系必背必记专业英语学习角 思维导图 是何物 类 “类”是物以…

【算法实验】实验4

实验4-1 01背包 【问题描述】给定一个容量为C的背包,现有n个物品,每个物品的体积分别为s1,s2...sn,价值分别为v1,v2...vn。每个物品只能放入一次。背包最多能装入价值为多少的物品。 【输入形式】输入的第1行包含2个整数C和n,分别表示背包容…

C++大学教程(第九版)5.18进制表

目录 题目 代码 运行截图 题目 (进制表)编写一个程序要求打印一张表,内容是1~256范围内每个十进制数对应的二进制、八进制和十六进制形式。如果还不熟悉这些计数系统,可先阅读附录 D。提示:可以使用流操纵符dec、oct 和 hex来…

算法笔记 #3

2024年1月18日 Q1:搜索二叉树 A:查找,左子树比根几点小,右子树比根大。 删除:1)搜索删除的目标节点,记录其父节点; 2)左右孩子都为空,直接删掉;…

Spring+SpringMVC+Mybatis进行项目的整合

Spring SpringMVCM Mybatis 整合 一、 通过idea创建maven工程 二、 引入依赖项以及导入mybatis逆向工程的插件 将如下的文件替换所在工程的pom文件 <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4…

实验二 体系结构

&#x1f57a;作者&#xff1a; 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux菜鸟刷题集 &#x1f618;欢迎关注&#xff1a;&#x1f44d;点赞&#x1f64c;收藏✍️留言 &#x1f3c7;码字不易&#xff0c;你的&#x1f44d;点赞&#x1f64c;收藏❤️关注对我真的…

【Leetcode】277.搜寻名人

一、题目 1、题目描述 假设你是一个专业的狗仔,参加了一个 n 人派对,其中每个人被从 0 到 n - 1 标号。在这个派对人群当中可能存在一位 “名人”。所谓 “名人” 的定义是:其他所有 n - 1 个人都认识他/她,而他/她并不认识其他任何人。 现在你想要确认这个 “名人” 是…

Seaborn可视化的各种图及代码演示

一.简介 Seaborn是基于matplotlib的图形可视化python包。它提供了一种高度交互式界面&#xff0c;便于用户能够做出各种有吸引力的统计图表。 Seaborn是在matplotlib的基础上进行了更高级的API封装&#xff0c;从而使得作图更加容易&#xff0c;在大多数情况下使用seaborn能做…

【Proteus仿真】【51单片机】甲醛浓度检测报警器

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真51单片机控制器&#xff0c;使用蜂鸣器LED模块、LCD1602显示模块、按键、MS1100甲醛传感器模块等。 主要功能&#xff1a; 系统运行后&#xff0c;LCD1602显示甲醛气体浓度检测值…

图形化编程:开启无代码时代的编程之旅

在当今数字化时代&#xff0c;编程已经成为一项重要的技能。然而&#xff0c;对于许多初学者和非专业人士来说&#xff0c;传统的文本编程语言往往显得复杂和难以理解。图形化编程&#xff0c;作为一种新兴的编程范式&#xff0c;正逐渐改变这一现状&#xff0c;为更多人打开了…

linux 内核ARM64启动

基于linux5.15内核翻译理解 Essentially, the boot loader should provide (as a minimum) the following: Setup and initialise the RAMSetup the device treeDecompress the kernel imageCall the kernel image1、安装与初始化物理内存 (必须的) boot loader需要初始化物理…

RK3568平台开发系列讲解(Linux系统篇)中断下文 tasklet

🚀返回专栏总目录 文章目录 一、什么是 taskle二、tasklet 相关接口函数2.1、静态初始化函数2.2、动态初始化函数2.3、关闭函数2.4、使能函数2.5、调度函数2.6、销毁函数三、测试程序沉淀、分享、成长,让自己和他人都能有所收获!😄

【网站项目】基于springboot与vue的电子商城项目

&#x1f64a;作者简介&#xff1a;多年一线开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…