# VPN - Verbindung



## Utool (12. Oktober 2007)

Hallo zusammen,

ich würde gener wissen wie ich mit Visual Basic eine VPN-Verbindung starten und beenden kann und würde mich über Programmiervorschläge sehr freuen.

Danke für Eure Hilfe


----------



## port29 (12. Oktober 2007)

Hi,

um auf deine Frage anworten zu können, musst du uns erst einmal verraten, was du unter einer VPN Verbindung verstehst. Für eine VPN Verbindung benötigst du einen Client.


----------



## Utool (12. Oktober 2007)

Also - ein programm soll automatisiert eine VPN-Verbindung erstellen und am besten noch mit einer PPTP oder IPSec verschlüsselten Datenübertragung öffnen.


----------



## port29 (12. Oktober 2007)

Ja, mit welchem Client denn


----------



## Utool (12. Oktober 2007)

eine Verbindung zwischen zwei Windows-Clients. Zum Beispiel um eine VPN-Verbindung zu generieren. Halt nur automatisch.

Das Programm soll gestartet werden und dieses nimmt automatisch (zuvor programmierte) einstellungen vor um die Verbindung zu erstellen.


----------



## port29 (13. Oktober 2007)

Also generell hat das ganze nix mit VB zutun, sondern mit reinem Windows.


Such einfach mal bei google nach rasphone.pbk, genau das ist die Datei, in der du einfach die Verbindung eintragen musst.


----------



## Utool (13. Oktober 2007)

und was geschiet genau in dieser Datei
wer hat sie geschrieben ?
kann ich sie bearbeiten?

Fragen über Fragen, ich müsste doch auch über die API-Funktionen eine Verbindung herstellen können - ODER ?


----------



## port29 (13. Oktober 2007)

Utool hat gesagt.:


> und was geschiet genau in dieser Datei



In dieser Datei erstellst du die Verbindung


> wer hat sie geschrieben ?



Gott Windows Isidor von Sevilla L. Ron Hubbards Kommt immer auf die Glaubensrichtung an!



> kann ich sie bearbeiten?



Dateien sind da, um bearbeitet zu werden. Ein Blick in die Datei 



> Fragen über Fragen, ich müsste doch auch über die API-Funktionen eine Verbindung herstellen können - ODER ?



Ja, das geht auch, aber dann müsstest du den VPN Client auch selber schreiben...


----------



## bluert (13. Oktober 2007)

Eine andere Möglichkeit ist "rasdial". Das kannst Du aus Deinem Programm heraus aufrufen. 
z.B. rasdial vpnName user pwd
Wobei vpnName der Name Deiner VPN Verbindung aus den Netzwerkverbindungen ist, user/pwd  ist die UserID/Password, die Du auf dem VPN Server hast. Abschalten geht dann mit rasdial vpnName /D
Weitere Infos zu rasdial findest Du in der Windoof Hilfe.
Wie Du externe Programme in VB aufrufen kannst, musst Du leider selbst herausfinden.
I hope this helps.
Grüße
Sigi


----------



## bluert (13. Oktober 2007)

Nachtrag:

in Java geht das Aufrufen so:

String command="rasdial vpnName user pwd";
Process p = Runtime.getRuntime().exec(command);

Vielleicht hilft Dir dieser Hinweis.
Grüße
Sigi


----------



## Utool (13. Oktober 2007)

@port29
Was bist du denn für ein Schlauer Das ich mit Hilfe von rasphone.pbk die Verbindung aufbauen kann, war mir schon klar - nur leider wollte ich *kein* fertiges Programm sondern,

hierzu *Danke* an den "Grünschnabel" [so bezeichnet er sich ja selber] bluert,

das Programm selber schreiben, um somit auch Gewissheit zu haben was in dem Programm passiert.

Großes *DANKE* nochmal.
Utool


----------



## bluert (13. Oktober 2007)

