Automatisch mit VPN verbinden

Hallo Leute
ich habe bei mir im Wohnheim eine ziemlich ätzende Internetsituation.
Es besteht ein offenes WLAN und man muss sich in ein VPN einwählen.
Das habe ich über den Network Manager eingerichtet.
Das einzige was mich nervt, ist dass sich der Rechner automatisch mit dem WLAN verbindet, ich das VPN aber manuell aktivieren muss.
Gibt es eine Möglichkeit, dass das VPN automatisch aktiviert wird, wenn eine Verbindung zu diesem WLAN besteht?
Das wär schonmal klasse.

Zweites winziges Problem: Die Verbindung zum VPN „bricht“ manchmal zusammen.
Gibt es eine Möglichkeit, dass das Bestehen der Verbindung zum VPN überwacht wird? Eine Art Daemon oder so…

Ihr merkt schon, ich habe den Network Manager bisher nur über die GUI genutzt -.-

Liebe Grüße =)

Gibt es eine Möglichkeit, dass das VPN automatisch aktiviert
wird, wenn eine Verbindung zu diesem WLAN besteht?
Gibt es eine Möglichkeit, dass das Bestehen der Verbindung zum
VPN überwacht wird? Eine Art Daemon oder so…

Überhaupt kein Problem, wenn man weiss, wie’s geht. Kann man beides scripten. Wie gut kennst du dich mit udev aus?

Gruß

HeyHo

Überhaupt kein Problem, wenn man weiss, wie’s geht. Kann man
beides scripten.

yey cool

Wie gut kennst du dich mit udev aus?

garnicht^^
Habe mir mal das

man udev

angesehen und ein bisschen gegooglet, aber habe bisher nur Beispiele gefunden, die sich auf Hardware beziehen. Also bestenfalls, wie ich ein Skript starte, wenn die Netzwerkkarte angeschlossen wird, aber ich habe bisher noch nichts gefunden, wie ich etwas machen kann, wenn ich zu einem bestimmten WLAN verbinde, oder so…
Kannst du mir vllt einen Link mit Beschreibung oder ein mini Beispiel geben?

Viele Grüße

Kannst du mir vllt einen Link mit Beschreibung oder ein mini
Beispiel geben?

Das mit udev war von mir jetzt nur ein Schuss ins Blaue. Ich gehe davon aus, dass du Ereignisse wie ‚wlan0 is coming up‘ bzw. ‚wlan0 is going down‘ über udev mitbekommst, hab das selbst aber so noch nicht gemacht.

Solche Ereignisse werden jedoch im syslog mitgeschrieben, soweit ich selbst Scripts zur Überwachung bekannter Ereignisse im Netzwerk geschrieben habe, überwache ich daher in einem selbstgebastelten Daemon einfach das Syslog:

open (DUMP, "tail -f /var/log/syslog|");
 while () {
 if( $\_ =~ /überwachtes Ereignis/ ) {

Eine Alternative, die ich vor allem bei Routern einsetze, ist, in einem per crontab alle paar Minuten gestarteten Job Dienste und Interfaces zu prüfen und gegebenenfalls Massnahmen zu ergreifen. So wird z. B. bei Filialen, wenn die Standleitung zur Zentrale wegbricht, die VPN-Verbindung automatisch übers Internet geroutet bzw. zurück auf die Standleitung gehubbst, sobald diese wieder steht.

Die Art, wie ich feststelle, ob ein bestimmter Dienst oder eine Verbindung umgegangen ist, ist natürlich abhängig von der Natur des überwachten Dienstes. Bei Netzwerkinterfaces ist das meist ein einfacher Ping. Um festzustellen, ob man mit einem bestimmten WLAN-Netz verbunden ist, könnte auch eine Abfrage der ESSID helfen. Sollte (wieder in Perl) fast genauso aussehen, wie obiges Script (Abbildung ähnlich):

open (DUMP, "/sbin/iwconfig wlan0|");
 while () {
 if( $\_ =~ /ESSID.+Wohnheimlan/ ) {

HTH