OpenVPN: Wahlweise ALLES oder nur DNS drüber laufen lassen...

WulfmanGER

Commander
Registriert
Juli 2005
Beiträge
2.346
Hallo zusammen,

ich nutze auf einem RaspberryPi neben pi.hole auch piVPN (OpenVPN). Aktuelle Konfiguration sieht so aus:

IP des PIs: 172.20.5.201
IP für VPN-Clients die sich da anmelden: 10.80.0.x

Mir ging es bei dem VPN primär darum PushDNS nutzen zu können - also das mein Handy/Tablet im fremden WLAN/LTE den DNS-Server zu hause nutzt (pi.hole) => Das klappt auch. Aktuell hab ich das aber noch so konfiguriert das sämtlicher Traffic über das VPN geht. Das ganze klappt recht gut. (Mein These das man via Smartphone eigentlich nicht mehr als 10-20Mbit braucht, zeigen sich hier übrigens nebenbei bestätigt - habe zuhause nur 10Mbit Upload und ich merke das so gut wie gar nicht auf dem Handy/Tablet wenn ich den kompletten Traffic drüber leiten lassen ...)

=> eigentlich bin ich so schon zufrieden. Ich bin jetzt aber StreamOn-Kunde. Leite ich sämtlichen Verkehr über das VPN, kostet mich Youtube etc. ordentlich Traffic. Daher muss ich die Konfig ändern.

Ich benötige eine andere Lösung, die so aussehen sollten (machbar?):

Am Handy (iOS; per OpenVPN-App) und am Tablet (Android; OpenVPN-App) würde ich gerne Wählen ob ich den ganzen Traffic drüber jage oder nur DNS plus den LOKALEN Traffic (also 172.20.5.x geht immer durchs VPN). Mehrere Client-Configs kann ich unter Android/iOS eintragen. Hätte dann also eine "ALL"-Config und eine "Only-DNS/LAN"-Config ... aber ...

Wie ich das bisher sehen konnte, kann ich das aber nur Serverseitig Konfigurieren? Also entweder ich leite ALLES durch oder nur DNS (wobei Lokal trotzdem ins Internet versucht wird zu routen - klappt natürlich nicht ... deswegen hab ich aktuell die ALLES-Version konfiguriert)

Kurz zusammengefasst also:
* Wie bekomme ich OpenVPN konfiguriert das nur DNS-Abfragen und der Lokale Traffic (also 10.8.0.0 und 172.20.5.0) drüber laufen?
* Kann ich OpenVPN so konfigurieren das der Client bestimmt ob alles oder nur DNS+Lokal drüber geht?
* Für WLAN mit der SSID xyz soll NIE VPN aktiviert werden. Sonst wäre dauerhaft durchaus eine Option.

Hat da jemand Tipps wie ich das teil also konfigurieren müsste?

Danke schon mal
Wulfman
 
Wulfman_SG schrieb:
* Wie bekomme ich OpenVPN konfiguriert das nur DNS-Abfragen und der Lokale Traffic (also 10.8.0.0 und 172.20.5.0) drüber laufen?
Würde hier einfach mit 2 OpenVPN-Profilen arbeiten, die Du dann auch in den Apps konfigurierst und bei Bedarf eben auswählst.
Also für jeden der zwei Fälle (nur DNS oder eben alles) einen.
Einmal halt "alles" drüber leiten (gibbet ja ne Option für,. z.B. im Standard setzen) und einmal eben diese deaktiviert unter Angabe der IPv4 Local Networks (also Dein Netzwerk, auf das du zugreifen willst). Das kannste dann für den 2. User als Client Specific Override machen. Technisch wird dann, wenn Du TUN nutzt, einfach eine Route im Client vom OpenvPN-Client eingetragen.
Wulfman_SG schrieb:
* Kann ich OpenVPN so konfigurieren das der Client bestimmt ob alles oder nur DNS+Lokal drüber geht?
Wenn Du die nicht pushst kannst Du Dir ja selbst in Deinen WLAN-Einstellungen nen DNS-Server fix eintragen... seeehr unkomfortabel... Gehen wirds denk ich.
Via LTE AFAIK nicht, allerdings nutze ich OpenVPN eher dazu, dass der Client genau das NICHT darf (Firmennetzeinwahl)
Wulfman_SG schrieb:
* Für WLAN mit der SSID xyz soll NIE VPN aktiviert werden. Sonst wäre dauerhaft durchaus eine Option.
Unter iOS gehts nicht, da Apple den Bereich VPN eh rel. dicht macht für alles, was nicht ausm iOS Client selbst kommt. Unter Android wirds vermutlich gehen, aber von Android hab ich keine Ahnung.

