홈 네트워크 외부에 있을 때 Pihole 설치를 사용하기 위해 연결하는 데 사용하는 OpenVPN 서버를 실행하는 Raspberry Pi 서버가 있습니다. 이것은 문제없이 작동합니다.
| HOME NETWORK/Pihole |
(Remote client) -- (Open VPN Server ) --- Internet
또한 OpenVPN 클라이언트를 통해 Pi 장치에서 연결할 수 있는 원격 VPN 서비스가 있습니다. 나는 또한 성공적으로 테스트했습니다.
| HOME NETWORK/Pihole |
(Open VPN Client ) - VPN provider
최종 설치가 다음과 같이 보이도록 이 두 서비스를 결합하고 싶습니다.
| HOME NETWORK /Pihole |
(Remote client) -- (Open VPN Server) -- (Open VPN Client) --- Remote VPN service
질문에 설명된 것과 유사한 솔루션을 시도했습니다(활성 OpenVPN 클라이언트가 있는 Wireguard 서버), 그러나 결과는 비슷합니다. Open VPN 클라이언트(tun1)가 활성화되면 서버(tun0)에 액세스할 수 없습니다.
두 인터페이스 tun[01]이 모두 작동 중일 때 라우팅 테이블의 모습은 다음과 같습니다.
0.0.0.0/1 via 10.50.11.5 dev tun1
default via 192.168.1.1 dev wlan0 src 192.168.1.164 metric 303
10.8.0.0/24 dev tun0 proto kernel scope link src 10.8.0.1
10.50.11.1 via 10.50.11.5 dev tun1
10.50.11.5 dev tun1 proto kernel scope link src 10.50.11.6
128.0.0.0/1 via 10.50.11.5 dev tun1
192.168.1.0/24 dev wlan0 proto kernel scope link src 192.168.1.164 metric 303
199.116.115.135 via 192.168.1.1 dev wlan0
이것은 연결을 시도할 때 openvpn 서버의 현재 출력입니다.
pi@raspberrypi:/etc/openvpn $ sudo more openvpn-status.log
OpenVPN CLIENT LIST
Updated,Sat Jun 29 23:30:41 2019
Common Name,Real Address,Bytes Received,Bytes Sent,Connected Since
UNDEF,x.x.x.x:39159,860,442,Sat Jun 29 23:30:02 2019
오류 로그는 다음과 같습니다.
Sat Jun 29 23:34:47 2019 x.x.x.x:28162 TLS Error: incoming packet authentication failed from [AF_INET]172.58.87.22:28162
Sat Jun 29 23:34:48 2019 x.x.x.x:28162 Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ #1 / time = (1561869285) Sat Jun 29 23:34:45 2019 ] -- see the man page entry for --no-replay and --replay-window for more
info or silence this warning with --mute-replay-warnings
Sat Jun 29 23:34:48 2019 x.x.x.x:28162 TLS Error: incoming packet authentication failed from [AF_INET]x.x.x.x:28162
분명히 클라이언트 연결이 끊어졌나요?
나는 또한 해결책을 시도했다OpenVPN 클라이언트와 서버가 동일한 컴퓨터에 있습니다. 클라이언트가 연결될 때 서버가 연결을 허용하지 않습니다.이 질문을 게시한 후 이 사실을 알았지만 소용이 없었습니다. 이것은 내 문제와 직접적인 관련이 있는 것 같지만 여전히 작동하지 않습니다.
답변1
iptables -I POSTROUTING -t nat -s 10.8.0.0/24 -o tun1 -j MASQUERADE
openvpn 클라이언트 연결(tun1)을 통해 openvpn 서버(10.8.0.0/24)에서 나가는 트래픽을 라우팅하려면 이 규칙이 필요합니다.
홈 네트워크 외부에서 openvpn 서버에 액세스하려면 다음 규칙을 사용해야 합니다.이것답변:
ip rule add from 192.168.1.164 lookup 10 # Pi server
ip route add default via 192.168.1.1 table 10 # LAN router
어디192.168.1.164당신의 Pi-IP입니다.
VPN 트래픽만 허용하는 것에 대한 대안은 다음과 같습니다.
iptables -A PREROUTING -t mangle -p udp --dport 1149 -j MARK --set-mark 1
ip rule add fwmark 1 table 10
ip route add default via 192.168.1.1 dev wlan0 dev table 10