开始输入,可搜索发票、服务、域名、工单,以及 更多...
新拿到的 IP 段常出现“服务器在日本,IP 却显示在美国”的情况,导致网站跳错语言、流媒体或支付风控异常。IP 地理位置不准的根本原因是各家 IP 数据库(MaxMind、IP2Location、ipinfo 等)的数据未更新。本文介绍如何发布 Geofeed(RFC 8805)文件、在 WHOIS 中声明 geofeed 属性,以及如何向主流 IP 数据库提交更正,适用于在 Debian/Ubuntu 或 CentOS/Rocky/AlmaLinux 上自建 Web 服务托管 Geofeed 的场景。
先记录各数据库当前显示的国家和城市,以及 WHOIS 中的 country 字段,便于之后对比。注意 WHOIS 的 country 通常是注册地,不一定等于实际使用地,但部分数据库会参考它。
curl -s https://ipinfo.io/198.51.100.10/json
whois 198.51.100.10 | grep -iE "inetnum|netname|country|geofeed"Geofeed 是一个简单的 CSV 文本,每行一个前缀,字段依次为:前缀、国家代码(ISO 3166-1)、地区代码(ISO 3166-2,可留空)、城市、邮编(可留空)。一个 /24 可以拆分为多个更小的前缀分别声明位置,IPv6 同样支持。以 # 开头的行为注释。
# geofeed.csv (RFC 8805: prefix,country,region,city,postal)
198.51.100.0/25,JP,JP-13,Tokyo,
198.51.100.128/25,HK,,Hong Kong,
2001:db8:100::/48,KR,KR-11,Seoul,把文件放到任意可公开访问的 HTTPS 地址即可,例如您网站根目录下的 geofeed.csv。确认返回 200 状态码且内容可以直接读取,不要求登录或跳转到 HTML 页面。
# Debian / Ubuntu: apt install -y nginx CentOS / Rocky / AlmaLinux: dnf install -y nginx
cp geofeed.csv /var/www/html/geofeed.csv # Rocky/Alma default root: /usr/share/nginx/html
curl -sI https://www.example.com/geofeed.csv
curl -s https://www.example.com/geofeed.csv为了让 IP 数据库自动发现您的 Geofeed,需要在 inetnum/inet6num 对象中引用它。RIPE 数据库支持专用的 geofeed: 属性;其他 RIR 可按 RFC 9632 使用 “remarks: Geofeed URL” 的格式。WHOIS 对象只能由 IP 资源持有者维护,对于向 IMIDC 租用的 IP,请提交工单提供 Geofeed 地址,IMIDC 作为 RIPE NCC、APNIC、ARIN、AFRINIC 会员可代为更新 WHOIS,必要时也可同步调整 country 字段。
# RIPE NCC (inetnum / inet6num attribute)
geofeed: https://www.example.com/geofeed.csv
# APNIC / ARIN / AFRINIC (RFC 9632 remarks format)
remarks: Geofeed https://www.example.com/geofeed.csv
whois -h whois.ripe.net 198.51.100.0/24 | grep -iE "geofeed|remarks"Geofeed 发布后,部分数据库会自动抓取,但主动提交能明显加快更新:
各数据库更新周期不同,通常数天到数周生效;使用这些数据库的网站和应用还要等它们下载新版数据。可以定期复查:
for s in ipinfo.io/198.51.100.10/country ipinfo.io/198.51.100.10/city; do
echo -n "$s: "; curl -s "https://$s"; echo
doneipinfo 等通常较快,MaxMind 一般随每周数据更新生效,下游应用可能还要更久。若一个月后仍未变化,可再次提交并附上 WHOIS 截图。
Google 使用自有定位数据,可通过 Google 的 IP 地理位置问题反馈表单提交,并保持 Geofeed 与 WHOIS 一致。
不建议。Geofeed 应反映 IP 的真实使用地,虚假声明可能被数据库忽略或标记为不可信。
如仍无法解决,可提交工单联系 IMIDC 7×24 技术支持。