Hoffe das hilft ein bissl.
 
Also explizit DNS kannst du nicht über das VPN leiten, wenn du nicht mittels PBR (Policy Based Routing) den Ziel-Port 53 durch das VPN routest. Bei Windows ist PBR nicht möglich, bei Linux schon. Inwiefern das aber auch für Android gilt, kann ich ehrlich gesagt nicht beurteilen. Ohne root wird da aber nix gehen. Was iOS betrifft: Im Zweifelsfalle geht das sowieso nicht.

Aber: Man kann ganz gewöhnlich die Ziel-IP routen. Innerhalb einer server.conf kann man einem Client via push "route die.dns.ip 255.255.255.255" eine Route mitgeben, die der Client dann bei sich einpflegt und via VPN routet. Parallel dazu sollte man natürlich das "redirect-gateway" entfernen, sei es als push-Anweisung in der server.conf oder lokal in der client.conf.
Man kann sogar noch einen Schritt weitergehen und dem Client mittels "push dhcp-option dns die.dns.ip" explizit einen ganz bestimmten DNS verpassen. Passt das Routing (s.o.) kann man da direkt die lokale LAN-IP des pi-hole eingeben oder aber man nutzt die VPN-IP des VPN-Servers als DNS-IP und lässt diesen einfach mittels NAT die DNS-Requests an den pi-hole weiterleiten.
 
geisterfahrer18 schrieb:
[* Für WLAN mit der SSID xyz soll NIE VPN aktiviert werden. Sonst wäre dauerhaft durchaus eine Option. ]

Unter iOS gehts nicht, da Apple den Bereich VPN eh rel. dicht macht für alles, was nicht ausm iOS Client selbst kommt. Unter Android wirds vermutlich gehen, aber von Android hab ich keine Ahnung.

Das sollte auch unter iOS gehen. mit dem Apple Configurator kann man eigene VPN Profile erstellen. Sinnvollere, als im Menü "Einstellungen".
Ich habe mir so unter anderem 2 VPN Profile erstellt.
1. Dauerhafte VPN Verbindung, wenn ich nicht im WLAN bin.
2. VPN Verbindung aufbauen, wenn ich versuche eine meiner lokalen Adressen zu erreichen.

Zugegeben, einen IP Bereich kann man nicht mehr einstellen. Deswegen musste ich den Umweg über lokale Adressen (service1.meinedomain.de, host2.meinedomain.de,...) machen. das hat aber auch den Vorteil, dass man sich die IP nicht merken braucht :)

Ich habe allerdings kein "Trenne VPN bei WLAN xyz" eingerichtet. Möglich soll es damit aber wohl sein.
 
Das sollte auch unter iOS gehen. mit dem Apple Configurator kann man eigene VPN Profile erstellen. Sinnvollere, als im Menü "Einstellungen".
Ah OK. Werd ich mir mal angucken, hatte da nach Abkündigung der alten Lösung irgendwie nie mehr nach nem Nachfolger geguckt. Danke für den Hinweis"
 
Huch viele Fachbegriffe ;)
Ich war froh das ich es hinbekommen habe, wie es jetzt läuft ;)

