
Mein Setup sieht wie folgt aus:
- Server (Ubuntu-Server) mit öffentlicher IP-Adresse,
1.2.3.4
der als OpenVPN-Server fungiert - RaspberryPi (Raspbian) verbunden mit dem OpenVPN-Server mit Adresse
10.8.0.6
im OpenVPN-Netzwerk und lokaler Adresse im physischen Netzwerk192.168.178.36
- "Lan-Client" befindet sich im selben physischen Netzwerk wie der Raspberry Pi mit der lokalen Adresse
192.168.178.56
- "Client" befindet sich im selben OpenVPN-Netzwerk wie der Raspberry Pi mit der Adresse
10.8.0.10
Mit meinem aktuellen Setup sind der „Client“ und der Raspberry Pi erfolgreich mit dem OpenVPN-Server verbunden und können miteinander kommunizieren. Jetzt möchte ich den „LAN-Client“ an das OpenVPN-Netzwerk weiterleiten und dabei den Raspberry Pi als Router verwenden, damit jeder mit dem OpenVPN-Server verbundene Client darauf zugreifen kann.
Ich kann OpenVPN nicht auf dem „LAN-Client“ installieren, noch kann ich eine Portweiterleitung dorthin durchführen oder überhaupt eine Konfiguration ändern.
Ist das überhaupt mit OpenVPN möglich? Und wenn ja, wie mache ich das? Ich möchte nur diese bestimmte IP weiterleiten und nicht alle Clients im Raspberry Pi-LAN.
Meine aktuellen Konfigurationen sehen folgendermaßen aus:
server.conf
port 1194
proto udp
dev tun
ca /etc/certs/ca.crt
cert /etc/certs/server.crt
key /etc/certs/server.key
dh /etc/certs/dh4096.pem
cipher AES-256-CBC
server 10.8.0.0 255.255.255.0
keepalive 10 120
client-to-client
ifconfig-pool-persist /etc/openvpn/ipp.txt
client-config-dir /etc/openvpn/ccd
persist-key
persist-tun
status /var/log/openvpn/status.log
log /var/log/openvpn/openvpn.log
log-append /var/log/openvpn/openvpn.log
verb 3
ipp.txt(Server)
client-rpi,10.8.0.4
ccd/client-rpi(Server)
ifconfig-push 10.8.0.6 10.8.0.1
client.conf(Himbeer-Pi)
client
dev tun
proto udp
remote 1.2.3.4 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca /etc/certs/ca.crt
cert /etc/certs/client-rpi.crt
key /etc/certs/client-rpi.key
cipher AES-256-CBC
remote-cert-tls server
verb 3
Obwohl ich nur eine IP-Adresse routen möchte, habe ich bereits einige Anleitungen online befolgt, um das gesamte LAN zu routen. Dazu habe ich hinzugefügt
route 192.168.178.0 255.255.255.0
zumserver.confUnd
iroute 192.168.178.0 255.255.255.0
zumccd/client-rpiconfig. Wenn ich z.B. versuche, 192.168.178.20
den Server anzupingen, bekomme ich einen 100% Paketverlust (keine Antwort). Auf dem Raspberry Pi sieht das so aus:
$ sudo tcpdump -i tun0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type RAW (Raw IP), capture size 262144 bytes
09:39:09.863118 IP 10.8.0.1 > 192.168.178.20: ICMP echo request, id 19467, seq 1, length 64
09:39:10.869903 IP 10.8.0.1 > 192.168.178.20: ICMP echo request, id 19467, seq 2, length 64
09:39:11.878093 IP 10.8.0.1 > 192.168.178.20: ICMP echo request, id 19467, seq 3, length 64
Wenn ich dieselbe Adresse, aber vom Raspberry Pi aus anpinge (der sich im selben physischen Netzwerk wie das Ziel befindet), funktioniert alles wie erwartet einwandfrei. Es liegt also nicht an der Firewall des Ziels, die die Anfragen ablehnt.
Ich vermute, dass der Raspberry Pi die Ping-Anfragen empfängt und weiterleitet, das Ziel aber 192.168.178.20
nicht weiß, wie es antworten soll. Das Problem ist, wie bereits erwähnt, dass ich weder die Routing-Tabelle noch andere Einstellungen auf diesem Gerät ändern kann. Ich habe nur Zugriff auf den Server und den Raspberry Pi. Habe ich das richtig verstanden und gibt es eine Lösung, die funktionieren würde? Oder liegt es nur an meiner Fehlkonfiguration und meinem Missverständnis? Es könnte auch ein Problem mit den Routen auf dem Raspberry Pi geben, aber ich habe keine Ahnung, wie ich das beheben kann.