OpenVPN: kompletten Traffic durch den Tunnel?

Status
Für weitere Antworten geschlossen.

joku

Benutzer
Mitglied seit
06. Mrz 2011
Beiträge
6.664
Punkte für Reaktionen
2
Punkte
164
Bei mir auf dem Client ist ja redirect-gateway aktiv und somit weiss ich nicht ob ich nun auf der Server Seite
Hallo, was Du immer auf der Server Seite machst ?
Wo nimmt der Client den DNS her ?
Hast Du das aus Deiner #14 auch eingestellt ?

Gruß Jo
 

sugxgus

Benutzer
Mitglied seit
11. Mrz 2014
Beiträge
49
Punkte für Reaktionen
0
Punkte
0
Damit die Sache etwas überschaubarer ist.

SERVER

Rich (BBCode):
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key  # This file should be kept secret
dh dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 192.168.1.0 255.255.255.0"
push "redirect-gateway"
push "dhcp-option DNS 192.168.1.1"
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3

und

CLIENT

Rich (BBCode):
dev tun
tls-client
remote mydomian.com 1194
redirect-gateway
pull
proto udp
script-security 2
ca ca.crt
comp-lzo
reneg-sec 0
auth-user-pass

Router: 192.168.1.1
Diskstation (fixe IP): 192.168.1.45 (interner DNS nas.mydomain.local)(DNS-Eintrag ist auf dem Router erfasst)

Viele Grüsse
 

joku

Benutzer
Mitglied seit
06. Mrz 2011
Beiträge
6.664
Punkte für Reaktionen
2
Punkte
164
Damit die Sache etwas überschaubarer ist.
CLIENT

Rich (BBCode):
dev tun
tls-client
remote mydomian.com 1194
redirect-gateway
pull
proto udp
script-security 2
ca ca.crt
comp-lzo
reneg-sec 0
auth-user-pass
Ja und das aus Deiner #14 mal versucht ?

dhcp-option DNS 192.168.1.1

Für den Server gibt es noch
push 'dhcp-option DOMAIN mydomain.local'

Gruß Jo
 

sugxgus

Benutzer
Mitglied seit
11. Mrz 2014
Beiträge
49
Punkte für Reaktionen
0
Punkte
0
Also auf dem Client habe ich soeben mal noch

Rich (BBCode):
dhcp-option DNS 192.168.1.1

versucht geht nicht.

Aber was ist mit diesem Server Eintrag genau gemeint

Rich (BBCode):
push 'dhcp-option DOMAIN mydomain.local'

ich habe irgendwo noch diese Variante gesehen

Rich (BBCode):
push 'dhcp-option DOMAIN lan'

aber was macht die genau würde diese noch zusätzlich zur

Rich (BBCode):
push "dhcp-option DNS 192.168.1.1"

hinzukommen?

Gruss
 

joku

Benutzer
Mitglied seit
06. Mrz 2011
Beiträge
6.664
Punkte für Reaktionen
2
Punkte
164
aber was macht die genau würde diese noch zusätzlich zur
Rich (BBCode):
push "dhcp-option DNS 192.168.1.1"

hinzukommen?

Hallo, unter welchem Betriebssystem benutzt Du den Client ?
Ja, zusätzlich.
push 'dhcp-option DOMAIN das_an_Deinen_Namen_anpassen.lan'
es setzt den Domainnamen :)

Gruß Jo
 

sugxgus

Benutzer
Mitglied seit
11. Mrz 2014
Beiträge
49
Punkte für Reaktionen
0
Punkte
0
Also aktuell mache in den Test mit dem iPhone, meine Idee dahinter ist "VPN on Demand" was klappt bis eben auf die interne Namensauflösung. Es soll so laufen, der Benutzer startet auf dem iPhone z.b. Photo-Station und dort ist als Adresse "vpn.mydomain.local" eingetragen, das iPhone merkt das er den Namen nicht auflösen kann und startet eine VPN-Verbindung. Das klappt bis dahin, doch nun wenn die VPN-Verbindung steht sollte er die Adresse (vpn.mydomain.local) auflösen können und 192.168.1.45 daraus machen und somit sich intern mit der Photo-Station verbinden.

Ja und so müsste am Ende halt der Benutzer nicht mehr die VPN-Verbindung selber starten, sondern es geht bequem im Hintergrund. Wie gesagt das "on Demand" klappt schon.

