"Live" configurations wechsel.

MMD*

Benutzer
Mitglied seit
26. Okt 2014
Beiträge
400
Punkte für Reaktionen
0
Punkte
22
Hallo,

Seit ungefehr 1 jahr benutze ich OpenVPN server aufs NAS mit eigene certifikaten, keys, Diffie Hellman und einiges mehr.

Bis jetzt funzt das alles gut aber fur denn fall mal kein VPN moglich ist (noch nicht erlebt) durch blockierung von ports hab ich mir gedacht zwei configurationen zu erstellen die ich dan "remote" wechseln mochtte mittels starten von ein script.
Standaard nutze ich UDP.

Da ich so ungefehr 0 kenntnisse habe von scripts brauch ich also ihre hilfe.
Also, remote uber OpenVPN UDP/21194 einloggen, mit hand ein script starten das dafur sorgt das die configuration wechselt auf TCP/443.
Beide server configurationen functionieren, hab sie unten angehangt nur die ip`s und ports sind nicht die wirkliche.

Das script sol also den VPN server stoppen
dan die UDP config umbenennen von openvpn.conf.user nach openvpn.conf.user.udp
dan die TCP config umbenennen von openvpn.conf.user.tcp nach openvpn.conf.user
und als letzte den VPN server starten

Vielen dank im voraus.
 

Anhänge

  • openvpn.conf.user.udp.zip
    557 Bytes · Aufrufe: 2
  • openvpn.conf.user.tcp.zip
    560 Bytes · Aufrufe: 2
Zuletzt bearbeitet:

dil88

Benutzer
Mitglied seit
03. Sep 2012
Beiträge
28.577
Punkte für Reaktionen
3
Punkte
644
Bin sicher, dass sich dafür eine Lösung finden wird. Ich schaue es mir heute Abend ggfs. auch einmal an. Den umgekehrten Weg möchtest Du vermutlich ebenfalls haben, richtig?
 

MMD*

Benutzer
Mitglied seit
26. Okt 2014
Beiträge
400
Punkte für Reaktionen
0
Punkte
22
Erst mal schon dank :)

Ja richtig aber ich denke wen ich das script habe werde ich das schon schaffen.
 

dil88

Benutzer
Mitglied seit
03. Sep 2012
Beiträge
28.577
Punkte für Reaktionen
3
Punkte
644
Man könnte da ein bisschen Grips 'reinbringen, so dass das Skript einfach schaut, welche Dateien da sind, und dann anhand des Kontextes automatisch das Richtige tut. ;)
 

MMD*

Benutzer
Mitglied seit
26. Okt 2014
Beiträge
400
Punkte für Reaktionen
0
Punkte
22
Gib mir bitte ein bisschen zeit zu verstehen was du da schreibst, bin ja kein Deutscher :)
 

MMD*

Benutzer
Mitglied seit
26. Okt 2014
Beiträge
400
Punkte für Reaktionen
0
Punkte
22
Aha, ich denke ich verstehe jetzt.

Mit "anhand des Kontextes automatisch das Richtige tut" meinst du das das script schaut welches proto aktuel genutzt wird und dan umschaltet nach das andere?
 

dil88

Benutzer
Mitglied seit
03. Sep 2012
Beiträge
28.577
Punkte für Reaktionen
3
Punkte
644
Es reicht vermutlich schon zu schauen, welche Config gerade nicht genutzt wird, auch wenn Dein Ansatz prinzipiell robuster wäre.
 

MMD*

Benutzer
Mitglied seit
26. Okt 2014
Beiträge
400
Punkte für Reaktionen
0
Punkte
22
Ok verstehe, auf die wijze werd eine dritte config nicht gehen denk ich?
 

dil88

Benutzer
Mitglied seit
03. Sep 2012
Beiträge
28.577
Punkte für Reaktionen
3
Punkte
644
Möglicherweise schon, wenn es eine klare Reihenfolge gibt. Müsstest Du definieren, dann kann man sich das ansehen.
 

MMD*

Benutzer
Mitglied seit
26. Okt 2014
Beiträge
400
Punkte für Reaktionen
0
Punkte
22
Dan hat man also nicht die "freie Wahl" sondern muss man sich die Reihenfolge merken.
Und nach Ausführung von das script das richtige profiel im Client wechseln.

Das Vorteil wehre dann das man nur ein script ansprechen/merken muss.
Hab ich das richtig verstanden?
 

dil88

Benutzer
Mitglied seit
03. Sep 2012
Beiträge
28.577
Punkte für Reaktionen
3
Punkte
644
Das wäre eine Mögilchkeit. Eine andere könnte eine Kommandozeilen Option sein, eine dritte, dass man pro gewünschter Variante ein eigenes Skript aufsetzt.
 

MMD*

Benutzer
Mitglied seit
26. Okt 2014
Beiträge
400
Punkte für Reaktionen
0
Punkte
22
"dass man pro gewünschter Variante ein eigenes Skript aufsetzt"

Dass war mein anfangs Idee. Standard nutze ich immer UDP und wen das nicht geht such ich mir ein (andere) hotspot und führe das tcpscript aus und wechsle profiel auf `m client.
Was am einfachste geht wurde schon gut sein.