geisterfahrer18 schrieb:
Würde hier einfach mit 2 OpenVPN-Profilen arbeiten, die Du dann auch in den Apps konfigurierst und bei Bedarf eben auswählst.
also 2 .opvn-Dateien ... das ist ja das was ich am Ende will. Auf diesen Wege hätte ich 2 Profile im VPN-Client. ABER: es stellt sich mir so dar, das eben dieses gepushe etc. serverseitig konfiguriert wird - nicht per Client-Profile. Ich sehe in den opvn-Dateien nichts was ausschaut als könnte ich hier sagen "Schieb ALLES drüber" "mach nur DNS-Abfragen und LAN-Traffic drüber" - mir stellt sich das so da als müsste ich mich hier SERVERSEITIG festlegen? Also entweder/oder...


geisterfahrer18 schrieb:
Wenn Du die nicht pushst kannst Du Dir ja selbst in Deinen WLAN-Einstellungen nen DNS-Server fix eintragen... seeehr unkomfortabel... Gehen wirds denk ich.
was bei iOS so z.b. nicht klappt. Das war das große Problem bei dem Fritz!Box-VPN und dem iOS-VPN-Client. Das VPN macht kein Push-VPN -> unter Android kein Problem - bei der WLAN-Verbindung trag ich, sehr unkonfortabel, den DNS-Server hinter dem VPN ein - Fertig. Bei IOS ging das nicht. Daher nutze ich nun ja eher OpenVPN (und weil ich den Pi wegen pi.hole eh laufen habe...) und sowohl unter iOS als auch Android die OpenVPN-App. Unter Android kann man viel in der Konfig machen unter iOS eher nicht soviel.

Raijin schrieb:
Man kann sogar noch einen Schritt weitergehen und dem Client mittels "push dhcp-option dns die.dns.ip" explizit einen ganz bestimmten DNS verpassen
genau das steht in der OpenVPN-SERVER-Konfig und das klappt sowohl mit Android als auch iOS


Raijin schrieb:
Aber: Man kann ganz gewöhnlich die Ziel-IP routen. Innerhalb einer server.conf kann man einem Client via push "route die.dns.ip 255.255.255.255" eine Route mitgeben, die der Client dann bei sich einpflegt und via VPN routet.
Ich deaktieviere also das "schick alles drüber" (wie auch immer das konfiguriert ist; komme gerade nicht an die server.conf ... aber finde ich sicher *G*) und trage folgendes ein
push route 172.20.5.1 255.255.255.255
push route 172.20.5.2 255.255.255.255
push route 172.20.5.3 255.255.255.255
falls ich diese 3 Clients (die aber lokale DNS-Namen haben client1.lan, client2.wlan, client3.plc) via VPN erreichen möchte? Folge: durch push dhcp-option dns ... wird der pi.Hole als DNS-Server genutzt (wie bisher), 172.20.5.10 landet, richtigerweise, im Nirwana (kein routing hin), blabla.tld wird mit 322.38.2.4 (ich weiß 322...) via pi.hole aufgelöst, der restliche traffic geht aber am VPN vorbei.

spcqike schrieb:
1. Dauerhafte VPN Verbindung, wenn ich nicht im WLAN bin.
2. VPN Verbindung aufbauen, wenn ich versuche eine meiner lokalen Adressen zu erreichen.
so sollte es sein. Wobei halt: auch VPN bei nicht meinem WLAN.


===>> ich gucke mir die Tage mal die server.conf und noch mal die von piVPN/openVPN erstellte opvn. Wenn noch was unklar ist, stelle ich mal beides rein ... dann ist vielleicht auch gezielteres helfen möglich :). Habt mir schon mal ein wenig geholfen! Danke

Danke schon mal!
 
Wulfman_SG schrieb:
Ich deaktieviere also das "schick alles drüber" (wie auch immer das konfiguriert ist; komme gerade nicht an die server.conf ... aber finde ich sicher *G*) und trage folgendes ein
"Schicke alles über VPN" = redirect-gateway [def1 | bypass-dhcp]
Wenn du das auskommentierst (also ; davor), dann wird der VPN-Tunnel ausschließlich zwischen Server und Client hergestellt und das war's. Wenn nun nicht explizit noch route-statements in der .conf sind - sei es beim Client oder beim Server - hat man eine reine Punkt-zu-Punkt-Verbindung. Das nutzt man beispielsweise, wenn man nur auf den VPN-Server zugreifen will und auf nichts anderes - zB wenn der VPN-Server im NAS sitzt und man einfach nur von unterwegs aus dem Hotel, etc. auf das heimische NAS zugreifen möchte.


