Wireguardを使用して2つのサイト(ネットワーク)を接続する

Wireguardを使用して2つのサイト(ネットワーク)を接続する

以下は私が達成したいものです。具体的な手順を含むソリューションを提案できる人はいますか? Wireguardが要件を満たしていない場合、代替ソリューションは何ですか?

両方のサイト(RAとRB)のルーターには、固定パブリック(WAN)IPアドレスとドメイン名があります。各サイトはWireguardサーバーを実行しています。
両方のサイトのすべてのデバイスに固定LANアドレスがあります。
一部のデバイスには、Wireguard サーバーに接続する Wireguard クライアントをサポートする機能がありません。
どちらのサイトにも同じローカルネットワーク(192.168.1.0/24)があります。
両方のルータは異なるDHCP範囲を持ちます。ほとんどのデバイスは固定LANアドレスにあります。

必要:

両方のWireguardサーバーが実行されているとき。両方のサイトを接続できるように、各サーバーをWireguardクライアントとして別のWireguardサーバーに接続できますか?
両方のサイトがWireguard経由で接続されている場合、サイトBからサイトAデバイスにアクセスできますか?その反対?
外部WireguardクライアントからWireguardサーバーに接続できる場合、両方のサイトのデバイスにアクセスできますか?

ここに画像の説明を入力してください。

ベストアンサー1

どちらのサイトにも同じローカルネットワーク(192.168.1.0/24)があります。

問題は次のとおりです。サイトA(デバイスA1など)の192.168.1.2がサイトB(デバイスB1)の192.168.1.3に接続しようとしている場合、192.168.1.2は192.168.1.3が独自のローカルにあると思います。ネットワークに直接接続できます(一方、実際にはWireGuardサーバーを介してルーティングする必要があります)。競合しないようにサブネットを並べ替える必要があります。たとえば、サイトAには192.168.1.0/25を使用し、サイトBには192.168.1.128/25を使用します。

両方のWireGuardサーバーが稼働している場合、各サーバーをWireGuardクライアントとして別のWireGuardサーバーに接続して両方のサイトを接続できますか?

はい - 技術的に言えば、WireGuardには明確な「サーバー」または「クライアント」の役割はありません。両側は、相手からトラフィックを均等に送信/受信/ルーティングできます。

WireGuardを使用して両方のサイトが接続されている場合は、サイトBからサイトAデバイスにアクセスできますが、その逆も可能ですか?

はい。同じローカルネットワーク192.168.1.0/24を使用して、両方のサイトのルーティング問題を解決した場合。これを行った後は、次のようにします。

  1. サイトの独自の WireGuard サーバーを介して別のサイトのパケットをルーティングするように各サイトのルーターを構成します。
  2. 別のサイトの WireGuard サーバーを介して別のサイトのパケットをルーティングするように各サイトの WireGuard サーバーを構成します。

たとえば、サイトAに192.168.1.0/25を使用し、サイトBに192.168.1.2を使用し、デバイスA1に192.168.1.130を、WireGuardに192.168.1.10を割り当てるとします。サーバー 1 は 192.168.1.140 を WireGuard サーバー 2 に割り当てます。サイトAの場合、以下が必要です。

  1. 192.168.1.128/25(サイトB LAN)を介して192.168.1.10(WireGuard Server 1)をルーティングするようにルータRAを設定します。
  2. WireGuardインターフェイスを介して192.168.1.128/25(サイトB LAN)をWireGuard Server 2にルーティングするようにWireGuard Server 1を設定します。 - AllowedIPs = 192.168.1.128/25WireGuard Server 1のWireGuard設定中にWireGuard Server 2セクションに設定されている場合、WireGuardは自動的にこれを行います。[Peer]

したがって、サイトBの場合は、次のものが必要です。

  1. 192.168.1.0/25(サイトA LAN)を介して192.168.1.140(WireGuard Server 2)をルーティングするようにルータRBを設定します。
  2. WireGuardインターフェイスを介して192.168.1.0/25(サイトA LAN)をWireGuard Server 1にルーティングするようにWireGuard Server 2を設定します。 - WireGuard Server 2のWireGuard設定にあるWireGuard Server 1セクションが設定されているAllowedIPs = 192.168.1.0/25場合、WireGuardは自動的にこれを行います。[Peer]

これにより、デバイスA1(192.168.1.2)がデバイスB1(192.168.1.130)に接続しようとすると、これらのパケットがルータRAに送信され、ルータRAはそれをWireGuardサーバー1に転送し、ルータはそれをトンネルしてWireGuardサーバー2に渡します。デバイスB1に送信します。デバイスB1がデバイスA1にパケットを再送信すると、そのパケットをルータRBに送信し、ルータRBはそれをWireGuardサーバー2に転送し、ルータはそれをWireGuardトンネルを介してWireGuardサーバー1に転送し、再びWireGuardサーバー1に転送します。 。デバイスA1に渡されます。

これサイト間構成チュートリアルこのシナリオを見てみる全体の例です。

外部WireGuardクライアントから任意のWireGuardサーバーに接続できる場合、両方のサイトのデバイスにアクセスできますか?