Ein "danke Knopf" fehlt noch im Forum :)
 

dil88

Benutzer
Mitglied seit
03. Sep 2012
Beiträge
28.577
Punkte für Reaktionen
3
Punkte
644
Ich fange 'mal mit einer Minimallösung an. Ich finde bei mir allerdings nur eine openvpn.conf. Pass das und die Pfade ggfs. einfach an.

Ok, los gehts:

Rich (BBCode):
#!/bin/sh

/volume1/@appstore/VPNCenter/scripts/openvpn.sh stop
mv /volume1/@appstore/VPNCenter/etc/openvpn/openvpn.conf /volume1/@appstore/VPNCenter/etc/openvpn/openvpn.conf.udp
mv /volume1/@appstore/VPNCenter/etc/openvpn/openvpn.conf.tcp /volume1/@appstore/VPNCenter/etc/openvpn/openvpn.conf
/volume1/@appstore/VPNCenter/scripts/openvpn.sh start

Besser wäre es, über ein syno-Programm zu stoppen und zu starten, aber ich habe es über synoservice nicht hinbekommen. Und synoservicectl finde ich auf meinem DSM 4.3 nicht. Du könntest Dir einmal synoservicectl --help ansehen und die Stop- und Start-Zeilen durch Aufrufe von synoservicectl ersetzen.
 

MMD*

Benutzer
Mitglied seit
26. Okt 2014
Beiträge
400
Punkte für Reaktionen
0
Punkte
22
Vielen dank, sieht nicht so ganz schwierig aus :) Bin jetzt ans kochen, melde mich später.
 

MMD*

Benutzer
Mitglied seit
26. Okt 2014
Beiträge
400
Punkte für Reaktionen
0
Punkte
22
So, habe den VPN Server auf TCP eingestellt und das script nach Anpassung versucht aus zu fuhren.
Habe es jetzt in 2 verschiedene Ordner gelegt und 0755 gegeben.
Die 2 ordner sind, /volume1 und /usr/syno/etc/packages/VPNCenter/openvpn
Gibt aber beide den gleiche fehler.

Rich (BBCode):
#!/bin/sh

mv /usr/syno/etc/packages/VPNCenter/openvpn/openvpn.conf.user /usr/syno/etc/packages/VPNCenter/openvpn/openvpn.conf.user.tcp
mv /usr/syno/etc/packages/VPNCenter/openvpn/openvpn.conf.user.udp /usr/syno/etc/packages/VPNCenter/openvpn/openvpn.conf.user
/volume1/@appstore/VPNCenter/scripts/openvpn.sh restart