Ein vereinfachtes Beispiel:

Zwei lokale Netzwerke, Büro (192.168.1.0 /24) und Werkstatt (192.168.2.0 /24). Client sitzt im Büro-Netzwerk, das Werkstatt-Netzwerk ist über den lokalen Router erreichbar.

client_ohnelokaleroute.conf
Code:
[..]
redirect-gateway def1

In diesem Fall würde der Client eben buchstäblich alles über das VPN routen, was nicht direkt lokal erreichbar ist. Da sich das Werkstatt-Netzwerk hinter dem lokalen Router befindet und somit standardmäßig über das Standard-Gateway erreicht wird, würde der Büro-PC die Verbindung in die Werkstatt verlieren, weil alle Verbindungen dorthin ja zum VPN-Server geschickt werden, der in der Regel keinen blassen Schimmer vom Büro- bzw. Werkstatt-Netzwerk hat - der Server kann immerhin auch fremdverwaltet sein, zB von Cyberghost, etc.

client_mitlokalerroute.conf
Code:
[..]
redirect-gateway def1

route 192.168.2.0 255.255.255.0 192.168.1.1

Mit dieser Konfiguration sagt der Client dem OpenVPN nun, dass er einerseits "alles" über das VPN leiten möchte, aber speziell das Werkstatt-Netzwerk soll doch bitte weiterhin lokal geroutet werden.



Sowohl das redirect- als auch route-statement können lokal in der client.conf definiert werden oder von der server.conf aus zum Client gepusht werden.
Ergänzung ()

Übrigens: Lässt man bei der route-Anweisung den 3. Parameter, das Gateway, weg, wird implizit der VPN-Server als Gateway verwendet.

route a.b.c.d 255.255.255.255

und

route a.b.c.d 255.255.255.255 10.8.0.1

sind also äquivalent, vorausgesetzt der VPN-Server hat die VPN-IP 10.8.0.1.
 
Zuletzt bearbeitet:
Ich wage mich zu erinnern, dass #redirect-gateway def1 nur für die DNS Abfrage war und ohne "#" der gesammte Traffic über den VPN läuft.

Wäre das mit "#" nicht einfach gelöst für das Vorhaben des TE's?
 
redirect-gateway ändert die Standard-Route, also bei "route print" die 0.0.0.0 Route (und ggfs die 127.0.0.0 Route). Mit dhcp-option dns a.b.c.d setzt man einen DNS-Server, aber ich würde mich wundern, wenn das gleichzeitig das Routing anfassen würde. Wenn also keine explizite Route für den DNS als Ziel gesetzt wird - sei es explizit via VPN oder via lokalem Router, würde die Standard-Route greifen. Mit redirect-gateway würde der DNS dann via VPN und ohne redirect würde er lokal geroutet werden.

Da hier aber gezielt danach gefragt wird wie man teils VPN teils lokal routet, muss man eben mit redirect-gateway und/oder route-Anweisungen arbeiten. Sonst geht alles oder (fast) nichts über das VPN.
 
Dank noch mal ;)

hier mal die aktuelle Server-Konfig in der Variante "schieb alles rüber" (DNS, Internet, LAN auf VPN-Serverseite)

