Ich habe einen OpenVPN-Server (VPN-IP = 10.8.0.1) auf einem Server mit öffentlicher IP eingerichtet. Und ich habe in meinem Labor eine Workstation (Ubuntu) mit Schul-IP, die auf Intranet-Ressourcen der Schule zugreifen kann.
Ich möchte, dass mein Android-Telefon und mein Windows-PC auf diese Ressourcen zugreifen können. Also:
OpenVPN-Serverkonfiguration:
dev tun
topology subnet
server 10.8.0.0 255.255.255.0
client-config-dir /etc/openvpn/server/ccd
push "route 10.8.0.0 255.255.255.0"
push "route-gateway 10.8.0.3"Verbinde meine Workstation mit dem Server und erhalte eine IP 10.8.0.3, ihre CCD-Konfiguration (entspricht der Client-Konfiguration) lautet:
ifconfig-push 10.8.0.3 255.255.255.0
Auf der Workstation habe ich iptables verwendet und einige Elemente hinzugefügt:
$ sudo iptables -t filter -S
-P EINGABE AKZEPTIEREN
-P WEITERLEITUNG AKZEPTIEREN
-P AUSGABE AKZEPTIEREN
$ sudo iptables -t nat -S
-P VORROUTING AKZEPTIEREN
-P EINGABE AKZEPTIEREN
-P AUSGABE AKZEPTIEREN
-P POSTROUTING AKZEPTIEREN
-A POSTROUTING -s 10.8.0.0/24 -o wlx0810752b55c9 -j MASQUERADEDie CCD-Konfiguration meines PCs zu Hause ist:
ifconfig-push 10.8.0.5 255.255.255.0
pushen "Route-Gateway 10.8.0.3"
pushen "Redirect-Gateway def1 Bypass-DHCP"
pushen "DHCP-Option DNS 8.8.8.8"Ergebnis1 Der PC kann keine Verbindung zum Internet herstellen. Die Routentabelle dieses PCs lautet:
Route drucken -4
0.0.0.0 0.0.0.0 192.168.1.254 192.168.1.21 35
0.0.0.0 128.0.0.0 10.8.0.3 10.8.0.5 291
128.0.0.0 128.0.0.0 10.8.0.3 10.8.0.5 291
Die letzten beiden Elemente wurden von „redirect-gateway def1“ hinzugefügt, ohne das ursprüngliche Standard-Gateway zu entfernen. Mich würde interessieren, warum def1 den Datenverkehr umleitet. Weil das ursprüngliche Standard-Gateway immer noch da ist und eine bessere Metrik aufweist, sodass kein Datenverkehr über VPN laufen würde.
Ergebnis 2: Mein Android-Telefon kann das auch nicht.
$ busybox ip route show table alles
standardmäßig über 10.183.93.203 dev ccmni0 table 1002
default dev tun0 src 10.8.0.4
10.8.0.0/24 dev tun0 table 1015
10.8.0.0/24 dev tun0 src 10.8.0.4 …
Ich habe sichergestellt, dass die Arbeitsstation den Datenverkehr nicht empfing:
$ 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
^C
0 packets captured
0 packets received by filter
0 packets dropped by kernel
$
Ich habe viele Themen dazu durchgelesen, aber keine funktionierende Lösung gefunden. Also kann mir jeder helfen, jeder Vorschlag ist willkommen!
Antwort1
Im CCD-Verzeichnis auf dem Server sollte die Workstation-Datei iroute enthalten. Versuchen Sie das bitte. Ich versuche dasselbe zu tun, ohne den Zugriffsserver zu verwenden und einen Linux-Client als Gateway zu verwenden, wie hier gezeigt https://www.youtube.com/watch?v=b7qr0laM8kA