Internet Verbindung soll nur mit OpenVPN starten, aber wie?

Nachricht
Autor
User3
Beginners
Beginners
Beiträge: 14
Registriert: 14 Mai 2015 16:20
Hat gedankt: 4 Mal

Internet Verbindung soll nur mit OpenVPN starten, aber wie?

#1

Beitrag von User3 »

Hallo,
ich nutze schon länger das OpenATV Image der Version 5.0 auf meinem Edision Optimuss OS1+.

Darauf habe ich OpenVPN eingerichtet, was an sich gut funktionierte.
Nur habe ich das Problem das die Verbindung zum Server nicht immer
mit dem Autostart funktioniert und Manuell angeschalten werden muss
(Das wiederum funktioniert dann immer).

Nun sollte es doch irgendwie machbar sein das, wenn die Box nicht
mit der VPN-Server verbunden ist einfach nicht ins Internet kommt
(Programmieren?).

Ich hatte so etwas schon mal irgendwo gelesen, leider weiß ich nicht mehr wo.
Weiter habe ich so gut wie keine Kenntnisse mit Linux, Hilfe wäre also Super :) .


Ich hoffe ihr könnt mir helfen.
Benutzeravatar
Green Eagle
Member
Member
Beiträge: 714
Registriert: 17 Jan 2015 10:42
Hat gedankt: 233 Mal
Hat Dank erhalten: 89 Mal

#2

Beitrag von Green Eagle »

Es gibt da 2 Möglichkeiten, die ich kenne einmal mit einem Script der jede Minute überprüft, ob der Service gestartet ist (Suche mal nach OS**m überwachen bei Google) oder du lässt das Teil einfach per Cronjob alle 5 min oder 10 min neustarten (da komtm es natürlich darauf an, wie lange das Teil brauch zum Starten und Verbinden).
User3
Beginners
Beginners
Beiträge: 14
Registriert: 14 Mai 2015 16:20
Hat gedankt: 4 Mal

#3

Beitrag von User3 »

Ich hoffe ich habe das jetzt nicht falsch verstanden, aber das geht doch nur bei der CAM,
ich habe das Problem aber mit openVPN, sprich hier sollte das Script folgendes machen:

1. Box starten -> Script überprüft ob openVPN läuft
1.1 läuft -> alle Dienste zulassen für das Internet zulassen
(1.2 läuft nicht -> keine Dienste für das Internet zulassen)
2. Start von entsprechenden Sachen (CC**m)

Oder kann man das von dir genannte dafür anwenden?
Benutzeravatar
Green Eagle
Member
Member
Beiträge: 714
Registriert: 17 Jan 2015 10:42
Hat gedankt: 233 Mal
Hat Dank erhalten: 89 Mal

#4

Beitrag von Green Eagle »

Ich frage mal so: Wofür ist der Script da ? Überwacht er nicht ein "Programm" und wenn dieses Programm nicht mehr vorhanden ist, das er dies neu startet ?
Ja klar kannst du dies eigentlich ganz einfach umschreiben bzw. Pfade und Ausführung anpassen
FL987
Beginners
Beginners
Beiträge: 2
Registriert: 04 Jun 2015 00:57
Wohnort: NRW
Receiver 1: VU+ Zero

#5

Beitrag von FL987 »

An so einem Script hätte ich auch Interesse.
Ich hab nämlich derzeit das Problem, dass obwohl im Menü steht das OpenVPN läuft, keine Verbindung zum VPN aufgebaut wurde. Erst nach einem Neustart des OpenVPN wird die Verbindung aufgebaut. Daher hätte ich auch Interesse an einem Script das überprüft, ob wirklich eine Rückmeldung des VPN Servers erfolgt (alle 30 Sekunden oder so ähnlich). Und wenn nicht, soll der Dienst nochmal neustarten Zusätzlich sollen aber bestimmte Verbindungen nicht über die normale Netzwerkstelle rausgehen (Stichwort iptables Regeln speichern).
Benutzeravatar
banu
VIP
VIP
Beiträge: 2401
Registriert: 18 Apr 2013 16:53
Wohnort: Thüringer Wald
Receiver 1: GigaBlue UHD Quad 4k
Receiver 2: GigaBlue UE 4k + Edision OS Mega
Receiver 3: ET8000 / Axas E4HD
Receiver 4: Mut@nt HD 51 / Mut@nt HD1200
Receiver 5: Atemio 6000 / OCTAGON SF208
Hat gedankt: 1127 Mal
Hat Dank erhalten: 460 Mal

