メインコンテンツへスキップ

WireGuard

Tailscaleは多くのユーザーにとって使いやすい体験を提供しますが、WireGuardはUnraidに組み込まれた堅牢なVPNソリューションで、特定の高度なネットワークシナリオで真価を発揮します。特に、VPNルーティングを細かく制御する必要がある場合や、サードパーティのサービスに依存せずにサーバー間またはLAN間の接続が必要な場合に有用です。以下では、WireGuardが優れている主なシナリオを紹介します。

WireGuardを選ぶタイミング

シナリオなぜWireGuardを選ぶのか?
高度な構成カスタムVPN Tunnelの設定や、既存のネットワークインフラとの統合を可能にします
サーバー間トンネルUnraidサーバー間に永続的な暗号化リンクを作成できます
LAN間統合中間サービスを介さずにネットワーク全体を接続します
帯域幅を大量に使うタスク最大のスループットを実現するため、プロトコルのオーバーヘッドを最小限に抑えます
情報

多くのユーザーにとって、TailscaleはWireGuardでできることをすべて、しかも多くの場合より簡単に実現できます。通常、ポートフォワーディングや手動設定は不要です。ただし、高度でカスタムなVPN設定が必要な場合や、特定の互換性要件がある場合には、WireGuardを選ぶほうがよい選択となることがあります。

接続タイプと使用例

WireGuardの接続タイプを知っておくと、自分に合っているか判断しやすくなります:

接続タイプ実際の使用例
サーバーへのリモートアクセスAccess Unraid WebGUI, Docker containers, VMs, and network shares remotely.
LANへのリモートアクセスLAN上のすべてのデバイスに、あたかもローカルネットワーク上にいるかのようにリモートからアクセスする。
サーバー間アクセスデータ共有やバックアップのために、2台のUnraidサーバーを安全に接続する。
LAN間アクセス2つのLAN全体をシームレスに接続し、ネットワーク間の円滑な通信を実現する。
サーバーハブ&スポークアクセス複数のVPNクライアントがサーバーを介して互いに接続できるようにする。
LAN ハブアンドスポーク アクセス中央サーバーを介して複数のLAN間の通信を有効にする。
VPN tunneledアクセスRoute specific Docker containers and VMs through a commercial WireGuard VPN provider.
リモートトンネルアクセス信頼できないネットワーク上にいるときに、すべてのインターネットトラフィックをUnraidサーバー経由で安全にルーティングします。

UnraidでWireGuardを設定する

:::note[Prerequisites]

  • 動的DNS: 公開IPが変わる場合に確実にアクセスできるよう、DDNSを設定します。一般的な選択肢にはCloudflare(ドメイン所有が必要)、No-IP、またはDuckDNS(無料ですが、時折停止が発生する場合があります)があります。
  • ルーターの設定:
    • 自動ポートフォワーディングのために、設定 → 管理アクセスUPnPを有効にします。
    • UPnPが利用できない場合は、UDPポート51820を手動でUnraidサーバーのIPに転送します。
  • クライアントソフトウェア: デバイスにWireGuardをインストールします(WindowsmacOSiOSAndroid)。

:::

ステップ1: キーを生成する

  1. 設定 → VPN Managerに移動します。

VPN Manager

  1. トンネルに名前を付けます(例: "Home VPN")。
  2. Generate Keypairをクリックして公開鍵と秘密鍵を作成します。
警告

秘密鍵はフルネットワークアクセスを提供するため、安全に保管してください。

ステップ2: エンドポイントを設定する

  • DDNSユーザー向け: Local endpointのIPをDDNSのURL(例: myhome.duckdns.org)に置き換えます。
  • 既定のポート(51820)は、既存のサービスと競合しない限りそのまま使用します。

ステップ3: ポートフォワーディングを設定する

  • UPnPユーザー向け: 設定 → 管理アクセスで有効になっていれば、Unraidがポートを自動的に転送します。