Ich werde jetzt mal auf dem Client noch

Rich (BBCode):
push 'dhcp-option DOMAIN mydomain.local'

eintragen und mal schauen ob es klappt.

Viele Grüsse
 

sugxgus

Benutzer
Mitglied seit
11. Mrz 2014
Beiträge
49
Punkte für Reaktionen
0
Punkte
0
Klappt leider auch nicht.

Müsste ich vielleicht für die internen DNS-Einträge den DNS-Server auf der Diskstation aktivieren und es mal darüber versuchen oder macht mir am Schluss die Firewall auf dem Router einen Strich durch die Rechnung?

Viele Grüsse
 

joku

Benutzer
Mitglied seit
06. Mrz 2011
Beiträge
6.664
Punkte für Reaktionen
2
Punkte
164
Klappt leider auch nicht.
Gut zu wissen wäre, welchen DNS benutzt Dein OpenVPN ?
Kannst Du das ganze nicht mal auf einem PC testen,
dammit Du sehen kannst wie die Einstellungen funktionieren
und welcher DNS zuerst gefragt wird ?
Oder kannst Du das mit dem iPhon auch ?

Gruß Jo
 

fpo4711

Benutzer
Mitglied seit
26. Mai 2010
Beiträge
2.772
Punkte für Reaktionen
1
Punkte
0
Hallo,

eigentlich habt ihr die Directiven schon völlig korrekt definiert. Ihr springt hier nur immer vom Client zum Server und dann teilweise mit den gleichen Einstellungen. Es ist nur eine Einstellung nötig. Die push Directive bedeutet = Führe das auf dem Clienten aus. Hier muß dann in der Client-Konfiguration ein pull stehen damit das zugelassen wird. Ich würde das immer vom Server aus machen. Also

Rich (BBCode):
push "redirect-gateway"
push "dhcp-option DNS 192.168.1.1"

ist schon der korrekte Weg. Sofern der Router auf der Server-Seite die IP 192.168.1.1 hat. In der Client-Konfiguration sind in diesem Fall diese beiden Directiven nicht nötig. Alternative wäre das in die Client-Konfiguration zu legen. Dann push und Anführungezeichen entfernen. Wie gesagt ich ziehe die serverseitige Konfiguration vor.

Je nach OpenVPN-Client muß noch daran gedacht werden das z.Bsp. bei Windows der Client mit Administratorrechten gestartet werden muß. Also beispielsweise rechte Maustaste auf "openVPN GUI" und "Als Administrator starten". Macht man das nicht wird der Client auch das Gateway und die Routen nicht setzen können.

Und zu letzt daran gedacht den OpenVPN-Server auch nach jeder Änderung der Konfig neu zu starten? Die wird nur beim Start eingelesen.

Gruß Frank

Edit: Und sollte es sich beim dem Namen um die DDNS-Adresse auf der Serverseite sein, so wird das eh Probleme geben. Stichwort wäre Loopback und dann noch über VPN. Das funktioniert in den seltesten fällen.
 

sugxgus

Benutzer
Mitglied seit
11. Mrz 2014
Beiträge
49
Punkte für Reaktionen
0
Punkte
0
@fpo4711

Wenn ich das nun korrekt verstanden habe dann würde

SERVER

Rich (BBCode):
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key  # This file should be kept secret
dh dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway"
push "dhcp-option DNS 192.168.1.1"
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3

so aussehen und der

CLIENT

Rich (BBCode):
dev tun
tls-client
remote mydomian.com 1194
redirect-gateway
pull
proto udp
script-security 2
ca ca.crt
comp-lzo
reneg-sec 0
auth-user-pass

dann einfach so?

Leider verstehe ich den letzten Satz nicht ganz was Du damit meinst.

Edit: Und sollte es sich beim dem Namen um die DDNS-Adresse auf der Serverseite sein, so wird das eh Probleme geben. Stichwort wäre Loopback und dann noch über VPN. Das funktioniert in den seltesten fällen.

Es ist ja so das meine L2TP VPN-Verbindung klappt (inkl. interne Namensauflösung) nur eben beim OpenVPN nicht, doch genau das benötige ich damit "VPN on Demand" auf iOS klappt.

Vielen Dank