#6

Beitrag von banu »

Unser VIP Biki3 ist hier der Profi, vielleicht schreibt Ihr ihn mal an und verweist auf diesen Thread ;)
Gruß Frank Bild
User3
Beginners
Beginners
Beiträge: 14
Registriert: 14 Mai 2015 16:20
Hat gedankt: 4 Mal

#7

Beitrag von User3 »

@banu,
ich hab ihn gerade angeschrieben, sollte es was neues geben werde ich mich hier melden ;)

@FL987,
habe ich auch schon beobachtet, OpenVPN soll laufen aber die Verbindung steht aber nicht (auch nach ein paar Minuten). Da hilft nur ein Soft-Reset.

@Green Eagle,
wenn ich wüste wie man das macht würde ich hier nicht fragen :P aber trotzdem danke, werde mal schauen ob ich damit was anfangen kann .. irgendwie ;)
Benutzeravatar
Green Eagle
Member
Member
Beiträge: 714
Registriert: 17 Jan 2015 10:42
Hat gedankt: 233 Mal
Hat Dank erhalten: 89 Mal

#8

Beitrag von Green Eagle »

Hast du dich überhaupt mal mit dem Script auseinander gesetzt ?

So, mal ungetestet

Code: Alles auswählen

#!/bin/sh

APP=$(ps aux | grep -v grep | grep *deinprogramm*)


if [ -z "$APP" ];
then
  echo "OpenVPN wird gestartet"
  sudo *deinprogramm*
else
  echo "OpenVPN ist aktiv"
fi




Nenne das Teil treffend als watchdog.sh Rechte 755, bei *deinprogramm* den Name des Programmes

crontab -e

Code: Alles auswählen