server.conf
Code:
dev tun
proto udp
port 1194
ca /etc/openvpn/easy-rsa/pki/ca.crt
cert /etc/openvpn/easy-rsa/pki/issued/hierstehtwas.crt
key /etc/openvpn/easy-rsa/pki/private/hierstehtwas.key
dh /etc/openvpn/easy-rsa/pki/dh2048.pem
topology subnet
server 10.8.0.0 255.255.255.0
# server and remote endpoints
ifconfig 10.8.0.1 10.8.0.2
# Add route to Client routing table for the OpenVPN Server
push "route 10.8.0.1 255.255.255.255"
# Add route to Client routing table for the OPenVPN Subnet
push "route 10.8.0.0 255.255.255.0"
# your local subnet
push "route 0.0.0.0 "
# Set your primary domain name server address for clients
push "dhcp-option DNS 10.8.0.1"
push "dhcp-option DNS 172.20.5.201"
# Override the Client default gateway by using 0.0.0.0/1 and
# 128.0.0.0/1 rather than 0.0.0.0/0. This has the benefit of
# overriding but not wiping out the original default gateway.
push "redirect-gateway def1"
client-to-client
keepalive 10 120
remote-cert-tls client
tls-version-min 1.2
tls-auth /etc/openvpn/easy-rsa/pki/ta.key 0
cipher AES-256-CBC
auth SHA256
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
crl-verify /etc/openvpn/crl.pem
status /var/log/openvpn-status.log 20
status-version 3
log /var/log/openvpn.log
verb 1
client-config-dir /home/pi/ccd
# Generated for use by PiVPN.io

Damit ich nur noch DNS-Abfragen darüber mache, müsste ich also:
Code:
push "redirect-gateway def1"
<- ausklammern #

Da ich ja Push-DNS drin habe (10.8.0.1) + dazugehöriges Push-Route, geht sämtlicher Traffic, außer DNS (und was sonst noch zur 10.8.0.0 geht), am VPN vorbei.

Pi.Hole, gerade erst eingefallen, löst "böse" DNS-Abfragen in Richtung 172.20.5.201 auf (also auf dein EIGENEN http-Server). Da ich ja eh Routing setzen muss um ins LAN auf VPN-Serverseite zu kommen, sähe die nächste Änderung also so aus:
ich erweitere die Konfig um:
Code:
push "route 172.20.5.201 255.255.255.255 10.8.0.1"
Oder ... da ich ja komplett 172.20.5.0 im fremden Netz nutzen möchte:
Code:
push "route 172.20.5.0 255.255.255.255 10.8.0.1"

==>> jetzt hätte ich also eine Konfig die DNS, LAN (VPN-Serverseite) durch den Tunnel jagt. Der ganze restliche Traffic geht somit am VPN vorbei.
Wenn ich das richtig verstanden habe -> Perfekt für Lösung 1 ;)


Ich hatte aber ja die Idee das ich im Client 2 Konfigs habe: einmal wird nur DNS/LAN durchgejagd und einmal wirklich alles (besser für manche Länder ...). Das muss ich dann ja per CLIENT-Konfig machen und den Aufbau versteh ich da nicht:

Beispiel meiner Konfig fürs iphone.ovpn
Code:
client
dev tun
proto udp
remote schoene.adresse.tld 1194
resolv-retry infinite
nobind
persist-key
persist-tun
key-direction 1
remote-cert-tls server
tls-version-min 1.2
verify-x509-name hierstehtwas name
cipher AES-256-CBC
auth SHA256
comp-lzo
verb 1
...zertifkatzeugs...

Der Aufbau ist ja gänzlich anders als der von der server.conf. Was müsste ich jetzt also ändern das ich 2 Konfigs pro Client nutzen kann.

Das ist also vermutlich die falsche Konfig ;)

Google lässt mich dieses hier finden: https://github.com/OpenVPN/openvpn/blob/master/sample/sample-config-files/client.conf ... sieht vom Syntax ja ähnlich der server.conf aus. Aber wie nutze ich die? Oder doch die ovpn (wäre mir lieber - da besser für MICH zu managen)
 
Raijin schrieb:
Da hier aber gezielt danach gefragt wird wie man teils VPN teils lokal routet, muss man eben mit redirect-gateway und/oder route-Anweisungen arbeiten. Sonst geht alles oder (fast) nichts über das VPN.

Mit alles wäre dann mit
Code:
#redirect-gateway def1

Was meinst du denn mit "fast"?

@Wulfman_SG, wenn du es ausklammerst, geht der gesammte Traffic über die VPN Verbindung.
 
