Wireguard VPN을 통해 내부 주소에 대한 액세스를 허용합니다.

Wireguard VPN을 통해 내부 주소에 대한 액세스를 허용합니다.

이 질문은 몇 번이나 제기되었으며 이를 해결하기 위해 ChatGPT에 많은 시간을 보냈습니다.

나는 세 대의 기계를 가지고 있습니다 :

  • RP 0에는 192.168.0.1을 통해 액세스할 수 있는 Wireguard VPN 및 Fluidd 대시보드가 ​​있습니다.
  • Wireguard VPN이 탑재된 Android 휴대폰이며 RP 대시보드에 액세스하고 싶습니다.
  • centOS VPS는 Wireguard VPN으로 작동합니다.

방법은 간단합니다.

  • Wireguard를 사용하여 VPN 서버를 만듭니다.
  • 서버의 conf에 두 장치를 모두 추가합니다.
  • 각 장치에 conf를 추가합니다.
  • RP는 해당 구성에서 전화기의 로컬 VPN IP를 허용해야 합니다.
  • localip:80 포트를 192.168.0.1로 전달

질문:

  • 요청이 192.168.0.1로 리디렉션되지 않아 전화기가 대시보드에 액세스할 수 없습니다.

정보:

  • 핑 10.0.0.3, 10.0.0.1 및 10.0.0.2는 정상적으로 작동합니다.
  • 컬 RP는 "TIMED_OUT"을 반환합니다.
  • 서버는 포트 51820에 대한 액세스를 엽니다.
  • 전화기와 RP가 모두 서버에 연결되어 핸드셰이크를 수행하고 데이터를 아래/위로 전송합니다.
  • RP는 장치 내부에서 대시보드에 액세스할 수 있고 다른 IP 주소를 통해 로컬 네트워크에서 대시보드에 액세스할 수 있습니다.

내가 잘못 이해한 것이 있으면 정정해 주십시오.

Server conf

[Interface]
Address = 10.0.0.1/24
SaveConfig = true
ListenPort = 51820
PrivateKey = SERVER_PRIVATE_KEY

# Mobile Device Peer
[Peer]
PublicKey = MOBILE_PUBLIC_KEY
AllowedIPs = 10.0.0.3/32

# Raspberry Pi Peer
[Peer]
PublicKey = RP_PUBLIC_KEY
AllowedIPs = 10.0.0.2/32

RP conf

[Interface]
PrivateKey = RP_PRIVATE_KEY
Address = 10.0.0.2/24
DNS = 8.8.8.8

[Peer]
PublicKey = SERVER_PUB_KEY
AllowedIPs = 0.0.0.0/0, 10.0.0.3/32, 10.0.0.1/32
Endpoint = SERVER_IP:51820

Mobile conf

[상호 작용]

PrivateKey = MOBILE_PRIVATE_KEY
Address = 10.0.0.3/24
DNS = 8.8.8.8

[Peer]
PublicKey = SERVER_PUB_KEY
AllowedIPs = 0.0.0.0/0
Endpoint = SERVER_IP:51820

RP에 포트 전달을 추가해 보았습니다.

sudo iptables -t nat -A PREROUTING -i wg0 -p tcp --dport 80 -j DNAT --to-destination 127.0.0.1:80

그러나 이것은 작동하지 않았습니다. 도움을 주시면 감사하겠습니다. 나는 이 주제에 대해 아는 것이 거의 없습니다.

답변1

글쎄, 그것은 실용적인 대답이 아닙니다. 문제는 "http" 대신 "https"에 액세스한다는 것입니다.

결국 역방향 프록시를 만들었습니다. RP를 열고 전화로 RP를 핑 해야 했고 "sudo tcpdump -i wg0-client마침내 해결했습니다.

관련 정보