Ich habe soetwas gerade selbst geschrieben, allerdings in JAVA.
Dabei bin ich auf eine JAVA-CLASS mit Namen jRAS32 gestoßen.
( http://sourceforge.net/projects/jras32 ). Als ich damit Probleme hatte, habe ich den Entwickler angeschrieben, und was soll ich sagen - der hat auch geantwortet !!
Diese Class hat gegenüber rasdial den Vorteil, dass man den Status der Verbindung mit eingebauten Methoden wie "isConnected" überprüfen kann. Bei Rasdial gibt der Prozess nur einen ExitCode zurück, auf den man sich aber leider nicht verlassen kann.
Vielleicht gibts sowas ja auch für VB, oder Du überlegst nochmal, in welcher Sprache Du das machen willst ?
Grüße
Sigi


----------



## port29 (13. Oktober 2007)

Utool hat gesagt.:


> @port29
> Was bist du denn für ein Schlauer


Danke! :suspekt:



Utool hat gesagt.:


> Das ich mit Hilfe von rasphone.pbk die Verbindung aufbauen kann, war mir schon klar - nur leider wollte ich *kein* fertiges Programm sondern,
> 
> ...
> 
> das Programm selber schreiben, um somit auch Gewissheit zu haben was in dem Programm passiert.





			
				bluert hat gesagt.:
			
		

> ```
> String command="rasdial vpnName user pwd";
> Process p = Runtime.getRuntime().exec(command);
> ```



Ich muss ehrlich sagen, dass ich es wirklich geil finde, dass du erkannt hast, dass ich schlau bin  Ich weiß momentan aber ehrlich noch nicht ganz, was ich von dir halten soll ( - soll jetzt keine Beleidigung sein). bluert hat dir fast genau das gleiche geschrieben wie ich, nur dass er dir den Namen des Programms genannt hat, dass im Hintergrund die Verbindung aufbaut. Und auch die RAS API zu benutzen hat nichts mit Gewissheit zutun, zu wissen, was in dem Programm passiert. 

bluert, ich sehe leider absolut keinen Vorteil darin, wissen zu müssen, ob eine Verbindung "connected" ist oder nicht. Ich habe leider sehr oft die Erfahrung gemacht, dass trotz aktiver Verbindung eine VPN Verbindung nicht funktioniert hat. Und es ist eigentlich eher irrelevant, ob eine Verbindung existiert, denn man will ja nicht wissen, ob man verbunden ist, sonern ob man andere Rechner / Router erreichen kann.


----------



## bluert (15. Oktober 2007)

port29 hat gesagt.:


> ich sehe leider absolut keinen Vorteil darin, wissen zu müssen, ob eine Verbindung "connected" ist oder nicht. Ich habe leider sehr oft die Erfahrung gemacht, dass trotz aktiver Verbindung eine VPN Verbindung nicht funktioniert hat. Und es ist eigentlich eher irrelevant, ob eine Verbindung existiert, denn man will ja nicht wissen, ob man verbunden ist, sonern ob man andere Rechner / Router erreichen kann.



@port29
Ich finde es im Programm schon wichtig zu wissen ob die Verbindung steht, bevor man beispielsweise versucht ein Netzlaufwerk hinter dem VPN Server zu mounten etc.
Und - ja, Du hast schon recht wenn Du schreibst, dass rasphone "unterirdisch" auch nur rasdial aufruft. Bloß - bei direktem Aufruf von rasdial wird kein Zwischendialog zum Aussuchen des Phonebook Eintrags angezeigt. Dialoge und Meldungen programmiere ich lieber selbst. Dann kommen meistens vernünftige Meldungen und nicht soetwas wie "Wollen Sie?" und ein OK-Button 
Aber dies ist ein freies Land und jeder soll seine Anwendung so programmieren wie er es kann/will.


----------



## port29 (15. Oktober 2007)

bluert hat gesagt.:


> @port29
> Ich finde es im Programm schon wichtig zu wissen ob die Verbindung steht, bevor man beispielsweise versucht ein Netzlaufwerk hinter dem VPN Server zu mounten etc.



Naja, aber eben das ist ja das eigentliche Problem, dass ich angesprochen habe. Dass eine Verbindung zu einem VPN Server besteht muss nicht immer gleich bedeuten, dass man auch wirklich andere Rechner aus dem VPN Netz erreichen kann. Ich habe wirklich des öffteren die Erfahrung gemacht, dass eine Verbindung bestand, aber keine Daten ausgetauscht werden konnten (DSL mit statischer IP Adresse nach einer Zwangstrennung). Deshalb "schaue" ich immer zuerst nach, ob ich das Netz auch wirklich erreichen kann.


----------