jetzt bin ich verwirrt. Ich hab "redirect-gateway def1" drin stehen. Kein # davor. Wenn ich jetzt das VPN starte (gerade im Test bei iOS) und rufe eine Webseite auf, steigt der Traffic durch das VPN auf 1,6Mbyte. Generell sehe ich das der Traffic gemütlich steigt (Hintergrunddienste...). 1,6Mbyte schaffe ich nicht mit DNS bei Aufruf von heise.de ;)

"redirect-gateway def1" (oder was auch immer in meiner obigen Konfig) schiebt also den gesamten Traffic über das VPN. Kann gerade nicht ausklammern und dann testen. Erst gegen Abend.

Ich denke er meint mit "fast" => wenn ich es ausklammer geht nur noch DNS rüber (push dns hab ich ja gesetzt) und wenn ich dann noch die route setzte, geht halt noch der LAN-Verkehr drüber. Also fast nichts ;)
 
Welch ein Irrtum. Ja, ohne # geht 100% alles über die VPN. Das "Ausklammern" hat mich irritiert und dann habe ich das sogar noch andersrum geschrieben.

Sorry.
 
ich hab jetzt redirect-gateway def1 "entfernt". Das klappt. computerbase bringt im Tunnel nur DNS-Traffic. Den DNS-Traffic sehe ich im pi.hole-Log ... GUT.

Aber mit dem Routing ins LAN stimmt was nicht
Wulfman_SG schrieb:
push "route 172.20.5.0 255.255.255.255 10.8.0.1"

das klappt nicht.... hab auch ohne die 10.8.0.1 probiert .. geht auch nicht.
(restart nach Änderung natürlich durchgeführt)
Fehlt noch was? Oder muss das an einer bestimmten Stelle stehen ... ich hab es zur Übersicht erstmal nur unten reingehauen

(auf die pi.hole-GUI komme ich - ich kann leider nicht vom iPhone den DNS auflösen - aber ich nehme mal an das pi.hole auf 10.8.0.1 auflöst und daher klappt das)

EDIT: Fehler gefunden
push "route 172.20.5.0 255.255.255.0"
nicht .255

Jetzt muss ich das "alles über das VPN" bzw. "Nur DNS/LAN" noch Profilbasiert hinbekommen. Also 2 Profile am Handy ... Alles / DNS+LAN. .... ich hab aber auch immer so Anwendungsfälle ... :(
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: spcqike
Vielleicht kannst du ja deine Erkenntnisse und Einstellungen nach Abschluss noch einmal kurz zusammenfassen und im Startpost verlinken. Damit der nächste der etwas ähnliches machen möchte sich daran langhangeln kann :)

Hast du das jetzt auch auf deinen iOS gerät hinbekommen? Ich hab mich beim bearbeiten der Profil Datei echt schwer getan. Die Dokumentation für den configurator ist echt bescheiden :/ die muss ich bei mir auch noch einmal anfassen wenn ich dafür Zeit habe :D
 
spcqike schrieb:
Vielleicht kannst du ja deine Erkenntnisse und Einstellungen nach Abschluss noch einmal kurz zusammenfassen

Ich kann ja jetzt nur etwas zu piVPN sagen, welches ich in Kombi mit pi.hole auf einem Raspberry Pi nutze.

Die oben genannte Konfig (zu finden in /etc/openvpn/server.conf ... Root nötig zum bearbeiten) ist ja die Standardkonfig die mir piVPN beim installieren erstellt hat.

Die Standardkonfiguration unterscheidet sich zu meiner Anforderung minimal.
Meine Anforderung war ja:
a) Ich möchte NUR DNS und LAN-Traffic über das VPN schieben
=> standardmäßig schiebt die Konfiguration ALLES durch das VPN (kann von Vorteil sein ... ich würde sogar behaupten das ist für NICHT StreamON-User sogar Trafficschonender [wobei bei vermutlich ab 1GByte Volumen irrlevant ist...])
b) ich möchte am Endgerät/Client bestimmen ob ALLES drüber oder "NUR DNS/LAN"

Für a ist die Lösung recht simple:

