開始輸入,可搜尋發票、服務、域名、工單,以及 更多...
新拿到的 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 技術支援。