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 서버 1)을 라우팅하도록 라우터 RA를 구성합니다.
  2. WireGuard 인터페이스를 통해 192.168.1.128/25(사이트 B LAN)를 WireGuard 서버 2로 라우팅하도록 WireGuard 서버 1을 구성합니다. - AllowedIPs = 192.168.1.128/25WireGuard 서버 1의 WireGuard 구성 중 WireGuard 서버 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 서버 1로 라우팅하도록 WireGuard 서버 2를 구성합니다. - WireGuard 서버 2의 WireGuard 구성에 있는 WireGuard 서버 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 서버 1 및 WireGuard 서버 2를 통해 사이트 A(192.168.1.0/25)를 사이트 B(192.168.1.128/25)에 연결했다고 가정합니다. 10.0.1.0/24 서브넷을 WireGuard 서버 1에 연결된 외부 클라이언트용 WireGuard 네트워크로 사용하고, 10.0.2.0/24 서브넷을 WireGuard 서버 2에 연결된 외부 클라이언트용 WireGuard 네트워크로 사용합니다. (이러한 서브넷은 완전히 임의적입니다. 다른 내부 네트워크와 충돌하지 않는 한 원하는 서브넷을 선택할 수 있습니다.)

사이트 A의 경우 다음이 필요합니다.

  1. 10.0.1.0/24 및 10.0.2.0/24부터 192.168.1.10까지 라우팅하도록 라우터 RA 구성(WireGuard 서버 1)
  2. WireGuard 인터페이스를 통해 10.0.2.0/24를 WireGuard 서버 2로 라우팅하도록 WireGuard 서버 1을 구성합니다. 이 작업은 WireGuard 서버 1의 WireGuard 구성에 있는 WireGuard 서버 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 서버 1로 라우팅하도록 WireGuard 서버 1의 각 외부 클라이언트를 구성합니다. AllowedIPs = 192.168.1.0/25, 192.168.1.128/25이를 수행하려면 외부 클라이언트 WireGuard 구성의 WireGuard 서버 1 섹션에서 이를 설정합니다 [Peer](또는 이 경우 두 개의 서브넷을 합하면 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 서버 2).
  2. WireGuard 인터페이스를 통해 10.0.1.0/24를 WireGuard 서버 1로 라우팅하도록 WireGuard 서버 2를 구성합니다. 이 작업은 WireGuard 서버 2의 WireGuard 구성에서 WireGuard 서버 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 서버 2로 라우팅하도록 WireGuard 서버 2의 각 외부 클라이언트를 구성합니다. AllowedIPs = 192.168.1.0/25, 192.168.1.128/25이를 수행하려면 외부 클라이언트의 WireGuard 구성에 있는 WireGuard 서버 2 섹션에서 이를 설정합니다 [Peer](또는 이 경우 두 개의 서브넷을 합하면 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 서버 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

두 네트워크를 서로 다른 두 서브넷 주소 공간(예: 192.168.0.0/24 및 192.168.1.0/24)에 배치할 수 있으면 더 쉽습니다. 이렇게 하면 네트워크에 경로를 생성하여 Wireguard 게이트웨이를 다른 네트워크의 기본 게이트웨이로 사용할 수 있습니다. 두 네트워크가 모두 동일한 서브넷에 있으므로 라우팅 설정이 더 어렵습니다. 24비트보다 긴 넷마스크가 필요합니다.

나는 당신이 달성하고자 하는 것을 달성했지만 다른 주소 공간에 서브넷이 있습니다. 따라서 내 경로는 약간 더 간단합니다. 그러나 이것이 불가능하다는 의미는 아닙니다. 라우팅이 제대로 작동하려면 일부 IP를 변경해야 할 수도 있습니다. 여기를 살펴보세요: 라우터 뒤에 있는 와이어가드 박스를 사용하여 LAN에 대한 와이어가드 연결

더 궁금한 점이 있으면 문의해 주세요.

관련 정보