【简介】公司有两条宽带用来上网,一条电信,一条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地理位置数据库实现对不同国家的访问分流,操作也非常简单。