はい(同じローカルネットワークである192.168.1.0/24を使用して両方のサイトのルーティング問題を修正した場合は、もう一度お知らせします)。さまざまなルーティングおよびファイアウォールルールをこれらのクライアントに簡単に適用できるように、外部クライアント用のWireGuardサーバーで別々のWireGuardインターフェイスを使用することをお勧めします。wg0サイト間接続とポイントwg1ツーポイント(外部クライアント)接続の両方を使用できます。

各サイト内の外部クライアントからパケットをルーティングするために、WireGuardサーバーにパケットをマスカレーディングとも呼ばれる(SNAT)、各パケットの送信元アドレスを外部クライアントがアクセスするWireGuardサーバーに書き戻すことができます。 LANアドレス。クライアントを接続するか、外部WireGuardネットワーク自体のルーティングを使用して各サイトのルーターを設定します。

これサイト構成チュートリアルをクリックします。SNAT/masquerade を使用して例のシナリオを確認します。ただし、このシナリオでは、外部WireGuardネットワーク用のルーターにルートを追加する方が簡単な場合があります。例:

  1. サイトの独自の WireGuard サーバーを介して外部 WireGuard ネットワークへのパケットをルーティングするように各サイトのルーターを構成します。
  2. 別のサイトの WireGuard ネットワークへの接続を介して別のサイトの外部 WireGuard ネットワークへのパケットをルーティングするようにサイトの WireGuard サーバーを構成します。
  3. 接続されたWireGuardサーバーを介して両方のサイトにパケットをルーティングするように各外部WireGuardクライアントを設定します。

たとえば、上記のようにサイト間接続を確立し、WireGuard Server 1およびWireGuard Server 2を介してサイトA(192.168.1.0/25)をサイトB(192.168.1.128/25)に接続したとします。 10.0.1.0/24サブネットをWireGuard Server 1に接続された外部クライアント用のWireGuardネットワークとして使用し、10.0.2.0/24サブネットをWireGuard Server 2に接続された外部クライアント用WireGuardネットワークとして使用します。 (これらのサブネットは完全に任意です。他の内部ネットワークと競合しない限り、必要なサブネットを選択できます。)

サイトAの場合、以下が必要です。

  1. 10.0.1.0/24および10.0.2.0/24から192.168.1.10にルーティングするようにルータRAを設定する(WireGuard Server 1)
  2. WireGuardインターフェイスを介して10.0.2.0/24をWireGuard Server 2にルーティングするようにWireGuard Server 1を設定します。これは、WireGuard Server 1のWireGuard設定のWireGuard Server 2セクションAllowedIPs = 192.168.1.128/25, 10.0.2.0/24で設定することによって実行されます。[Peer]
  3. WireGuardインターフェイスを介して192.168.1.0/25および192.168.1.128/25をWireGuard Server 1にルーティングするようにWireGuard Server 1の各外部クライアントを設定します。AllowedIPs = 192.168.1.0/25, 192.168.1.128/25これを行うには、外部クライアントWireGuard設定のWireGuard Server 1セクションでこれを設定します[Peer](またはこの場合、2つのサブネットを合計すると192.168.1.0/24になるため、簡単に設定できますAllowedIPs = 192.168.1.0/24

したがって、サイトBの場合は、次のものが必要です。

  1. 10.0.1.0/24および10.0.2.0/24図192.168.1.140を介してルーティングするようにルータRBを設定します(WireGuard Server 2)。
  2. WireGuardインターフェイスを介して10.0.1.0/24をWireGuard Server 1にルーティングするようにWireGuard Server 2を設定します。これは、WireGuard Server 2 の WireGuard 設定で WireGuard Server 1 セクションをAllowedIPs = 192.168.1.0/25, 10.0.1.0/24設定することで行います。[Peer]
  3. WireGuardインターフェイスを介して192.168.1.0/25および192.168.1.128/25をWireGuard Server 2にルーティングするようにWireGuard Server 2の各外部クライアントを設定します。AllowedIPs = 192.168.1.0/25, 192.168.1.128/25これを行うには、外部クライアントのWireGuard設定のWireGuard Server 2セクションでこれを設定します[Peer](またはこの場合、2つのサブネットを合計すると192.168.1.0/24になるため、簡単に設定できますAllowedIPs = 192.168.1.0/24

WireGuard Server 1 の各外部クライアントに対して、10.0.1.0/24 サブネットから外部クライアントの IP アドレスを選択できます。たとえば、外部クライアントWCに対して10.0.1.100を選択したとします。Address = 10.0.1.100/32WireGuard設定セクションで、WireGuard Server 1に接続するための[Interface]このクライアントのインターフェイスを設定します。そしてこれをWireGuard Server 1のWireGuard設定のクライアントセクションAllowedIPs = 10.0.1.100/32で設定します。[Peer]

これにより、外部クライアントWC(10.0.1.100)がデバイスB1(192.168.1.130)に接続しようとすると、外部WireGuardトンネルを介してこれらのパケットをWireGuardサーバー1に送信し、WireGuardサーバー1はこれらのパケットをサイト間で転送します。します。 WireGuardはWireGuard Server 2にトンネリングし、それをデバイスB1に転送します。デバイスB1が外部クライアントWCにパケットを再送信すると、このパケットをルータRBに送信し、ルータRBはそれをWireGuardサーバー2に転送し、ルータはそれをサイト間WireGuardトンネルを介してWireGuardサーバー1に転送します。外部クライアントを介して。外部クライアントWCのWireGuardトンネル。

おすすめ記事