Wireguard 핸드셰이크를 시도했지만 ping이 실패했습니다.

Wireguard 핸드셰이크를 시도했지만 ping이 실패했습니다.

고정 IP를 사용하는 서버와 내 홈 로컬 네트워크에 있는 클라이언트가 있습니다. 내가 달성하고 싶은 것은 둘 사이의 VPN 연결입니다(나중에 더 많은 클라이언트가 추가될 수 있지만). VPN 서버를 통해 인터넷에 연결할 필요는 없으며 직접 연결만 하면 됩니다.

서버에서 Ubuntu 18.04 LTS를 실행하고 있지만 서버가 커널 수정을 허용하지 않는 OpenVZ 가상 서버이기 때문에 wireguard 커널 모듈을 사용할 수 없습니다. 그래서 저는 서버에서 wireguard-go를 사용하고 있습니다. 바라보다내 이전 게시물그 문제를 논의하기 위해.

서버는 다음과 같이 구성됩니다.

[Interface]
PrivateKey = ...
ListenPort = 51944

[Peer]
PublicKey = ...
AllowedIPs = 192.168.177.5/32

그리고

sudo ip addr add 192.168.177.4/32 dev wg0

IP 주소를 설정합니다.

클라이언트(또한 Ubuntu 18.04 LTS)는 다음과 같이 구성됩니다.

[Interface]
PrivateKey = ...
Address = 192.168.177.5/32

[Peer]
PublicKey = ...
AllowedIPs = 192.168.177.4/32
Endpoint = [static IP of my server]:51944
PersistentKeepalive = 25

그리고 시작하는

sudo wg-quick up wg0

서버와 클라이언트의 출력에서 sudo wg​​핸드셰이크가 작동하는 것을 볼 수 있습니다. 그러나 어느 쪽이든 핑을 시도하면 댓글 프롬프트가 영원히 기다리게 됩니다.

나에게 어떤 문제가 있는지 아는 사람 있나요?

답변1

문제는 WireGuard 문제가 아니라 클라이언트와 서버의 라우팅 손실인 것으로 보입니다.

서버가 192.168.177.4/32로 지정된 경우 192.168.177.5/32에는 경로가 제공되지 않습니다. 표준 라우팅 부분의 경우 의심스러운 경우 명령을 실행하여 경로가 어디로 가는지 커널에 물어보세요. 예를 들어섬기는 사람:

ip route get 192.168.177.5

답변에 WireGuard 인터페이스가 제공되지 않으면 라우터가 이를 사용하지 않는다는 의미입니다(터널에 트래픽이 전혀 없음).

가능한 옵션은 다음과 같습니다:

  • 누락된 경로 추가

    sudo ip route add 192.168.177.5/32 dev wg0
    
  • 자동 라우팅이 포함되고 커널에 의해 추가되도록 주소를 다르게 추가합니다.

    • 피어 주소가 있음

      sudo ip address add 192.168.177.4 peer 192.168.177.5/32 dev wg0
      
    • 또는 적어도 /31(경로에 192.168.177.5를 포함하려면)입니다. /24도 사용 가능

      sudo ip address add 192.168.177.4/31 dev wg0
      
  • 또는 가장 간단한 /31과 같이 구성에 주소를 추가하거나 /24와 같이 더 큰 주소를 추가하면 됩니다. 서버와 클라이언트는 동일한 역할을 가지므로 서로 다른 방법을 사용하여 주소를 구성할 이유가 없습니다.

    Address = 192.168.177.4/31
    

마찬가지로 클라이언트 구성을 수정합니다.

Address = 192.168.177.5/31

표준 라우팅 및WireGuard의 암호화 키 라우팅( AllowedIPs여기서 이 설정에 맞는 을 선택하는 데 사용) 작업 결과가 정확해야 합니다. 피어를 더 추가하는 경우 더 넓은 라우팅을 사용해야 할 수도 있지만 AllowedIPs암호화 키 라우팅에 필요한 만큼 더 엄격한 설정을 유지해야 합니다.

관련 정보