Start typing to search across invoices, services, domains, tickets, and more...
新しく割り当てられた IP ブロックでは、「サーバーは日本にあるのに IP がアメリカと判定される」といったことがよく起こり、Web サイトの言語判定や動画配信、決済のリスク判定に支障が出ます。IP の地理位置情報が不正確になる原因は、MaxMind、IP2Location、ipinfo などの IP データベースが更新されていないことです。本記事では、Geofeed(RFC 8805)ファイルの公開、WHOIS の geofeed 属性での参照、主要データベースへの修正申請の方法を、Debian/Ubuntu または CentOS/Rocky/AlmaLinux で 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 は 1 行 1 プレフィックスのシンプルな 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 URL であればどこでも構いません。例えば Web サイトのルートに geofeed.csv を置きます。ログインや HTML ページへのリダイレクトなしに、ステータス 200 で内容がそのまま返ることを確認してください。
# 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.csvIP データベースが自動的に Geofeed を見つけられるよう、inetnum/inet6num オブジェクトから参照します。RIPE データベースには専用の geofeed: 属性があり、他の RIR では RFC 9632 の「remarks: Geofeed URL」形式を使用できます。WHOIS オブジェクトは IP 資源の保有者しか編集できません。IMIDC からレンタルしている IP の場合は、Geofeed の URL を記載してチケットを送信してください。RIPE NCC・APNIC・ARIN・AFRINIC のメンバーである IMIDC が 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 を自動取得するデータベースもありますが、直接申請すると反映が早まります。
更新周期はデータベースにより数日から数週間で、さらにそれを使う Web サイトやアプリが新データを取り込むまで時間がかかります。定期的に再確認しましょう。
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 は通常週次のデータ更新で反映されます。下流のアプリはさらに遅れることがあります。1 か月経っても変わらない場合は、WHOIS のスクリーンショットを添えて再申請してください。
Google は独自の位置データを使っています。Google の IP 位置情報フィードバックフォームから申請し、Geofeed と WHOIS の内容を一致させておいてください。
推奨しません。Geofeed は実際の利用地を反映すべきで、虚偽の申告は無視されたり信頼できないと判断されたりします。
解決しない場合は、チケットを送信して IMIDC の 24 時間 365 日サポートにお問い合わせください。