自宅PCへ外出先から接続しようとすると、最初に思い浮かぶのはルーターのポート開放でした。しかし、回線がCGNAT(通信事業者側で複数の利用者が共有するNAT)の内側にあれば、自宅ルーターより外側のNATは自分では変更できません。NATは、ネットワークアドレス変換の略です。自宅側だけ設定しても、受信経路は完成しません。
それでもTailscaleは、固定の受信ポートを自宅ルーターへ設定せずに端末同士を接続できます。この記事では、その理由を「端末情報の調整」「DERPによる接続開始」「NAT越えによる直接接続」「失敗時の中継」という順に整理します。
接続方式は、Tailscale 1.98.10と2026年8月9日時点の公式資料を基準にします。
「Tailscaleがポート開放なしでつながるまでを、NATから順に整理する」では、NATの前提から接続経路の確認までを一つのスレッドにまとめました。ここでは、なぜその順序が必要なのかまで掘り下げます。
まず全体像
NATの外側からは、LAN内の受信先を決められない
家庭のIPv4ネットワークでは、ルーターが複数のLAN内端末を一つのグローバルIPアドレスへ対応付けます。LAN内の端末が外向きに通信すると、ルーターは送信元IPとポートを書き換え、戻り先を対応表へ記録します。
返答はその記録を使って元の端末へ届きます。一方、外部から突然届いた通信には対応する記録がありません。ルーターはLAN内のどこへ転送すべきか決められません。
従来のポート開放は、受信した特定のポートをLAN内の端末へ渡す規則を手動で追加する方法です。ただし、通信事業者側にもNATがあると、自宅ルーターまでの受信経路を利用者は設定できません。
Tailscaleは、外部から一方的に入ってくる固定経路を前提にしません。両方の端末が外向きに通信を始め、その応答を通せるNATの状態を作ります。
調整サーバーと通信経路を分ける
NAT越えを試すには、各端末が相手の公開鍵、到達候補となるIPアドレスとポート、許可された経路を知る必要があります。この情報を扱うのがTailscaleのコントロールプレーンです。
調整サーバーは、端末の発見、鍵の配布、NAT越えの調整、経路やポリシーの配布を担います。
実際の通信内容は、各端末上のデータプレーンがWireGuardという方式で暗号化します。直接接続できれば端末同士で運び、できなければDERPまたはPeer Relayで中継します。調整サーバーと中継サーバーは、どちらも中央に見えるサーバーですが役割が違います。
DERPで先につなぎ、UDPの直接経路を探す
Tailscaleの端末は、それぞれ近いDERPサーバーへ接続しています。端末Aが端末Bへ通信を始めると、最初の接続要求は端末Bが利用しているDERPを介して届きます。
この段階で、暗号化されたデータを運べる経路が先に成立します。同時に両端末は、直接接続に使える候補を交換します。
候補には、端末内のIPアドレスとポート、ポートマッピングで得た情報が含まれます。STUNという仕組みで調べた、外部から見えるIPアドレスとポートも候補です。
候補を得た両端末は、互いにUDPパケットを送ります。NATは、先に端末から外向きの通信があれば、その返答を内側へ通せる場合があります。通信状態を記録するステートフルファイアウォールも同様です。
両端から送ることで、端末同士のUDP経路を作るのがNAT越えの中心です。
直接経路が見つかると、TailscaleはDERPからdirectへ切り替えます。ネットワーク条件が変われば、後から中継へ戻ることもあります。
直接接続できないことも正常な設計に含まれる
UDPが遮断されるネットワークでは、直接経路を作れないことがあります。接続先ごとに外側のポート割り当てが変わるNATも、直接接続が難しくなる条件です。Tailscaleは直接接続を保証するのではなく、接続方法を三つ持っています。
| 接続方法 | 通信の通り方 | 主な位置付け |
|---|---|---|
direct |
端末同士がUDPで直接送る | 通常は低遅延・高スループット |
peer-relay |
同じtailnet(Tailscaleで管理するネットワーク)内の中継端末を通る | 直接接続できず、利用可能なPeer Relayがある場合 |
relay |
TailscaleのDERPを通る | 他の経路が作れない場合のフォールバック |
三つともWireGuardでエンドツーエンド暗号化されます。主な違いは、通信経路上で経由するサーバーや端末と、そこで変わる性能です。DERPでつながっているだけで、暗号化が外れた状態を意味するわけではありません。
まとめ
Tailscaleは、自宅ルーターへ固定の受信規則を作る代わりに、両端末から外向きに接続します。調整サーバーが相手の鍵と接続候補を配り、DERPで先に通信を成立させ、その後にUDPの直接経路を探します。
直接接続できればdirectへ切り替わり、できなければPeer RelayまたはDERPを使い続けます。
ポート開放なしでつながる理由は、NATが消えるからではありません。NATの状態を端末同士で作り、作れない場合にも暗号化された中継経路を残しているからです。
参考資料
接続方式と役割分担は、次の公式資料で確認できます。