PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : VPN mit zwei Dyndns



geronet
15.05.04, 08:46
Folgendes Szenario ist vorhanden:

Ein Server im Büro und ein Router zuhause, beide mit
-Linux ;)
-DSL Anschluss mit dynamischer IP und Dyndns Domain
-ISDN Karte
-Modem
-openvpn

Der Router läuft im Gegensatz zum Server nicht ständig, kann aber per Anruf auf sein Modem geweckt werden (Kernel 2.6 swsusp :D)

Nun ist folgendes von beiden Seiten aus gewünscht:

Netzwerkverkehr auf den anderen Rechner (ping o.ä.) löst per ISDN auto-dial einen Anruf ohne abheben auf das Modem bzw. die MSN aus, dieser startet dann bzw. geht per callerid.conf und ping online und aktualisiert seine Dyndns Adresse.
Der rufende Rechner sieht per callerid.conf einen ausgehenden Anruf und ändert per Script die ISDN auto-dial Route auf die VPN Verbindung. Damit haben sich beide verbunden und das VPN steht.

Zusätzlich kann ich noch die ausgehende MSN ändern und damit eine ISDN-Verbindung herstellen womit ich mich im Notfall noch von beiden Seiten aus einloggen kann.

Dieses Szenario läuft bereits, das Problem ist nur dass die beiden Rechner zu unterschiedlichen Zeiten ihre Internet-Verbindung bei nichtbenutzen des Internets/VPN trennen und somit die Dyndns-Adresse ungültig ist, der andere Rechner aber noch online ist und nicht weiss dass die Gegenstelle nicht mehr vorhanden ist.

Ein "bist-du-noch-da-ping" ist auch nicht die Lösung da sonst beide Rechner nie auflegen, selbst mit ppp filter kann es nicht gehen da der vpn-traffic dann nicht mehr als "aktiver traffic" zählen würde und die Verbindung irgendwann auch bei VPN Zugriff gekappt werden würde.

Jetzt müsste es eine Möglichkeit geben die Dyndns-IP-Adresse kurz vor dem Trennen der Verbindung noch umzustellen, damit man per DNS lookup feststellen kann ob der Rechner online ist.

Wiederum daran ist das Problem dass diese Umstellung auch wieder Traffic macht bzw. ich nicht weiss wann der pppd auflegt solange noch eine Verbindung besteht.


Hat jemand (andere) Möglichkeiten?

geronet
16.05.04, 10:57
Ich hätte jetzt was gefunden:

Der pppd kann Plugins laden, und mit dieser Funktion hier

int (*idle_time_hook)(struct ppp_idle *idlep);
könnte ich warscheinlich im Plugin erfahren wann er auflegt und vorher noch die dyndns-Adresse umstellen und der Gegenstelle sagen dass jetzt schluss ist.

Kennt jemand schon so ein Plugin / hat jemand schon eins geschrieben?

Harry
16.05.04, 11:24
Hi geronet,

der pppd ruft vor der Trennung doch eh das Skript /etc/ppp/ip-down auf. In diesem Skript könntest Du evtl. die notwendige Änderung für die DynDNS-Adresse durchführen und sie damit ungültig machen - wäre das eine Lösung für Dich?

Harry

geronet
16.05.04, 23:13
Versteh mich jetzt nich falsch Harry aber das wäre zu einfach gewesen:


/etc/ppp/ip-down
A program or script which is executed when the link is no longer available for sending and receiving IP packets. This script can be used for undoing the effects of the /etc/ppp/ip-up script. It is invoked in the same manner and with the same parameters as the ip-up script.

Ich hab mir jetzt ein ppp-Plugin geschrieben das mit ein Script ausführt beim Idle-timeout und danach auflegt :D

muell200
17.05.04, 09:50
Ich hab mir jetzt ein ppp-Plugin geschrieben das mit ein Script ausführt beim Idle-timeout und danach auflegt :D

kannst du dsa script posten.
ich habe das gleiche problem!

Harry
17.05.04, 12:43
Versteh mich jetzt nich falsch Harry aber das wäre zu einfach gewesen:
Ich hatte mir schon gedacht, dass da irgendwo noch ein Haken war ;)

Harry

geronet
18.05.04, 20:29
So jetzt ist das Plugin fertig, funktioniert tadellos.

Ich schreib gleich einen Beitrag in Tipps und Tricks.

Hier: http://www.linuxforen.de/forums/showthread.php?p=835009#post835009