PuTTY sagt mir:
Rich (BBCode):
NAS> sh /usr/syno/etc/packages/VPNCenter/openvpn/tcpudp.sh
: not foundtc/packages/VPNCenter/openvpn/tcpudp.sh: line 2:
mv: can't rename '/usr/syno/etc/packages/VPNCenter/openvpn/openvpn.conf.user': No such file or directory
mv: can't rename '/usr/syno/etc/packages/VPNCenter/openvpn/openvpn.conf.user.udp': No such file or directory
Stopping openvpn ...
Stopping FreeRADIUS: radiusd.
Starting FreeRADIUS:radiusd
Starting openvpn ...
NAS>

Ich habe auch versucht mit apparmor deaktiviert weil das schon mehr Problemen gegeben hat mit config-dateien außerhalb VPN ordner. Das ist seit DSM 5.2 so.
 
Zuletzt bearbeitet:

dil88

Benutzer
Mitglied seit
03. Sep 2012
Beiträge
28.577
Punkte für Reaktionen
3
Punkte
644
Und Du bist sicher, dass die Datei openvpn.conf.user bzw. openvpn.conf.user.udp existiert?
 

MMD*

Benutzer
Mitglied seit
26. Okt 2014
Beiträge
400
Punkte für Reaktionen
0
Punkte
22
Ja sicher.

Wen ich die befehle einzeln eingebe dann geht`s, soweit bin ich jetzt.
Ich denke das das stop Befehl ca. 5 sec. braucht bevor der rest von die befehle ausgeführt werden müssen.

Rich (BBCode):
#!/bin/sh

/volume1/@appstore/VPNCenter/scripts/openvpn.sh stop
Hier 5 sec.
mv /usr/syno/etc/packages/VPNCenter/openvpn/openvpn.conf.user /usr/syno/etc/packages/VPNCenter/openvpn/openvpn.conf.user.tcp
mv /usr/syno/etc/packages/VPNCenter/openvpn/openvpn.conf.user.udp /usr/syno/etc/packages/VPNCenter/openvpn/openvpn.conf.user
/volume1/@appstore/VPNCenter/scripts/openvpn.sh start

Bin auf die suche wie man eine zeit einbauen kann, bin aber noch nicht schlau geworden :confused:
 

dil88

Benutzer
Mitglied seit
03. Sep 2012
Beiträge
28.577
Punkte für Reaktionen
3
Punkte
644
sleep 5

Das erklärt aber m.E. nicht die Fehlermeldung.
 

MMD*

Benutzer
Mitglied seit
26. Okt 2014
Beiträge
400
Punkte für Reaktionen
0
Punkte
22
Habs jetzt hin gekriegt.

Rich (BBCode):
#!/bin/sh
mv /usr/syno/etc/packages/VPNCenter/openvpn/openvpn.conf.user /usr/syno/etc/packages/VPNCenter/openvpn/openvpn.conf.user.tcp
mv /usr/syno/etc/packages/VPNCenter/openvpn/openvpn.conf.user.udp /usr/syno/etc/packages/VPNCenter/openvpn/openvpn.conf.user
/volume1/@appstore/VPNCenter/scripts/openvpn.sh restart

Hiermit geht`s, denke das es etwas mit linebreak zu tun hatte.
Habe die ganze befehle/zeile, Buchstabe fur Buchstabe neu erstelt und jetzt funzt es :)
 

fpo4711

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

Bis jetzt funzt das alles gut aber fur denn fall mal kein VPN moglich ist (noch nicht erlebt) durch blockierung von ports hab ich mir gedacht zwei configurationen zu erstellen die ich dan "remote" wechseln mochtte mittels starten von ein script.

Nur so am Rande. Wie willst Du denn dann das Script starten wenn die Ports blockiert sind? In diesem Augenblick hast Du doch auch keinen Zugriff.

Gruß Frank