[color=#333333][font=monospace]* * * * *    bash /path/to/watchdog.sh >/dev/null 2>&1 [/font][/color]


Jede Minute wird die Anfrage gesendet.

Wie gesagt, erstmal ohne Garantie, dies ist ein Ansatz. Notfalls die Fehlermeldungen posten und wir schauen mal weiter.
User3
Beginners
Beginners
Beiträge: 14
Registriert: 14 Mai 2015 16:20
Hat gedankt: 4 Mal

#9

Beitrag von User3 »

@Green Eagle,
wie ich im Start-Post schon geschrieben habe kenne ich mich mit Linux nicht aus,
was sich auch auf Programmieren etc. übertragen lässt -> Kein Plan von.
Somit habe ich mich mit dem Script auch noch nicht auseinander gesetzt,
da ich mit den ganzen Angaben nichts anfangen kann.

Daher komme ich auch nicht mit den Sachen klar die du da oben geschrieben hast,
ich kann zwar aufführen wie ich da ran gehen würde, ob das aber der Richtige Weg ist...

1. Den Code von dir kopieren und " *deinprogramm* " irgenwie anderes benennen (welches Programm Oo ?)
2. Den Code als "watchdog.sh" speichern
3. Per FTP in irgend einen Unterordner der Box speichern

Oder muss ich das ganze per Telnet von Hand direkt in die Box schreiben?


Sorry für die ganzen Noob-Fragen, bin nun mal einer :*( ;)
Pike_Bishop

#10

Beitrag von Pike_Bishop »

Hi,

Na gut also wenn man sich danach richtet;
Grober Ablauf:
1. Box anschalten
2. Script überprüft ob OpenVPN läuft und verbunden ist
3. Wenn alles läuft können alle anderen Dienste/ APPs etc. starten
4. Immer wieder (alle X-Minuten) testen ob die Verbindung noch steht

Das Script soll die Box anschalten ? Du meinst eher wenn du die Box anschaltest soll das Script Schritt 2 - 4 ausführen korrekt ?

Ok ich geh mal davon aus das es so ist dann kannst erstmal das Script vom @Green Eagle also das hier;

Code: Alles auswählen

#!/bin/sh

APP=$(ps aux | grep -v grep | grep *deinprogramm*)


if [ -z "$APP" ];
then
  echo "OpenVPN wird gestartet"
  sudo *deinprogramm*
else
  echo "OpenVPN ist aktiv"
fi


mit nem Texteditor (muss unbedingt ein LinuxEditor sein z.b: Notepad++) in ein Textfile schreiben und dann zu watchdog.sh umbenennen und das legst dann an deiner Box nach /usr/script
(sollte das Verzeichnis /usr/script nicht vorhanden sein legst es eben zuvor selber an, entweder per FTP (Filezilla) oder per telnet mit;

Code: Alles auswählen

mkdir /usr/script


Dann wenn das Script mit Namen watchdog.sh in /usr/script liegt musst es per telnet ausführbar machen mit;

Code: Alles auswählen

chmod 755 /usr/script/watchdog.sh


Soweit is das aber erstmal nur ein Anfang denn das Script muss noch abgeändert werden.
Denn es is doch so das wenn Internet an der Box eingerichtet ist dieses ja erstmal automatisch startet
und auch musst du nach dem Box Start ja erstmal abfragen ob OpenVPN läuft - wird also bestimmt etwas komplizieter werden als das Script grade aussieht.

Vielleicht wärs ja seitenverkehrt besser anzufangen also schon erstmal die Abfrage ob OpenVPN läuft und wenn nicht das Internet stoppen
und falls doch, na dann läuft Internet ja schon dann nur noch deine Apps starten.
Nur is es auch blöd wenn das Internet dann gestoppt ist das das Script alle Minuten weiter anläuft, man müsste dann also ebenfalls
den Cron Dämon stoppen dann den Cronjob löschen und den Cron Dämon wieder starten im selben Script (das geht auch - is kein Problem)
, allerdings müsstest den Cronjob dann wieder manuell neu eintragen was auch wieder Blödsinn wäre
aber auch dazu gäbs ne Lösung (hab hier ähnliches am Laufen aber nicht für OpenVPN jedoch das selbe Prinzip
und zwar lass ich den Cronjob bei jedem Hochbooten der Box mit nem Init Script eintragen (das geht vollautomatisch dann).

Dann um @Green Eagle zu folgen erstmal das hier;

Code: Alles auswählen

[color=#ffffff][font=monospace]* * * * *    bash /usr/script/watchdog.sh >/dev/null 2>&1 [/font][/color]

in die
/etc/cron/crontabs/root
an deiner Box eintragen (ebenfalls nur mit nem Linux Editor)
oder du trägst es per telnet Befehl ein (z.b: so wie folgt);

Code: Alles auswählen

echo -e "\n* * * * * sh /usr/script/watchdog.sh" >> /etc/cron/crontabs/root

is dann etwas anders eingetragen wie @Green Eagle vorschlägt sollte aber auch tun.
Ansonsten halt stattdessen um exakt nach @Green Eagle vorzugehen per telnet mit;

Code: Alles auswählen

echo -e "\n* * * * * bash /usr/script/watchdog.sh [font=monospace]>/dev/null 2>&1[/font]" >> /etc/cron/crontabs/root


Damit hättest dann erstmal das Grundgerüst - und müsstest eben nur noch das Script passend machen.


Grüsse
Biki3
blackmassiv

#11

Beitrag von blackmassiv »

Geht vieeeeelll einfacher.
https://www.opena.tv/viewtopic.php?t=6121

Letzter Beitrag
sstorm283
Beginners
Beginners
Beiträge: 4
Registriert: 20 Jan 2016 15:26

#12

Beitrag von sstorm283 »

Hallo,
hat jemand das Grundgerüst ausprobiert und getestet? Möchte auch nur über VPN verbunden sein.
wernerbla
Beginners
Beginners
Beiträge: 12
Registriert: 30 Apr 2016 12:40
Receiver 1: DM800seV2

#13

Beitrag von wernerbla »

[font=Trebuchet MS]Hallo Zusammen,[/font]
[font=Trebuchet MS]habe gerade diesen schon etwas älteren Thread gefunden bei dem es eigentlich ziemlich genau um das geht was ich auch gerne hätte auf meiner Box mit VPN.
Habe auf einer dm800seV2 einen openvpn am laufen der eigentlich soweit ganz stabil läuft. Jedoch bei jedem Internetabbruch[/font]
[font=Trebuchet MS]wie z.b der täglichen
Zwangstrennung durch den Anbieter bricht auch meine VPN Verbindung ab. Da mir das jedoch nicht in der Infoleiste angezeigt wird und ich jedesmal über
das Menü kontrollieren muss oder dann mit Hand verbinden sage ich jetzt mal das es umständlich ist.[/font]

[font=Trebuchet MS]Jetzt die Frage an die Spezialisten.... z. B Herrn Biki3[/font]
[font=Trebuchet MS]- gibt es hier jemanden der mir dabei behilflich sein könnte ein kleines script zu schreiben das z.b die Verbindung von Openvpn in gewissen Zeitintervallen ( z.b. 10sec, 30sec, 1min, 5min ) prüft und[/font]
[font=Trebuchet MS]wenn ein Verbindungsabbruch festgestellt wurde automatich openvpn restart durchführt.[/font]

[font=Trebuchet MS]Danke schonmal im Voraus[/font]
Pike_Bishop

#14

Beitrag von Pike_Bishop »

Hi Herr wernerbla :)

Also ich hab ja selbst mit dem OpenVPN Zeugs nix zu tun, aber da lässt sich bestimmt was machen.
Müsstest dich erstmal auf ein Zeitintervall festlegen (würde sagen 1Minute is ganz gut dafür oder also jede Minute) ?

Dann müsste man einfach nen Cronjob anlegen der jede Minute ein Script anwirft
welches prüft ob OpenVPN läuft oder nicht und wenn nicht muss es den OpenVPN eben starten - klingt erstmal eh recht einfach.
Musst mir halt bisschen helfen, am Besten du zeigst mir erstmal den telnet Output vom Befehl;

Code: Alles auswählen

ps aux | grep [o]penvpn

wenn der openvpn grade läuft.

Oder gibts bei dem eh immer ein PIDFILE unter /var/run ?
Musst mal auch gucken ob da eines da ist wenn OpenVPN läuft (und wie das benannt ist) und obs auch weg ist wenn der OpenVPN nicht läuft.
Und gibt bestimmt auch ne config zum OpenVPN unter /etc - die müsst ich dann auch mal sehen.


Grüsse
Biki3
wernerbla
Beginners
Beginners
Beiträge: 12
Registriert: 30 Apr 2016 12:40
Receiver 1: DM800seV2

#15

Beitrag von wernerbla »

Hallo Herr Biki,
zuersteinmal vielen Dank daß Sie sich meinem Thema hier annehmen.
Jetzt versuche ich einmal Ihnen alle benötigten infos zu geben:
1.Telnet ausgabe mit vorher genannter eingabe
Der Dateianhang telnet.png existiert nicht mehr.

2. Pidfile unter var/run ist vorhanden -- nur wenn VPN verbunden
3. Name Pidfile - openvpn.CyberGhost.pid
4. in etc/openvpn/CyberGhost.conf (Inhalt)
client
remote 9-ch.cg-dialup.net 443
dev tun
proto udp
auth-user-pass /etc/openvpn/password.txt


resolv-retry infinite
redirect-gateway def1
persist-key
persist-tun
nobind
cipher AES-256-CBC
auth MD5
ping 5
ping-exit 60
ping-timer-rem
explicit-exit-notify 2
script-security 2
remote-cert-tls server
route-delay 5
tun-mtu 1500
fragment 1300
mssfix 1300
verb 4
comp-lzo


ca /etc/openvpn/ca.crt


cert /etc/openvpn/client.crt


key /etc/openvpn/client.key


So, jetzt hab ich glaube ich alles
Danke

* ahh hatte vergessen......ja, völlig ausreichend jede minute
Dateianhänge
telnet.png
Pike_Bishop

#16

Beitrag von Pike_Bishop »

Hi Herr wernerbla,

Muss das wirklich sein mit der förmlichen Anrede (Herr) :) Is nur ne Frage bins gewöhnt per du anzusprechen bzw. angesprochen zu werden.
Aber wir können auch bei per Sie blreiben wenns denn sein muss :) (liegt ganz bei Ihnen).

Nun ja die Informationen sollten jedenfalls reichen - ich seh mir das Morgen oder Übermorgen dann an.
Sollte ja genügen wenn man sich nach dem PIDFILE richtet also im Script wenn PIDFILE da alles ok wenn nicht OpenVPN neustarten.


Grüsse
Biki3
wernerbla
Beginners
Beginners
Beiträge: 12
Registriert: 30 Apr 2016 12:40
Receiver 1: DM800seV2

#17

Beitrag von wernerbla »

Hallo Biki3
also natürlich gerne anrede mit du......von jetzt an.
Habe gerade was geprüft bezgl. Pidfile
- wenn ich per Hand im OSD Menü VPN stoppe - ist das Pidfile weg
- wenn VPN verbunden Pidfile - vorhanden
- jetzt das Problem, habe gerade die Zwangstrennung am Router simuliert - ergebnis VPN Verbindung wurde getrennt, aber trotzdem Pidfile vorhanden

vermute das machts jetzt wieder etwas komplizierter...... :(
Ich warte einfach mal was du mir in den nächsten Tagen sagen kannst, kein Stress eilt nicht so
Bin eh froh das mir überhaupt jemand bei der geschichte helfen will
Danke und noch einen schönen Abend
Pike_Bishop

#18

Beitrag von Pike_Bishop »

Hi wernerbla,

- jetzt das Problem, habe gerade die Zwangstrennung am Router simuliert - ergebnis VPN Verbindung wurde getrennt, aber trotzdem Pidfile vorhanden

In der Tat das machts etwas komplizierter, wollte mich nach dem PIDFILE richten
, aber ich find schon ne andere Lösung dann eben die per ps aux | grep [openvpn]
dazu müsst ich aber wissen was dabei rauskommt also beim telnet Befehl ps aux | grep [openvpn] sowohl wenn der VPN läuft
als auch wenn er nicht läuft (also bei simulierter Zwangstrennung) bzw. wenn VPN läuft weiss ich ja schon was dabei rauskommt.

Was mich auch interessieren würde wäre was telnet sagt bei ls -l /var/run wenn VPN läuft und wenn VPN nicht läuft vielleicht find ich ja
doch noch nen Ansatz fürs PIDFILE
EDIT ! Besser ls -l /var/volatile/run statt ls -l /var run da /var/run ein Link darauf ist.

Auch noch nen Schönen Abend wünsch ich dir.


Grüsse
Biki3
Pike_Bishop

#19

Beitrag von Pike_Bishop »

Hi wernerbla,


Ok, versuchen wirs mal - hab nen ersten Entwurf (das Script nennt sich vpn_emergency_restart.sh)
Ich hängs mal an. Du musst es entpacken und an der Box nach /usr/script legen sollte das Verzeichnis /usr/script noch nicht existieren erstell es einfach in telnet mit;

Code: Alles auswählen

mkdir /usr/script

Danach legst also das Script Namens vpn_emergency_restart.sh auf der Box nach /usr/script
und machst es mit folgendem telnet Befehl ausführbar;

Code: Alles auswählen

chmod 755 /usr/script/vpn_emergency_restart.sh



Jetzt musst noch nen cronjob anlegen der das Script nach Start der Box jede Minute ausführt dazu siehst erstmal nach ob es bei dir
an der Box unter /etc/cron/crontabs eine Datei Namens root gibt wenn nicht machst in telnet;

Code: Alles auswählen

touch /etc/cron/crontabs/root

Und dann machst noch folgendes in telnet;

Code: Alles auswählen

echo -e "\n* * * * * sh /usr/script/vpn_emergency_restart.sh\n" >> /etc/cron/crontabs/root

Das trägt dir den passenden Cronjob ein (der Cron muss natürlich laufen aber das sollte er sowieso in nem OpenATV Image).


Schaun wir erstmal obs denn auch funktioniert - danach kann mans noch verfeinern.
Wenn das Script was tun muss also "OpenVPN starten da getrennt" muss es ein Logfile in /tmp geben nennt sich vpn_emergency_restart.sh
(da kann man reinsehen ab und an wenn man will).
Grade am Anfang sollte man da schon hin und wieder reinsehen, später mal wenn sich das Script bewährt hat
braucht man da nicht mehr reinzusehen (da sieht man nur noch dann rein wenns mal irgendwas nicht klappen sollte mit Openvpn).

Wenns denn klappen sollte muss ich aber dann dennoch erstmal wissen was im Logfile steht
vor Allem auch was im Logfile steht wenn die Box mal einige Minuten lang läuft da ich wissen möchte ob das Logfile eh immer überschrieben wird
und nicht etwa jedesmal wo das Script ausgeführt wird ne Zeile zum Logfile dazu angehangen wird denn dann könnte ja mal der FLASH voll laufen
(sollte aber eh passen hab ja > für Überschreiben gewählt im Script und nicht >> für Anhängen) aber Kontrolle schadet ja nicht.

Zum einfachen reinsehen in ein Logfile würd ich nicht den PC verwenden - das geht direkt an der Box per Fernbedienung mit dem Plugin DreamExplorer.


Grüsse
Biki3
Dateianhänge
vpn_emergency_restart.zip
(680 Bytes) 71-mal heruntergeladen
wernerbla
Beginners
Beginners
Beiträge: 12
Registriert: 30 Apr 2016 12:40
Receiver 1: DM800seV2

#20

Beitrag von wernerbla »

Hallo nochmal Biki,
- also hab gerade alles ausprobiert und hoffe dir weiterhelfen zu können
- es gibt nur noch ein kleines Kommunikationsproblem bzgl. der Eingabebefehle
- bei deiner ersten Antwort hast du mir folgenden Befehl gegeben / ps aux | grep [o]penvpn / sprich nur das o in Klammer
- jetzt der neue Befehl /
ps aux | grep [openvpn] / openvpn komplett in Klammer
- dabei kommt ein ewig langer text raus dazu brauche ich 5 screenshots soll ich die wirklich hochladen ?
- das ergebnis von
ls -l /var/volatile/run sieht folgendermaßen aus
-VPN läuft
telnet no Openvpn5.png

- VPN läuft nicht
telnet no Openvpn5.png

[B]-Ergebnis ps aux | grep [openvpn] / VPN läuft

- Befehl
[/B]ps aux | grep [o]penvpn _
- wenn VPN nicht läuft passiert nix, keine Ausgabe von Informationen
- wenn VPN läuft - siehe Grafik

telnet no Openvpn5.png


Hoffe es hilft dir weiter
Dateianhänge
telnet (O)penvpn1.png
telnet no Openvpn4.png
telnet no Openvpn3.png
telnet no Openvpn2.png
telnet no Openvpn1.png
vpn läuft nicht.png
vpn läuft.png
Antworten

Zurück zu „Plugins“