Code:
push "redirect-gateway def1"
davor muss ein # gesetzt werden. Jetzt geht nur noch das über das VPN was per push dns und per route definiert ist.

Code:
push "route 172.20.5.0 255.255.255.0"
damit sorge ich dafür das mein LAN durch das VPN erreichbar ist. Die IP muss natürlich angepasst werden. Die meisten werden wohl so was haben wie 192.168.0.0/24 -> hier müsste dann 192.168.0.0 255.255.255.0 eingetragen werden.

Für b fehlt mir noch die Lösung. Das ist jetzt das nächste Thema ... Mir ist klar das ich da 2 Client-Konfigurationen benötige. Nur wie diese .ovpn-Dateien ausschauen müssen, weiß ich noch nicht. Der Konfigurator von piVPN wird mir die nicht erstellen. Die Standardkonfig per Hand editieren ist aber ja kein Problem.

Mhhh ... es gibt im Verzeichnis /home/pi/ccd client-Konfigurationen für jeden VPN-Host ... muss ich die vielleicht ändern? Wobei die Client-IP die ich dort stehen habe, wird nicht übernommen. Mein iPhone sollte eigentlich die 101 bekommen ... bekommt aber die 2 ... das muss ich noch irgendwie ändern. Ich mag saubere Logs ... wenn alle VPN-Clients die 2 nutzen - bzw. bei Nutzung dann +1, ist das doof ;)

spcqike schrieb:
Hast du das jetzt auch auf deinen iOS gerät hinbekommen?
Habe die offizielle OpenVPN-App auf dem iPhone. Ich lade einfach die opvn-Datei (was auf iOS lustigerweise leichter ist als bei Android ...) in die App, gebe das definierte Passwort ein -> Fertig. Leider ist das ganze nicht so stabil. Netzwechsel überlebt die VPN-Verbindung nicht (reconnect erfolgt nicht ... zumindest bei alten iOS-Versionen gab es einen sauberen reconnect zu fritz!vpn) ... muss also das ganze über die App halb manuell handhaben. Ich hätte gerne bei MobFu und FremdWLAN IMMER eine VPN-Verbindung - mit reconnect bei wechsel. K.a. wie ich das mache :(

Zu Android kann ich noch nicht sagen.
 
Wulfman_SG schrieb:
EDIT: Fehler gefunden
push "route 172.20.5.0 255.255.255.0"
nicht .255
Klar, die Subnetzmaske muss passen.

255.255.255.255 heißt: exakt diese IP
255.255.255.0 heißt: Jede IP, bei der die ersten 3 Zahlen übereinstimmen
 
Zweites Problem ist jetzt auch gelöst. "ALLES drüber" (2 Client-Konfigurationen)

Lösung liegt in /home/pi/ccd ...

* Erstmal wird mit pivpn -a ein neuer Client hinzugefügt - z.b. smartphonecomplete
* Jetzt wird unter /home/pi/ccd eine Datei namens smartphonecomplete erstellt
* folgender Inhalt:
Code:
push "redirect-gateway def1"

Jetzt geht ALLES über das VPN

Möchte man dem VPN-Client übrigens eine feste IP zuordnen (also Kontrollfreaks wie ich machen das z.b. :p), trägt man in die gleiche Datei
Code:
ifconfig-push 10.8.0.xxx 255.255.255.0
ein (xxx = ist natürlich auszuwählen ... .1 ist belegt durch den Tunnel ... ich weiß auch noch nicht nach welchen regeln Dynamisch verteilt wird ... wie es ausschautl: Erster Client: 2, zweiter Client 3 ... somit würde ich hier, falls man auch mit dynamischen Adressen arbeiten möchte - eher was dreistelliges wählen - da sollten Konflikte im HEIMBETRIEB ausgeschlossen sein ;)

Jetzt noch die .ovpn-Datei ins Smartphone schieben -> fertig

Erste Tests soweit erfolgreich. Hab allerdings ein schwerwiegenderes pihole-Problem - daher ist das mit dem testen gerade etwas schwerer. Jedenfalls verursachen bei Config 1 (DNS/Local) 3 Apps < 100kb ... Config 2 (All) > 500kb. Wen das Thema interessiert, kann das bitte mal näher beta-testen :)