UPnP enabled

  • 手動設定: UPnPが利用できない場合:
    1. ルーターにログインします。
    2. UDPポート51820をUnraidサーバーのLAN IPに転送します。
    3. 外部設定と内部設定には同じポートを使用します。

UPnP disabled

ステップ4: トンネルを有効化する

  1. Activeを切り替えてWireGuardを有効にします。
  2. 起動時にWireGuardを実行するには、Autostartを有効にします。

Activation toggle

Security ベストプラクティス
  • 信頼できるアクセスのみ: VPNアクセスは物理的なネットワークアクセスに近いため、信頼できるデバイスのみを許可してください。
  • キー管理: 秘密鍵は絶対に共有しないでください。パスワードと同様に扱ってください。
  • Network segmentation: For complex setups (custom Docker/VMs), isolate VPN traffic using VLANs or separate subnets.
  • 定期的な監査: 接続されているデバイスとアクセス権限を四半期ごとに確認します。

ピア(クライアント)の定義

ピアとは、スマートフォン、ノートパソコン、別のサーバーなど、Unraid WireGuard VPNに接続するクライアントデバイスです。ピアを定義するとは、そのデバイスに固有の識別情報を作成し、キーを保護することを意味します。

  1. Add Peerを選択します。

Add Peer

  1. ピアに名前を付けます(例: MyAndroid)。
  2. フルネットワークアクセス用の初期接続タイプを選択します。通常はRemote access to LANです。
  3. Generate Keypairをクリックして公開鍵と秘密鍵を作成します。秘密鍵は安全に保管してください。
  4. 必要に応じて、追加のセキュリティのために事前共有鍵を生成します。
  5. Apply をクリックします。
注記

ピアは自分でキーを生成できますが、Unraidにキーを生成させると完全な設定ファイルが提供されるため、セットアップが簡単になります。

注意

新しいピアを追加すると、WireGuardトンネルが一時的に無効になることがあり、接続が中断される可能性があります。変更を行う前に、サーバーへローカルアクセスできることを確認してください。

ピア(クライアント)の設定

  1. ピアの設定を表示するには、目の Peer configuration アイコンを選択します。

Peer configuration

  1. WireGuard モバイルアプリで、QRコードから作成 を選択し、QRコードをスキャンします。
  2. 接続に名前を付けて接続します。VPN tunnel はすぐに開始されるはずです。
  3. QRコードは非公開にしてください。持っている人なら誰でも VPN にアクセスできます。

DNSの設定

  1. IPアドレスまたは完全修飾ドメイン名(例: yourpersonalhash.unraid.net)でデバイスにアクセスします。
注記

"tower"のような短い名前や、ルーター管理のDNSエントリは、VPN経由では機能しない場合があります。

  1. 短い名前の解決を有効にするには:
    • Unraidの設定 → VPN Managerに移動します。
    • BasicからAdvancedモードに切り替えます。
    • Peer DNS Serverフィールドに、使用したいDNSサーバーのIPアドレスを入力します。
    • 変更を保存し、クライアント設定ファイルを更新します。
  2. 推奨DNSサーバー:
    • LANルーターのIPアドレス。
    • 8.8.8.8のようなパブリックDNSサーバー。

この設定は、クライアントの元のDNSサーバーにアクセスできない場合があるRemote tunneled accessモードで特に重要です。

注記

mDNSアドレス(例: tower.local)はローカルネットワークでのみ機能し、WireGuard VPN経由では機能しません。

複雑なネットワーク

For most users, the default Use NAT setting works out of the box and allows access to Unraid and most LAN devices. However, if you use Docker containers with custom IPs or VMs with strict networking requirements:

  1. WireGuardトンネルの設定で、Use NATNoに設定します。
  2. ルーターで、WireGuardトンネルネットワーク(例: 10.253.0.0/24)への静的ルートを追加し、UnraidサーバーのIPを指すようにします。
  3. 設定 → Docker Settingsで、Host access to custom networksEnabledに設定します。

避けるべき構成

