サイト群・マルチIP

サイト群の IP は中国からつながる?中国からの疎通確認・原因の切り分け・問題 IP の差し替え

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

サイト群の IP に中国本土からアクセスできないと、海外からは問題なく見えていても、その IP 上のすべてのサイトが中国の訪問者と検索エンジンから見えなくなります。IP に到達できなくなる原因には、以前の利用者の履歴、IP 帯全体のフィルタリング、特定のポートやドメインのブロック、通信事業者の経路の問題などがあります。この記事では、中国国内の複数の拠点から疎通を確認する方法、これらのケースの見分け方、IP ブロック全体の一括チェック、問題のある IP からサイトをすばやく移す方法を解説します。

中国国外からのテストでは、その IP が中国国内で使えるかどうかはわかりません。必ず中国国内の拠点からテストしてください。オンラインの多拠点テストサービスか、中国本土にある小規模なサーバーやコンピューターを使います。

ステップ1:中国国内の多数の拠点からテスト

オンラインの多拠点テストサービス(例:ITDOG、17CE、Boce、Chinaz)では、中国電信(China Telecom)、中国聯通(China Unicom)、中国移動(China Mobile)の数十拠点から ping、TCP ポート、HTTP のテストを実行できます。問題ごとに、次の 3 つのテストを行います。

  • IP への ping:基本的な到達性を確認します。
  • IP のポート 80・443 への TCP テスト:Web サービスに到達できるかを確認します。
  • ドメインへの HTTP テスト:サイト自体が表示されるかを確認します。

ステップ2:結果のパターンを読み取る

観察される状況考えられる原因
中国のすべての拠点で ping と TCP が失敗し、海外の拠点では成功する中国本土からその IP に到達できない
ping は通るが、TCP 80/443 がタイムアウトまたはリセットされるこの IP の特定ポートがブロックされている、またはサーバー側のファイアウォールの問題
IP とポートは正常だが、ドメインでは失敗する、または無関係な IP に解決されるIP ではなくドメインの問題(DNS 汚染またはホスト名によるフィルタリング)
1 つの通信事業者だけ失敗する(例:中国移動)その事業者、またはその事業者までの経路でのルーティングの問題
日中は正常だが、夜間にパケットロスが多いブロックではなく、国際回線の混雑

ステップ3:ドメインの DNS の問題を確認

パブリックリゾルバーと中国本土のリゾルバーの応答を比較します。問い合わせを何度か繰り返し、中国のリゾルバーがサーバーとまったく関係のないアドレスを返す場合はドメインが影響を受けているため、サイトを別の IP に移しても解決しません。

dig +short example.com A @1.1.1.1
dig +short example.com A @114.114.114.114
dig +short example.com A @223.5.5.5

ステップ4:ブロック全体を一括テスト

/24 のすべての IP を一度にチェックするには、中国本土にあるマシン(低価格のクラウドサーバーやオフィスのパソコンで十分です)で小さなスクリプトを実行します。各 IP の TCP 80 と 443 をテストし、失敗したものを一覧表示します。

# ips.txt: one IP per line (generate with: for i in $(seq 2 254); do echo 203.0.113.$i; done > ips.txt)
cat > check-ips.sh <<'EOF2'
#!/bin/bash
while read -r ip; do
  r80=$(timeout 4 bash -c "</dev/tcp/$ip/80" 2>/dev/null && echo ok || echo FAIL)
  r443=$(timeout 4 bash -c "</dev/tcp/$ip/443" 2>/dev/null && echo ok || echo FAIL)
  echo "$ip 80:$r80 443:$r443"
done < ips.txt | tee result-$(date +%F).txt | grep FAIL
EOF2
chmod +x check-ips.sh && ./check-ips.sh

IP は何かが待ち受けているポートでしか応答しないため、サイト(少なくとも Nginx のデフォルトサーバー)がバインドされている IP に対して実行してください。中国国外のサーバーから同じテストを行った結果と比較すれば、本当の到達性の問題と、単にサービスが動いていない IP とを区別できます。

ステップ5:プロバイダー向けの証拠を集める

経路の問題は、プロバイダー側で解決できることがよくあります。次の情報を集めてください。

# From the server towards major Chinese resolvers (apt install mtr-tiny / dnf install mtr)
mtr -rwc 50 114.114.114.114
mtr -rwc 50 223.5.5.5

# From the machine in China towards your server
mtr -rwc 50 203.0.113.10

多拠点テストのスクリーンショットを、テスト時刻とあわせて保存します。経路の分析については、中国への戻り経路のテストとping・tcping・mtr による接続トラブルシューティングを参照してください。

ステップ6:問題のある IP からサイトを移す

  1. ステップ4のテストに合格した、ブロック内の予備の IP を選びます。
  2. 対応表ファイルと Nginx 設定でサイトの IP を変更し(マルチ IP サーバーでの一括サイト構築の構成なら、sites.txt を編集してデプロイスクリプトを実行)、Nginx をリロードします。
  3. ドメインの A レコードを更新します。サイトを頻繁に移す予定がある場合は、事前に TTL を 300 秒に下げておきます。
  4. 新しい IP とドメインを、中国国内の複数の拠点から再テストします。

テスト済みの未使用 IP のリストを用意しておけば、数分でサイトを移せます。古い IP は、しばらく時間をおいて再テストしてから再利用してください。サイトのコンテンツも見直しましょう。中国で認められていないコンテンツを含むサイトは、どの IP に移しても再び影響を受けます。

ステップ7:継続的に監視

中国国内のマシンで cron を使ってステップ4の一括チェックを毎日実行し、失敗した IP のリストを自分宛てに送るか、そのマシンで Uptime Kuma を動かして主要サイトを監視します(Uptime Kuma による監視を参照)。サイトを複数の /24 ブロックに分散させておけば、1 つの IP 帯で問題が起きたときの影響を抑えられます(複数 C クラスのサイト群向けサーバーを参照)。

よくある質問

海外からは IP にアクセスできるのに、中国からはできません。サーバーがダウンしているのですか?

いいえ。サーバーは稼働しており、中国からサーバーまでの経路が機能していない状態です。ステップ1〜5に沿って、原因が IP、ポート、ドメイン、通信事業者の経路のどれなのかを特定してください。

サイトを配置する前に新しい IP をテストすべきですか?

はい。サイトを載せる前に、新しい IP はすべて中国国内の拠点からテストし、合格したものだけをデプロイ用のリストに入れてください。

中国から到達できない IP について IMIDC に相談できますか?

複数拠点でのテスト結果と、ステップ5の mtr の出力を添えてチケットを送信してください。お客様のブロックの経路を確認し、対応策をご相談します。

上記の手順で解決しない場合は、サポートチケットを送信して IMIDC の 24 時間 365 日対応テクニカルサポートへご連絡ください。サーバー IP、影響を受けた IP とドメイン、多拠点テストのスクリーンショット、mtr の結果を添えていただくと、より迅速に調査できます。

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

関連チュートリアル