【简介】虽然通过FortiGuard服务可以更新IP地理位置数据库,但是实际使用环境中,总会有部分IP地址不符合我们的愿景,这种情况下,可以通过修改IP地理位置数据库来达到我们的目标。
更新IP地理位置数据库
更新IP地理位置数据库是FortiGuard服务的一部分,必须是在服务期内,才可以更新。
① 在CLI下用命令 diagnose autoupdate versions | grep -A 6 "IP Geography DB" 查看IP地理位置数据库当前版本。
② 命令 execute update-geo-ip 执行IP地理位置数据库更新。
自定义国家
可以将特定的IP地址范围分配给自定义的国家ID。
① 使用上面命令创建一个自定义国家,并配置IP地址范围。
② 使用命令 get system geoip-country ? , 查看IP地理位置数据库中的国家代码,可以看到多出了一个A0。
③ 使用命令 get system geoip-country A0, 注意A要大写。可以看到国家代码A0就是我们刚刚建立的自定义国家。
④ 使用命令 diagnose geoip iprange MyCustomCountry 可以查看到自定义国家里的IP地址范围。
⑤ 如果创建了多个自定义国家,也可以用命令 show full sys geoip-override 查看所有自定义的国家名称、国家ID、IP范围。
⑥ 自定义国家同样也可以在地理地址对象中被配置。就象前面文章中我们配置CHINA一样。然后我们可以将新的地理地址对象同样就用于策略和路由中。这里用8.8.8.8举例,可以将所有DNS解析都配置到一条速度最快的宽带,不管DNS IP原本是属于美国还是中国。
⑦ 有很多人可能象我一样很好奇,原本属于US的8.8.8.8,加入自定义国家后会最终属于哪个国家。用 diagnose geoip ip2country 8.8.8.8 命令,可以看到现在8.8.8.8是属于自定义国家。也就是自定义优先于默认国家配置。
⑧ 那要如何删除自定义的国家呢?在 config system geoip-override 命令执行后输入?号回车得到查询帮助,可以看到有delete命令。
⑨ 使用 delete ? 命令可以查看到允许删除的自定义国家名称,当有多个自定义国家时会很有帮助。
⑩ 删除自定义国家必须有个前提,就是这个自定义国家没有被地理地址对象引用。如果有引用,需先删除。end保存配置。
⑪ 再次在IP地理位置数据库中查询8.8.8.8所属国家,得到的结果是美国。
变更国家
某些情况下,需要将一个国家的IP地址在IP地理位置数据库中变更为另一个国家,这也可以实现。
① 先用命令 diagnose geoip iprange China 查询IP地理位置数据库中China的IP范围。
② 得到5359条记录。
③ 配置地理IP覆盖,编辑国家并创建IP范围,和自定义国家命令相同,不同的是国家名称为已经存在的,也不是自定义的。
④ 再次查询IP地址位置数据库中国家为China的地址范围。
⑤ 这次得到的记录数为5360,增加了一条记录。
⑥ 在IP地理位置数据库中查询8.8.8.8,得到的国家为China。
【总结】在已经存在的国家中配置IP所属国家,最大的好处就是可以减少许多操作,例如无需再创建地理地址对象,以及在策略和路由中引用新的地理地址对象等。而自定义国家,则可针对常用的少数IP地址进行操作,各有各的方便之处。