【简介】公司有两条宽带用来上网,一条电信,一条联通,访问常用的某些网站速度时快时慢。领导要求,根据上网流量的目标运营商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联通宽带出去。文章来源:https://www.toymoban.com/news/detail-799741.html
【总结】 将运营商所属IP网段创建地址对象和地址组,通过路由匹配,访问不同运营商IP时走所属运营商宽带出去,可以加快访问速度。每个地址组最多只能加600个地址对象。地址组可以加入另一个地址组。文章来源地址https://www.toymoban.com/news/detail-799741.html
到了这里,关于【控制篇 / 分流】(7.4) ❀ 02. 对不同运营商IP网段访问进行分流 ❀ FortiGate 防火墙的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!