Gruss
 

fpo4711

Benutzer
Mitglied seit
26. Mai 2010
Beiträge
2.772
Punkte für Reaktionen
1
Punkte
0
Hallo,

wenn Du den Push für redirect-gateway in der Server-Config drin hast kannst Du dir das eigentlich in der Client-Config sparen.

Loopback heißt wenn Du aus deinem lokalen Netz die DDNS-Adresse die mit deinem Router verbunden ist ansprichst, dann löst dein Router (sofern er das kann) die mit der lokalen IP auf.

Dein VPN-Client, ich glaube es ist wohl ein iPhone, muß aber auf jedenfall schon mal eine Route kennen wenn Du dich einwählst nämlich die zu deinem VPN-Server. Wenn Du also hier über deinen DDNS-Namen vom Server auflöst. Ist diese Route und ich glaube das iPhone hat einen DNS-Cache dem Phone jedenfalls bekannt und hier wird wahrscheinlich gar keine DNS-Anfrage mehr an den DNS geschickt. Mich wundert das Du wie Du sagst das per PPTP überhaupt gelöst bekommst.

Besorg Dir doch mal die IP von deiner DDNS Adresse. Schalte dann das iPhone mal in den Flugmodus. Hier wird glaube ich dann auch der Cache gelöscht. Und verbinde dich dann mit dem OpenVPN-Server per IP (Nicht wieder den DDNS-Namen nehmen). Sollte er dann auch über das VPN den Namen dann auflösen, dann sollte es wohl am Cache des iPhone und dr Implementierung auf dem iPhone liegen.

Läuft denn, von der Auflösung des DDNS-Namens mal abgesehn, der Rest alles über das VPN. Also beispielsweise die DS mit ihrem Namen ansprechen?

Ansonsten kannst Du mit verb und entsprechender Zahl in der Config auch noch mehr Hinweise erhalten. Hier sollte dann auch die dhcp-option DNS auf dem Clienten bei der Auführung im Log erscheinen.

Gruß Frank
 

sugxgus

Benutzer
Mitglied seit
11. Mrz 2014
Beiträge
49
Punkte für Reaktionen
0
Punkte
0
Erst einmal vielen Dank für Deine Hilfe

So der SERVER und CLIENT ist aktuell so eingestellt wie in meinem letzten Post, also Push auf dem SERVER und auf dem CLIENT kein Push, kein DNS einfach so wie gepostet.

Den test mache ich jeweils so, ich schlage bei meinem iPhone das Wlan ab damit ich im normalen 4G Netz bin und dann verbinde ich mich über meine Domain (mydomain.me) auf meinen OpenVPN Server der auf der Diskstation läuft, klappt das prüfe ich auf (showmyip.com) ob ich auch wirklich die öffentliche IP die ich von meinem Provider habe aktiv habe. Und dann rufe ich auf dem iphone im Safari (nas.mydomain.me) auf und dieser DNS sollte nun von meinem Router aufgelöst werden da dieser eben auf dem Router erfasst ist und das geht nicht. Gebe ich jedoch die IP ein (192.168.1.45) dann sehe ich den Diskstation Anmelde-Screen.

Du schreibst noch das mein Client (iPhone) eine Route kennen muss, müsste ich den da nicht noch auf dem Client was eintragen damit er dies weiss, wäre das in meinem Fall die IP des Router (192.168.1.1) oder ist das (192.168.1.0)?

Viele Grüsse
 

fpo4711

Benutzer
Mitglied seit
26. Mai 2010
Beiträge
2.772
Punkte für Reaktionen
1
Punkte
0
Prüf doch einfach mal ob er auch wirklich mit deinen DNS im Server-Netz auflöst. Also beispielsweise http://<Name_deiner_DS>:5000. Der Name deiner DS sollte nicht die DDNS-Adresse sein sondern der Name der im lokalen Netz verwendet wird. Z.Bsp. "Diskstation". Sollte das klappen dann spricht er auch den DNS auf der Serverseite an.

Diese eine Route die ich erwähnte die bei einem Clienten vorhanden sein muß ist die zum VPN-Server. Denn hierrüber muß ja OpenVPN den Server ansprechen. Hier mal ein Beispiel nach einer aufgebauten Verbindung per OpenVPN.