Use NAT 設定ホストがカスタムネットワークにアクセスServer & Dockers (Bridge/Host)VMs & その他のLANシステムカスタムIPのDocker注記
はい無効(静的ルートは任意)アクセス可能アクセス可能アクセス不可シンプルなネットワーク設定。ほとんどのユーザーに推奨
はい有効(静的ルートは任意)アクセス可能アクセス不可アクセス不可この構成は避けてください
いいえ無効(静的ルートなし)アクセス可能アクセス不可アクセス不可避けるべきです。正しく機能させるには静的ルートが必要です
いいえ無効(静的ルートあり)アクセス可能アクセス可能アクセス不可ほぼ正解です。カスタムネットワークへのホストアクセスを有効にしてください
いいえ有効(静的ルートあり)アクセス可能アクセス可能アクセス可能複雑なネットワーク向けの推奨構成

WireGuardのトラブルシューティング

WireGuardは目立たないように設計されています。何かが動作していない場合でも、エラーメッセージは表示されません。効果的にトラブルシューティングするには、設定の各要素を体系的に確認してください。

接続チェックリスト

  • ✅ Unraidとクライアントデバイスの両方でトンネルがアクティブになっている。("Active"はトンネルが開始されていることを意味しますが、必ずしも接続済みとは限りません。)
  • ✅ DDNSのURLが現在の公開IPを指しており、Local endpointに設定されている。
  • ✅ 正しいUDPポートがルーターからUnraidへ転送されており、Local endpointのポートと一致している。
  • ✅ サーバー側で変更を行った後は、クライアントに最新の設定ファイルがある。
  • ✅ ピア設定(QRコード/ファイル)を表示または配布する前に変更が保存されている。

追加のトラブルシューティングのヒント

初回セットアップのヒント - クリックして展開/折りたたむ

WireGuardを初めて設定する場合、次のヒントでよくある落とし穴を回避できます:

  • 最初のクライアントは、ローカルネットワークの問題を切り分けるために、Wi‑Fiではなくモバイル回線のモバイルデバイスで設定します。
  • 最も簡単に設定を移行できるQRコード方式を使用します。
ハンドシェイクと接続の問題 - クリックして展開/折りたたむ

ハンドシェイクが表示されない、または接続できない場合は、次の重点チェックを試してください:

  • ハンドシェイクが見えない場合は、トラフィックを生成して(たとえばサーバーへpingして)接続を発生させてみてください。
  • モバイルクライアントでは、VPNの動作に干渉する可能性があるため、省電力、データセーバー、バッテリーセーバー機能を無効にしてください。
  • クライアントとサーバーのネットワークが異なるサブネットを使用していることを確認します(たとえば、両方で192.168.1.0/24を使わないようにします)。
  • DDNSにCloudflareを使用している場合は、Proxy statusDNS onlyProxiedではない)に設定します。DNS変更の伝播には時間がかかる場合があります。
  • 一部の場所からは接続できるのに他ではできない場合、リモート側のネットワークがUDPトラフィックをブロックしている可能性があります。WireGuardは現在、フォールバックとしてTCPをサポートしていません。
高度なネットワーク競合 - クリックして展開/折りたたむ

ネットワーク構成がより複雑な場合、またはIP競合が疑われる場合は、次の高度なトラブルシューティング手順を確認してください:

  • Advancedモードでは、Local tunnel network poolがどちら側の既存ネットワークとも重複していないことを確認します。競合がある場合は、別のプライベートサブネット(例: 10.10.10.0/24)に変更します。
  • For Docker containers with custom IPs or VMs with strict requirements, see the Complex networks section.
緊急時の復旧 - クリックして展開/折りたたむ

Unraid WebGUIにアクセスできなくなり、WireGuardの自動起動を無効にする必要がある場合

  • /boot/config/wireguard/autostart を起動ドライブから削除して、再起動してください。

* "WireGuard" と "WireGuard" のロゴは Jason A. Donenfeld の登録商標です。