이 질문은 몇 번이나 제기되었으며 이를 해결하기 위해 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
마침내 해결했습니다.