以下は私が達成したいものです。具体的な手順を含むソリューションを提案できる人はいますか? 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を使用して、両方のサイトのルーティング問題を解決した場合。これを行った後は、次のようにします。
- サイトの独自の WireGuard サーバーを介して別のサイトのパケットをルーティングするように各サイトのルーターを構成します。
- 別のサイトの 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の場合、以下が必要です。
- 192.168.1.128/25(サイトB LAN)を介して192.168.1.10(WireGuard Server 1)をルーティングするようにルータRAを設定します。
- WireGuardインターフェイスを介して192.168.1.128/25(サイトB LAN)をWireGuard Server 2にルーティングするようにWireGuard Server 1を設定します。 -
AllowedIPs = 192.168.1.128/25
WireGuard Server 1のWireGuard設定中にWireGuard Server 2セクションに設定されている場合、WireGuardは自動的にこれを行います。[Peer]
したがって、サイトBの場合は、次のものが必要です。
- 192.168.1.0/25(サイトA LAN)を介して192.168.1.140(WireGuard Server 2)をルーティングするようにルータRBを設定します。
- 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ネットワーク用のルーターにルートを追加する方が簡単な場合があります。例:
- サイトの独自の WireGuard サーバーを介して外部 WireGuard ネットワークへのパケットをルーティングするように各サイトのルーターを構成します。
- 別のサイトの WireGuard ネットワークへの接続を介して別のサイトの外部 WireGuard ネットワークへのパケットをルーティングするようにサイトの WireGuard サーバーを構成します。
- 接続された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の場合、以下が必要です。
- 10.0.1.0/24および10.0.2.0/24から192.168.1.10にルーティングするようにルータRAを設定する(WireGuard Server 1)
- 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]
- 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の場合は、次のものが必要です。
- 10.0.1.0/24および10.0.2.0/24図192.168.1.140を介してルーティングするようにルータRBを設定します(WireGuard Server 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]
- 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/32
WireGuard設定セクションで、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トンネル。
答え2
2つのネットワークを2つの異なるサブネットアドレス空間(192.168.0.0/24や192.168.1.0/24など)に配置できる方が簡単です。これにより、ネットワークにルートを作成して、Wireguardゲートウェイを他のネットワークのデフォルトゲートウェイとして使用できます。両方のネットワークが同じサブネット上にあるため、ルーティングの設定が難しくなります。 24ビットより長いネットマスクが必要です。
私はあなたが達成したいことを達成しましたが、他のアドレス空間にサブネットがあります。したがって、私のパスは少し簡単です。しかし、これが不可能であるという意味ではありません。ルーティングが正しく機能するためには、いくつかのIPを変更する必要があるかもしれません。ここを見てください: ルーターの背後にあるワイヤーガードボックスを使用してLANへのワイヤーガードを接続する
もっと質問がある場合はお問い合わせください。