自宅 VPN サーバーに到達できない:NAT チェーンをたどる
ルーター、プロバイダーの変換、サーバーの待ち受けは三つの別個の境界です。同じ転送規則を書き直す前に、管理画面から外側へ順に進みましょう。
サーバーは LAN では応答し、ポート転送の規則も正しく見えるのに、外部のクライアントは接続できません。境界を一つずつ外側へたどるほうが規則を四度目に書き直すより速いのは、どの境界も自前の証拠、つまりルーターの WAN 画面、プロバイダーの変換、ホスト上の待ち受けを残すからです。すでに開いている管理画面から始め、自分が管理していないネットワークからの試験で終えましょう。順序そのものが診断であり記憶した数字は証拠にならないので、結果はその都度書き留めてください。外向きのトンネルだけが必要なら変換は問題ではなく、遮断されるのは求められていない内向きの通信だけです。
ルーターの WAN 画面から始める
ルーターにログインし、ポート転送の一覧ではなく状態画面を読みます。WAN アドレス、それが属するインターフェース、接続方式が DHCP か PPPoE か、それともプロバイダーが用意した別の方式かを記録します。次に、そのアドレスを外部サービスが報告する内容と比べますが、観測が同じルーターを通って戻らないよう、携帯回線の電話を使います。二つの数字は別の問いに答えており、それらを比べることがこの手順の目的そのものです。
観測した公開アドレスと異なる WAN アドレスは、ルーターの上流に少なくとも一つ変換があることを意味します。これはまだ障害ではありませんが、多くのプロバイダーは設計上変換しており、サービスはそれでも動くからです。二つが一致するなら、アドレスはおそらくルーターのもので、問題は自分のネットワークの内側へ移っています。いずれにせよ、プロバイダーはアドレスを再割り当てするので先月のメモとの比較には価値がなく、日付とともにその組を書き留めてください。
一ホップ上流へ進む
ルーター自身から traceroute を実行し、最初の数ホップを読みます。公開アドレスの繰り返し、プライベートアドレスで応答する最初のホップ、共有の 100.64.0.0/10 範囲内のアドレスはいずれも上流の変換を示します。 RFC 6598 はまさにこの種の配備のためにその範囲を定義しており、WAN 欄でそれを見ることが珍しい話ではなく強い信号である理由です。経路に変換が二つあると痕跡は分かりにくくなるので、一行ではなくパターンを読みましょう。
プロバイダーによっては割り当てアドレスを顧客ポータルにしか出さないので、ルーターが嘘をついていると結論する前にそこを見ます。ポータルのアドレスが外部からの観測と一致するのにルーターが別のことを報告しているなら、それは上流の変換の最も明確な証拠です。どちらの境界が誰のものかという議論は日付入りの画像が二枚あるとはるかに速く進むので、両方の画面を変更記録に残してください。
待ち受けと転送を確認する
LAN での試験はサービスがローカルで動くことを示すだけで、外からの到達性については何も示しません。多くのルーターは自分の転送規則に内側から応答するので、外部経路がまだ閉じていてもヘアピン試験は成功します。デーモンが想定どおりのアドレスとポートに束縛されていることを確認し、そのうえで外から試験します。以下の操作はすべて読み取りのみです。
ss -lunp | grep -E '1194|51820'
ip -4 addr show | grep -E 'inet '
curl -s --max-time 5 ifconfig.me
traceroute -n -m 5 1.1.1.1
外部からの試験でルーターにパケットが届かないなら、欠落は上流で起きており、ローカルの規則では直りません。パケットは届くのに何も応答しないなら、次の境界は待ち受けかホストのファイアウォールです。ホストでのパケットキャプチャーがどちらを見ているかを確定し、規則を推測するもう一巡より短い時間で済みます。そうしないと次の試験は別の問いに答えることになるので、比べている間は待ち受けとその転送方式を変えないでください。
同じ規則ではなくトポロジーを変える
変換がプロバイダーのものなら、直し方は別の経路であって、もう一つの転送ではありません。公開アドレスを持つ小さな VPS を自宅側からの外向きトンネルでつなげば、サービスの前に到達可能な端点が置けます。プロバイダーが用意する公開アドレスは、存在する場所ではより簡単で、機械を動かすよりたいてい安上がりです。IPv6 は変換を完全に取り除きますが、クライアント網、DNS レコード、ファイアウォール方針のすべてが対応していることが条件です。
動的 DNS動的 DNS は名前を更新するだけで、到達性は作りません。共有アドレスへ向ければ、他の契約者も使うプロバイダーのゲートウェイへクライアントを送ることになります。その失敗は死んだサーバーとまったく同じに見えるので、試験が失敗したとき名前がどのアドレスに解決されたかを書き留め、その答えを試験結果と一緒に保管してください。
自分が制御する境界、つまり待ち受け、トンネル、経路を中心に計画を書き直します。トポロジーと合わなくなった規則は規則がないより悪いので、古い転送はまだ何か正しいことを言い表している間だけ残してください。どの層が実際に遮断していたのか、どの証拠がそれを示したのかを記録します。そうしなければ、管理画面を開いた次の人がこの道のりのすべての手順を最初から繰り返します。