OpenVPN + OpenWrt: Server erkennt keine Geräte im Netzwerk des Clients

607
Vladimir Panchenko

Ich habe einen OpenVPN-Server. Ich möchte von dort aus Zugang zu den im Netzwerk des Kunden verfügbaren Ressourcen erhalten. Das Client-Netzwerk wird von einem OpenWrt-basierten Router verwaltet. Es dient als OpenVPN-Client.

Das Netzwerk für den Server hat die Maske 192.168.3.0/24, das lokale Netzwerk auf dem OpenWrt-Router ist 192.168.1.0/24, daher sollten keine Konflikte auftreten.

Die Verbindung ist erfolgreich und ich kann meinen Router vom Server ( ping 192.168.1.1) und rückwärts ( ping 192.168.3.1vom Router) anpingen .

Aus irgendeinem Grund sind jedoch nicht alle Geräte im Client-Netzwerk vom Server verfügbar.

OpenVPN: Serverkonfiguration

port 1194 proto udp4 dev tun ca "C:\\Program Files\\OpenVPN\\config\\ca.crt" cert "C:\\Program Files\\OpenVPN\\config\\server.crt" key "C:\\Program Files\\OpenVPN\\config\\server.key" dh "C:\\Program Files\\OpenVPN\\config\\dh2048.pem" server 10.8.0.0 255.255.255.0 ifconfig-pool-persist ipp.txt keepalive 10 120 cipher AES-256-CBC persist-key persist-tun status openvpn-status.log verb 3 explicit-exit-notify 1 client-config-dir ccd route 192.168.1.0 255.255.255.0 push "route 192.168.3.0 255.255.255.0" 

ccd / client iroute 192.168.1.0 255.255.255.0

OpenVPN: Client-Konfiguration (/ etc / config / openvpn)

package openvpn  config openvpn 'client'  option enabled 1 option client '1' option dev 'tun' option proto 'udp4' list remote 'myvpnserver 1194' option resolv_retry 'infinite' option nobind '1' option persist_key '1' option persist_tun '1' option user 'nobody' option ca '/etc/openvpn/ca.crt' option cert '/etc/openvpn/client.crt' option key '/etc/openvpn/client.key' option remote_cert_tls 'server' option cipher 'AES-256-CBC' option verb '3' option status /etc/openvpn/openvpn-status.log option log /var/log/openvpn.log 

Ich habe dem Router eine entsprechende Schnittstelle und Firewall-Regeln hinzugefügt (basierend auf dem offiziellen Handbuch):

/ etc / config / network

config interface 'VPN' option proto 'none' option ifname 'tun0' 

/ etc / config / firewall

config zone option input 'ACCEPT' option output 'ACCEPT' option name 'vpn' option forward 'ACCEPT' option masq '1' option network 'VPN'  config forwarding option dest 'lan' option src 'vpn'  config forwarding option dest 'vpn' option src 'lan' 

Client-Protokoll

 TUN/TAP device tun0 opened TUN/TAP TX queue length set to 100 do_ifconfig, tt->did_ifconfig_ipv6_setup=0 /sbin/ifconfig tun0 10.8.0.6 pointopoint 10.8.0.5 mtu 1500 /sbin/route add -net 192.168.3.0 netmask 255.255.255.0 gw 10.8.0.5 /sbin/route add -net 10.8.0.1 netmask 255.255.255.255 gw 10.8.0.5 UID set to nobody WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this Initialization Sequence Completed 

Serverprotokoll

MULTI: Learn: 192.168.1.219 -> client/83.220.239.243:21301 # 192.168.1.219 is one of the devices connected to the client network (to the router) MULTI: Learn: 192.168.1.1 -> client/83.220.239.243:21301 # 192.168.1.1 is the router 

Diese Datensätze wurden angezeigt, als ich versuchte, 192.168.1.219 und 192.168.1.1 zu pingen.

Ich habe die IP-Weiterleitung auf dem Server und auf dem Client aktiviert, wie in diesem Artikel empfohlen.

Ich habe auch versucht, die Firewall auf dem Router mit dem folgenden Befehl zu deaktivieren:, /etc/init.d/firewall stopaber es half auch nicht.

Ich habe tracert 192.168.1.219auf dem Server:

1 34 ms 39 ms 34 ms 10.8.0.6 2 * * * Request timed out. 

10.8.0.6 ist die IP-Adresse des Routers im VPN-Netzwerk.

Was mache ich falsch? Jeder Rat wäre sehr dankbar.

0

1 Antwort auf die Frage

1
Andy

Erstens kann das Ping der IP-Adressen anderer Schnittstellen auf einem Router ein falsches Positiv sein. Viele Router haben andere Regeln, wenn der Verkehr zu einer der Schnittstellen des Routers fließt (z. B. "lokaler" Verkehr).

Es sieht so aus, als wären die Routing-Informationen auf Ihren VPN-Clients falsch und / oder Sie haben kein Gateway für diese Clients. In der Routing-Tabelle Ihres VPN-Clients finden sich sehr seltsame Dinge. Zum Beispiel macht diese Route keinen Sinn:

/ sbin / route add -net 10.8.0.1 Netzmaske 255.255.255.255 gw 10.8.0.5

Eine / 32-Netzmaske ist ungültig. Dies ist eine Route zu keinen Maschinen. Die kleinste gültige Maske ist / 30 (255.255.255.252). Außerdem scheinen Ihre VPN-Clients die falsche IP-Adresse für Ihr Gateway zu ermitteln. Sie sagten, die IP des Routers sei 10.8.0.6. Schließlich befindet sich die IP-Adresse Ihres Gateways im DHCP-Pool Ihres OpenVPN-Servers. Nachdem Sie einige Clients 10.8.0.6 verbunden haben, wird sie an einen VPN-Client geleast, und Sie werden in Schwierigkeiten geraten.

Es ist möglicherweise ratsam, einige Zeit mit dem Referenzdokument von openvpn zu verbringen: https://openvpn.net/community-resources/reference-manual-for-openvpn-2-0/