ESC

Start typing to search across invoices, services, domains, tickets, and more...

Search... Ctrl+K
IP・ASN

IP の位置情報が正しくない時の対処:Geofeed(RFC 8805)公開と MaxMind・IP2Location・ipinfo の修正

5 ステップ 7 分で読めます 4 回閲覧 0
目次

新しく割り当てられた IP ブロックでは、「サーバーは日本にあるのに IP がアメリカと判定される」といったことがよく起こり、Web サイトの言語判定や動画配信、決済のリスク判定に支障が出ます。IP の地理位置情報が不正確になる原因は、MaxMind、IP2Location、ipinfo などの IP データベースが更新されていないことです。本記事では、Geofeed(RFC 8805)ファイルの公開、WHOIS の geofeed 属性での参照、主要データベースへの修正申請の方法を、Debian/Ubuntu または CentOS/Rocky/AlmaLinux で Geofeed をホストする前提で解説します。

ステップ1:IP の現在の位置情報と WHOIS を確認

まず各データベースの現在の国・都市と、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"

ステップ2:Geofeed(RFC 8805)CSV ファイルを作成

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,
Geofeed 内のプレフィックスは、参照元の WHOIS オブジェクトの範囲内である必要があります。範囲外のエントリは無視されます。都市名は一般的な英語表記を使ってください。

ステップ3:Geofeed ファイルを HTTPS で公開

ファイルは公開された 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.csv

ステップ4:WHOIS に geofeed 属性を追加

IP データベースが自動的に 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"

ステップ5:MaxMind・IP2Location・ipinfo に修正を申請

Geofeed を自動取得するデータベースもありますが、直接申請すると反映が早まります。

  • MaxMind(GeoIP2 / GeoLite2):公式サイトの GeoIP データ修正リクエストページ(maxmind.com/en/geoip-data-correction-request)から申請し、Geofeed URL を記入できます。
  • IP2Location:公式サイトの Data Correction ページから IP 範囲と正しい位置を送信します。
  • ipinfo:ipinfo.io/corrections から修正を送信するか、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
done

よくある質問

Geofeed はどのくらいで反映されますか?

ipinfo は比較的早く、MaxMind は通常週次のデータ更新で反映されます。下流のアプリはさらに遅れることがあります。1 か月経っても変わらない場合は、WHOIS のスクリーンショットを添えて再申請してください。

Google の位置表示がまだ違う

Google は独自の位置データを使っています。Google の IP 位置情報フィードバックフォームから申請し、Geofeed と WHOIS の内容を一致させておいてください。

実際には使っていない国を Geofeed に書いてもいいですか?

推奨しません。Geofeed は実際の利用地を反映すべきで、虚偽の申告は無視されたり信頼できないと判断されたりします。

解決しない場合は、チケットを送信して IMIDC の 24 時間 365 日サポートにお問い合わせください。

この回答はお役に立ちましたか?

関連チュートリアル