OpenVPN und routing
Liebe Liste! Habe OpenVPN soweit am laufen daß ich vom Clienten aus (WinXP) meinen OpenVPN Server zuhause anpingen kann. Leider kann ich die weiteren Rechner, welche im selben Netz wie der VPN-Server liegen, nicht erreichen. Ich vermute mal das Problem liegt am routing des VPN-Servers. Der Aufbau ist im Prinzip wie folgt: Client WinXP ------- Internet -------- Router (leitet 1194-Anfragen auf den Server 192.168.1.20 weiter) ------- hinter diesem Router steht der VPN-Server 192.168.1.20 und weitere Rechner 192.168.1.10, 192.168.1.11,...... Mit der folgenden Konfiguration ist es so, dass ich vom Client aus den OpenVPN Server pingen kann und auch alle Anwendungen (samba, ssh,...) darauf nutzen kann. Nur die anderen Rechner im Netzwerk kann ich nicht pingen. Der Server hat die virt. ip 10.0.0.1 , der client bekommt 10.0.0.10 zugewiesen. Der Client hat in seinem Netz die Adresse 192.168.2.100/24 mit Gateway 192.168.2.254(=ADSL-Router und DHCP-Server) Meine server.conf - Konfiguration (SuSE) port 1194 proto udp mode server tls-server dev tap ifconfig 10.0.0.1 255.255.255.0 ifconfig-pool 10.0.0.10 10.0.0.20 push "redirect-gateway" push "route-gateway 10.0.0.1" ca /etc/openvpn/vpn-ca.pem cert /etc/openvpn/servercert.pem key /etc/openvpn/serverkey.pem dh /etc/openvpn/dh1024.pem client-to-client keepalive 10 120 auth SHA1 cipher AES-256-CBC comp-lzo user nobody group nobody persist-key persist-tun verb 3 Meine client.conf - Konfiguration (WinXP) client float dev tap tun-mtu 1500 mssfix dev-node OpenVPN-TAP proto udp remote meineadresse.dyndns.org 1194 route add 192.168.1.0 mask 255.255.255.0 10.0.0.1 metric 1 -p tls-remote hse01 ca vpn-ca.pem cert l04cert.pem key l04key.pem auth SHA1 cipher aes-256-cbc nobind comp-lzo persist-key persist-tun verb 3 am server habe ich folgende iptables-regeln eingefügt: #! /bin/bash ############################################### IPTABLES=/usr/sbin/iptables ############################################### VPN_DEV=tap0 VPN_NET=10.0.0.0/24 INT_DEV=eth0 $IPTABLES -t nat -A PREROUTING -i $VPN_DEV -p tcp --dport 1194 -j DNAT --to 192.168.1.0 $IPTABLES -A FORWARD -i $INT_DEV -o $VPN_DEV -s $VPN_NET -p tcp -j ACCEPT $IPTABLES -A FORWARD -i $INT_DEV -o $VPN_DEV -s $VPN_NET -p udp -j ACCEPT ############################################### Kann mir bitte jemand sagen wo der Fehler liegt? Habe auch schon verschiedene Versionen (zb. mit tun-devices,...) probiert, leider ohne Erfolg. Johannes
Johannes Kaindlstorfer, Dienstag, 16. Mai 2006 15:25:
Mit der folgenden Konfiguration ist es so, dass ich vom Client aus den OpenVPN Server pingen kann und auch alle Anwendungen (samba, ssh,...) darauf nutzen kann. Nur die anderen Rechner im Netzwerk kann ich nicht pingen.
Vermutlich kommt der ping hin, aber nicht zurück. Deine Clients stellen fest, daß 10.0.0.10 nicht im eigenen Subnetz liegt, und senden folglich das Paket aufs Standardgateway. Aber dieses weiß auch nicht, wohin damit. Du mußt dafür sorgen, daß die Clients entweder eine entsprechende Route bekommen und somit die Pakete an .1.20 senden, oder aber (mein bevorzugter Weg) Du mußt dem Standardgateway sagen, was es mit Paketen an 10.0.0.0/8 tun soll, nämlich an .1.20 weiterreichen, und nicht nach draußen routen, was wegen der Adressklasse von vornherein nicht funktionieren kann. -- Andre Tann
Andre Tann schrieb:
Johannes Kaindlstorfer, Dienstag, 16. Mai 2006 15:25:
Mit der folgenden Konfiguration ist es so, dass ich vom Client aus den OpenVPN Server pingen kann und auch alle Anwendungen (samba, ssh,...) darauf nutzen kann. Nur die anderen Rechner im Netzwerk kann ich nicht pingen.
Vermutlich kommt der ping hin, aber nicht zurück. Deine Clients stellen fest, daß 10.0.0.10 nicht im eigenen Subnetz liegt, und senden folglich das Paket aufs Standardgateway. Aber dieses weiß auch nicht, wohin damit. Du mußt dafür sorgen, daß die Clients entweder eine entsprechende Route bekommen und somit die Pakete an .1.20 senden, oder aber (mein bevorzugter Weg) Du mußt dem Standardgateway sagen, was es mit Paketen an 10.0.0.0/8 tun soll, nämlich an .1.20 weiterreichen, und nicht nach draußen routen, was wegen der Adressklasse von vornherein nicht funktionieren kann.
In wie weit kann mir bei dem Problem die option oder der modus "server-bridge" weiterhelfen? Gruß Johannes
participants (2)
-
Andre Tann
-
Johannes Kaindlstorfer