【简介】在很多使用环境下,我们需要对指定国家的IP地址进行允许或禁止访问操作,例如只允许访问国内IP、禁止访问美国IP等。在早期的配置中,只能手动添加IP地址对象到地址组,繁杂及效率低下,Fortinet提供了基于地理的IP地址库,可以解决这个问题。
IP地理位址数据库
FortiGuard IP地理位置数据库被Fortinet设备用于基于地理的策略地址对象的配置。
① 浏览器输入 https://www.fortiguard.com/services/ipge,可以看到关于FortiGuard IP地址服务的有关介绍。
此服务允许Fortinet设备查询基于云的FortiGuard服务器以获取公共IP地址的位置。IP地理位置服务提供高精度的IP地理位置。此外,Fortios 6.4+还支持基于IP注册位置的防火墙策略配置。
地理地址是由原产国确定的。国家或地区的IP会自动从地理IP数据库中确定。
② 网站还会显示IP地址数据库的当前最新版本。
③ 在FortiGate防火墙的命令窗口,输入 diagnose autoupdate versions | grep -A 6 "IP Geography DB" 命令,可以查看防火墙上当前IP地址数据库的版本。可以看到版本号与网站中显示一至,说明已经是最新的版本。
如果没有有效的许可证,本地IP地理数据库将继续工作。然而,FortiGate将停止接收来自FortiGuard服务器的地理IP更新,地理IP数据库将不再更新。
IP地理定位服务是所有FortiCare支持合同中包含的基本服务的一部分。
④ 可以利用diagnose firewall ipgeo 命令对IP地址位置数据库进行一些查询操作。
⑤ diagnose firewall ipgeo country-list 命令,可以列出国家简称,共有253个国家。
⑥ diagnose firewall ipgeo ip-list CN 命令,可以列出属于中国的IP地址网段。当然也可以查看属于其它国家的IP地址网段,只要更换最后的国家简称即可。
⑦ 如果我们想要知道哪个IP属于哪个国家,也很简单,只要输入 diagnose firewall ipgeo ip2country +IP地址就可以了。这里我们查询到202.96.134.133这个IP地址注册国家是中国,非任播IP。
⑧ 再次从IP地址位置数据库中查询IP 8.8.8.8,得到注册国家为美国,是任播IP。
任播 (Anycast):一对多关联;数据包被路由到由算法选择的由相同地址标识的一组收件人中的一个成员。
Anycast 是一种为一组端点提供多个路由路径的技术,主要可以用于扩展无状态服务,例如 DNS 或 HTTP。
⑨ 还有另一个命令 diagnose geoip 也具有查询诊断功能。
⑩ diagnose geoip iprange China 命令也可以查询属于中国的IP地址范围。不同的是国家名要用全称。
⑪ diagnose geoip ip2country 114.114.114.114 命令查询114.114.114.114这个IP属于中国,是任播IP。
⑫ 最有意思的是 diagnose geoip geoip-quary 202.96.134.133 命令,竟然查询到这个IP具体位置,包括所属国家、城市、经纬度。
创建地理地址对象
我们了解了IP地址位置数据库后,下面来看看如何创建地理地址对象。
① 登录FortiGate防火墙,选择菜单【策略&对象】-【地址】,默认选择【Standard】-【Address】,点击【新建】。
② 新建地址里,类型选择【地理】。
③ 点击【国家/地址】下拉菜单,弹出菜单选择国家名称,这里选择【China】。
④ 为了让地理地址对象更显眼,我们可以修改颜色,点击颜色后面的【变更】,选择喜欢的颜色,这里我们选择红色。
⑤ 可以在注释上填写说明,点击【确认】。
⑥ 这样一条地址地址对象就创建好了。