Rich (BBCode):
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         10.8.0.5        0.0.0.0         UG    0      0        0 tun0
10.8.0.0        10.8.0.5        255.255.255.0   UG    0      0        0 tun0
10.8.0.5        *               255.255.255.255 UH    0      0        0 tun0
12.12.12.12     fritz.box       255.255.255.255 UGH   0      0        0 eth0
192.168.0.0     10.8.0.5        255.255.255.0   UG    0      0        0 tun0
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
192.168.1.254   fritz.box       255.255.255.255 UGH   0      0        0 eth0

Die farblich gekennzeichnete Route wäre die zum VPN-Server. Die 12.12.12.12 wäre die externe IP. Wenn sich nun dein iPhone gemerkt hat (DNS-Cache) das diese IP zu dem Namen nas.meineddns.de gehört, dann wird er auch den Weg dann nicht über as VPN nehmen. Schau doch auch mal im Log von OpenVPN (Clientseitig) ob Du dort Angaben zum push vom Server hast.

Gruß Frank
 

sugxgus

Benutzer
Mitglied seit
11. Mrz 2014
Beiträge
49
Punkte für Reaktionen
0
Punkte
0
Also ich habe auf dem iPhone über 4G eine Verbindung zu meinem VPN-Server aufgebaut und dann habe ich im Safari http://diskstation:5000 eingegeben und es kommt "Seite kann nicht angezeigt werden" und dann habe ich es auch noch mit "http://nas.mydomain.me" versucht, klappt auch nicht

Muss ich auf dem SERVER vielleicht noch folgenden Eintrag machen?

Rich (BBCode):
push "route 192.168.1.0 255.255.255.0"

und auf meinem Router ein statisches Router erfassen?

Rich (BBCode):
10.8.0.0/255.255.255.0 -> 192.168.1.45

Gruss
 

fpo4711

Benutzer
Mitglied seit
26. Mai 2010
Beiträge
2.772
Punkte für Reaktionen
1
Punkte
0
Muss ich auf dem SERVER vielleicht noch folgenden Eintrag machen?

Rich (BBCode):
push "route 192.168.1.0 255.255.255.0"

Nein, ist völlig Banane wenn Du redirect-gateway aktivierst. Dann läuft eh alles durch den Tunnel. Diese Directive wird eh vom Synology-Server automatisch eingetragen und ist auch nicht schädlich.

und auf meinem Router ein statisches Router erfassen?

Rich (BBCode):
10.8.0.0/255.255.255.0 -> 192.168.1.45

Das ist nur ein Thema wenn auch der Client von der Serverseite erreichbar sein soll. Aber wieso steht da eine IP aus dem gleichen Subnetz wie dein VPN-Server? Grundsätzlich gilt

Clientsubnetz ungleich Tunnelsubnetz ungleich Serversubnetz.

Dein iPhone darf keine feste IP aus dem Serversubnetz haben!

Muß dich aber jetzt in die Obhut anderer übergeben, habe heute noch was vor. Viel Erfolg.

Gruß Frank
 

sugxgus

Benutzer
Mitglied seit
11. Mrz 2014
Beiträge
49
Punkte für Reaktionen
0
Punkte
0
Das ist überhaupt kein Problem, bin doch schon froh das mir Leute versuchen zu helfen, vielen Dank

Damit wir nicht die Übersicht verlieren hier nochmals hoffentlich all hilfreichen Informationen.

DOMAIN

Rich (BBCode):
extern: mydomain.me
intern: *.mydomain.me  (z.B. nas.mydomain.me oder macmin.mydomain.me)

ROUTER

Rich (BBCode):
192.168.66.1

1.DNS Server: 192.168.66.1
2.DNS Server: Provider
3.DNS Server: Provider

DISKSTATION / OPENVPN SERVER

Rich (BBCode):
192.168.66.45 (wird fix vom Router vergeben)

interner DNS: nas.mydomain.me  (eingetragen im Router)

VPN Pool: 10.8.0.0

SERVER

Rich (BBCode):
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key  # This file should be kept secret
dh dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway"
push "dhcp-option DNS 192.168.66.1"
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3

CLIENT

Rich (BBCode):
dev tun
tls-client
remote mydomian.me 1194
redirect-gateway
pull
proto udp
script-security 2
ca ca.crt
comp-lzo
reneg-sec 0
auth-user-pass