[es gibt auch ein push-reset-befehl - der Überschreibt wohl die Serverconfig ... aber das normale Push überschreibt die ja auch?!]
 
Zuletzt bearbeitet:
Hallo zusammen

hab irgendwie noch leichte Probleme ...

Ich hab auf meinem iPhone jetzt 2 Profile: "ALLES" (es geht der komplette Traffic über VPN) und "DNS/LAN" (nur DNS und LAN gehen über VPN).

Per LTE klappen beide Profile wie sie sollen (gibt nur eine komische Fehlermeldung -> unten). Im WLAN (z.b. Telekom Hotspot) sieht das so aus:

"ALLES":
* Verbindung wird aufgebaut und bleibt bestehen
* LAN-Traffic geht rüber (also mein Server erreiche ich mit Lokaler Adresse)
* WAN-Traffic geht überhaupt nicht. Timeout der http(s)-Verbindung.

"DNS/LAN":
* Verbindung wird aufgebaut und springt auf "pausing (network is unavailable"
Log:
2018-08-13 10:53:52 NIP: iOS reported network status unavailable
2018-08-13 10:53:52 OS Event: NET UNAVAILABLE (PAUSE): Internet:NotReachable/-R tc-----
2018-08-13 10:53:52 EVENT: PAUSE
2018-08-13 10:53:53 NIP: iOS reported network status available
2018-08-13 10:53:53 OS Event: NET AVAILABLE (RESUME): Internet:ReachableViaWiFi/-R t------ allow=1
2018-08-13 10:53:56 RECONNECT TEST: Internet:ReachableViaWiFi/-R t------
2018-08-13 10:53:56 ACTIVE PAUSE
2018-08-13 10:53:57 RESUME TEST: Internet:ReachableViaWiFi/-R t------
2018-08-13 10:53:57 STANDARD RESUME


Wenn ich jetzt per LTE die beiden Varianten probiere:
* Verbindung wird aufgebaut und bleibt bestehen
* LAN-Traffic geht rüber (also mein Server erreiche ich mit Lokaler Adresse)
* WAN geht entsprechend des Profils entweder über das VPN oder eben über LTE
=> keine Probleme. Ich bekomme im Log aber folgenden Fehler:
UDP send error: SYSTEM/No route to host
Mhh? Spüre aber wie gesagt keine Auswirkungen.


Dann noch eine kleine Frage:
# server and remote endpoints
ifconfig 10.8.0.1 10.8.0.2
Was macht das genau? 10.8.0.2 wäre die IP wenn ich nicht ifconfig-push in der client-config nutzen würde. Per Push verteile ich 101, 102 und 103. 2 gibt es also gar nicht. Muss ich hier bei ifconfig die 10.8.0.2 durch die 101, 102, 103 ersetzen oder kann ich sogar die Zeile komplett entfernen?#

Danke schon mal
 
Zuletzt bearbeitet:
Poste bitte nochmal deine vollständige Server- und Client-Konfiguration sowie die ccds. Falls du noch die Kommentare drin hast, darfst du die gerne vorher entfernen, dann wird's übersichtlicher. Gerade für ccds sehe ich nämlich keinen Grund, weil das lediglich gerätespezifische Kommandos sind, die eben nur bei dem jeweiligen VPN-Client ausgeführt werden. Dasselbe würde man aber erreichen, wenn man die Kommandos direkt in die client.conf einfügt. ccds können das ganze Setup daher unnötig verkomplizieren und als Außenstehender verliert man da leicht den überblick bei den Bruchstücken, die du postest :-/

Eine Basiskonfiguration für OpenVPN ist sowohl beim Server als auch beim Client nur wenige Zeilen lang und ccds sind irrelevant. ccds werden erst dann relevant, wenn man wirklich server-seitig client-spezifische Änderungen vorgeben will. Ich persönlich modifiziere dann aber lieber die jeweilige client.conf.
 
Zurück
Oben