Verbinde ich mich mit dem iPhone über 4G mit meinem VPN-Server, bekomme ich die IP 10.8.0.6 zugewiesen. Und als fest möchte ich dann auf dem iPhone (Safari) "nas.mydomain.me" aufrufen und dann auf mein Diskstation Admin Web-GUI kommen.

So ich hoffe ich habe nicht vergessen und falls doch bitte einfach fragen.

Vielen vielen Dank

Gruss
 

joku

Benutzer
Mitglied seit
06. Mrz 2011
Beiträge
6.664
Punkte für Reaktionen
2
Punkte
164
Und als fest möchte ich dann auf dem iPhone (Safari) "nas.mydomain.me" aufrufen und dann auf mein Diskstation Admin Web-GUI kommen.
Und das funktioniert schon intern ?
So ohne Portangabe und extras, kann ich mir das nicht vorstellen.
Mit der IP Adresse funktioniert es da ?

Gruß Jo
 

sugxgus

Benutzer
Mitglied seit
11. Mrz 2014
Beiträge
49
Punkte für Reaktionen
0
Punkte
0
So ich konnte die Sache nun heute Morgen noch aus einem anderen Wlan testen und es sieht so aus.

VPN-Verbindung über L2TP (VPN-Server auf Diskstation)

DNS: 192.168.66.1 (mein Router wie es sein sollte)
im iPhone steht "Verbunden mit 10.2.0.0" und ich bekomme die IP 10.2.0.1
interne Namensauflösung (nas.mydomain.me) klappt wunderbar

VPN-Verbindung über OpenVPN (VPN-Server auf Diskstation)

DNS1: 8.8.8.8
DNS2: 8.8.4.4
im iPhone steht "Verbunden mit [leer]" und ich bekomme die IP 10.8.0.6
interne Namensauflösung (nas.mydomain.me) klappt nicht wunderbar

Was mir nun mal auffällt ist, dass mein IP-Pool (OpenVPN) ja mit 10.8.0.0 beginnt, weshalb bekomme ich also 10.8.0.6. Gut ich denke ob *.1 oder *.6 ist ja egal.
Zudem steht bei der L2TP Verbindung im iPhone ja "Verbunden mit 10.2.0.0" und über OpenVPN steht nichts, ich weiss nicht ob dies normal ist oder nicht.

Ach ja, wie gesagt verwende ich anstatt meinen internen DNS die IP dann klappt es.

@joku
Ja intern klappt dies schon lange.

Viele Grüsse
 

sugxgus

Benutzer
Mitglied seit
11. Mrz 2014
Beiträge
49
Punkte für Reaktionen
0
Punkte
0
Juhui es klappt, interne Namesauflösung klappt und somit läuft nun "VPN on demand" wie gewünscht.

Hier doch noch die Lösung

SERVER

Rich (BBCode):
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key  # This file should be kept secret
dh dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3

CLIENT

Rich (BBCode):
dev tun
tls-client
remote mydomain.me 1194
redirect-gateway
dhcp-option DNS 192.168.66.1
pull
proto udp
script-security 2
comp-lzo
reneg-sec 8640000
auth-user-pass

Und für "VPN on demand" muss man ja dann noch so eine Config-Datei (mobileconfig) erstellen und da muss man die "DHCP-Option" nicht

Rich (BBCode):
<key>dhcp-option DNS</key>
<string>192.168.66.1</string>

erfassen, sondern (ganz wichtig)

Rich (BBCode):
<key>dhcp-option</key>
<string>DNS 192.168.66.1</string>

und schon nimmt das iOS Gerät dann den gewünschten DNS-Server.

Ich möchte mich auf jeden Fall bei allen ganz recht herzlich für die Hilfe bedanken.

Viele Grüsse
 

fpo4711

Benutzer
Mitglied seit
26. Mai 2010
Beiträge
2.772
Punkte für Reaktionen
1
Punkte
0
Gratuliere!

Was mir nun mal auffällt ist, dass mein IP-Pool (OpenVPN) ja mit 10.8.0.0 beginnt, weshalb bekomme ich also 10.8.0.6. Gut ich denke ob *.1 oder *.6 ist ja egal.

Und auch das ist völlig korrekt. Siehe topology net30 bei Interesse.

Gruß Frank
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat