Scripthilfe

qwali

Active member
Themenstarter
Registriert
22 Mai 2008
Beiträge
3.004
Ich bin leider sehr unbewandert in Sachen Scripte, daher bitte ich hier kurz um Hilfe.

Für die Herstellung einer VPN-Verbindung über VPNC benötige ich die Eingabe von Pfaden zu Zertifikaten sowie Nutzername und Passwort im Terminal. Das finde ich recht nervig und würde dies gerne über ein Script erledigen lassen (welches das Terminal danach aber nicht schliessen darf bzw. auf eine Eingabe warten muss um das Terminal zu schliessen, da dies die VPN-Verbindung trennt)

Das Script soll also mit su-Rechten VPNC aufrufen und dann eine Reihe von Eingaben machen die jeweils mit Enter bestätigt werden, warten bis eine neue Abfrage erscheint, wieder die Eingabe machen und wenn die Verbindung hergestellt ist das Terminal wie gesagt offen lassen.

Wie muss sowas aussehen?

Bin für Hilfe sehr dankbar :-)
 
EuleR60' schrieb:
Das kann man doch alles in die vpnc.conf werfen.

Ich bin offen für jede Erklärung. Ich hab mich mit Müh und Not so weit gekämpft, dass ich per vpnc eine Verbindung aufbauen kann - die Cisco-Software die wir von uniseite aus nutzen sollen funktioniert irgendwie gar nicht.
 
qwali' schrieb:
So einfach ist das leider nicht, da vpnc von Haus aus keine Certificate unterstützt (es gibt nicht mal die Wahlmöglichkeiten in der GUI). Ein Login nur mit PW ist bei uns leider nicht möglich.
Das ist für mich zu groß, so fit bin ich noch nicht auf Linux.

Ich bin sicher, die richtigen Leute melden sich demnächst.
 
es gibt ein passendes plugin für den networkmanager. damit hats bei mir immer geklappt.
 
so siehts bei ubuntu aus:
Code:
apt-cache search vpnc
[...]
network-manager-vpnc - network management framework (VPNC plugin)
network-manager-vpnc-gnome - network management framework (VPNC plugin, GNOME UI)
network-manager-vpnc-kde - KDE NetworkManagement infrastructure (VPNC plugin)
[...]
bei anderen distris dürfte es das auch geben.
 
yatpu' schrieb:
so siehts bei ubuntu aus:
Code:
apt-cache search vpnc
[...]
network-manager-vpnc - network management framework (VPNC plugin)
network-manager-vpnc-gnome - network management framework (VPNC plugin, GNOME UI)
network-manager-vpnc-kde - KDE NetworkManagement infrastructure (VPNC plugin)
[...]
bei anderen distris dürfte es das auch geben.

Dieses Plugin habe ich schon - das erlaubt grundsätzliche Verbinung zu Cisco-VPNs, aber wie gesagt ohne Zertifikate (nur PW). Dennoch bin ich dem Plugin-Tip mal nachgegangen. Es gibt ein OpenVPN-Plugin, welches sich zu Cisco AnyConnect verbinden können soll. Flugs installiert - es fragt auch nach einem Zertifikat. Das ist schonmal schön.

Leider schlägt ein Verbindungaufbau fehl "weil keine gültigen VPN-Geheimnisse vorliegen". Was auch immer das heißt.
 
qwali' schrieb:
weil keine gültigen VPN-Geheimnisse vorliegen
Google: No valid VPN secrets. Das Passwort im NetworkManager rausnehmen und es dann bei Verbindungsherstellung eingeben (kann zu diesem Zeitpunkt gespeichert werden ohne dass der Fehler wiederkommt).

edit: die Unis immer mit ihrem proprietären VPN-Müll. Aber bei uns in Potsdam komm ich mit Linux jetzt schneller (und mit Bordmitteln!!) rein als mit Windows 7. Aber nur PW :P
 
ieee 802.11x aka wpa2-enterprise wird inzwischen teilweise eingesetzt. auch bei "eduroam". damit ists einfacher. der cisco-sch... mit passwort geht inzwischen aber recht gut unter linux. kein extra client mehr, keine kompiliererei, die bei jedem kernelwechsel anfällt... früher wars echt zum reihern. scheinbar sind einige unis immer noch beftroffen.
ihr habt mein mitgefühl!
 
Also ich nutze auch openconnect und gnome-openconnect (die müssen beide druff bei Ubuntu), es gibt aber ein super-über-Trick, der einen zum Verzweifeln bekommt:

Nach dem Install muss der Network-Manager einmal restartet werden (oder reboot halt). sudo /etc/init.d/Network-Manager restart

Ansonsten klappt das ohne Probleme, Zertifikate kommen automatisch beim ersten Login bei uns an der Uni.

Welche Distri nutzt du? Bei manchen muss man da noch mehr nachinstallieren...bis hin zu einem gepatchten openssl.

Unter Ubuntu klappt das echt problemlos, unter Arch hatte ich immer sehr dubiose Probleme, die ich nie in den Griff bekam.

(u.a. immer Timeouts, die aber manchmal kamen, manchmal nicht, usw.)
 
gru3n3r' schrieb:
qwali' schrieb:
weil keine gültigen VPN-Geheimnisse vorliegen
Google: No valid VPN secrets. Das Passwort im NetworkManager rausnehmen und es dann bei Verbindungsherstellung eingeben (kann zu diesem Zeitpunkt gespeichert werden ohne dass der Fehler wiederkommt).

edit: die Unis immer mit ihrem proprietären VPN-Müll. Aber bei uns in Potsdam komm ich mit Linux jetzt schneller (und mit Bordmitteln!!) rein als mit Windows 7. Aber nur PW :P

Mit dem OpenVPN-Plugin gibt es kein einzugebendes Passwort in den Verbindungseigenschaften. Nur Gateway, Nutzername und Zertifikat.

Distri ist buntu 10.04
 

Anhänge

  • vpn1.png
    vpn1.png
    31,4 KB · Aufrufe: 6
  • vpn2.png
    vpn2.png
    35,7 KB · Aufrufe: 6
5. OpenConnect VPN Configuration – This setup works connecting to an ASA5510 – software version 8.2(1). I didn’t have any other Cisco devices to test against.
a. Create new OpenConnect connection

* set connection name
* set Gateway
* set Authentication type to “Password/SecurID”
* no need to set username, OpenConnect won’t store it yet
* save configuration

b. Initial connection attempt

* open VPN connection
* check “Automatically start connecting next time”
* click Close
* you will get the “No Valid VPN Secrets” VPN failure message

c. 2nd connection attempt

* open VPN connection
* accept certificate (if prompted)
* change Group (if necessary)
* enter username (may need to be domain\username)
* enter password
* click Login
* if VPN connection fails, see note below
* verify remote connectivity – ping, rdp, ssh, etc.
* disconnect session

d. Subsequent connection attempts

* open VPN connection
* enter password
* session should connect

Note: If you get the “Login Failed” message, cancel and wait 15-30 minutes before attempting to connect again. Also, I ended up having to use the NT style domain\username pair for authentication, even though a Cisco AnyConnect client connecting to the same ASA only requires username.
More Detail: OpenConnect has been brutal to get connected. I got failed attempt after failed attempt. When I checked the NPS (IAS) log and the Security Event log on the W2K8 domain controller, I could see my user account authenticating properly via RADIUS from the ASA. Yet the OpenConnect client came back with a “Login Failed” message. I’m not an ASA expert, so I have no idea what to check in the ASA configuration to troubleshoot this problem, other than the basic AAA configuration. But I believe the problem lies in the ASA configuration because when I get the OpenConnect “Login Failed” message, the AnyConnect client from my Windows laptop fails as well. I think it may be a ridiculously short timeout or max failure setting. Whatever the issue is, I have to wait for some length of time (~15-30 minutes) for whatever the problem is to reset.

However, once I finally get the OpenConnect client to successfully connect, it worked from then on. (Just don’t mess with the connection configuration, or you will get to go thru this whole process again.)

Kann dir vermutlich gerade nicht weiterhelfen, da ich noch nie mit openconnect zu tun hatte. Was du außerdem noch tun kannst, ist den NetworkManager mit Optionen --no-daemon --log-level=... (weiß den Wert gerade nicht, er bietet dir glaube ich was an) und dann die Fehlermeldungen (mit uns) auswerten.
 
Danke, das werde ich ausprobieren. Klingt zumindest schon mal vielversprechend :-)

Ansonsten - zurück zur initialen Frage. Wie müsste so ein Script aussehen? Jetzt im speziellen - aber auch allgemein wäre das nicht doof zu wissen für spätere Fälle.
 
Also mit VPN kenn ich mich jetzt nicht wirklich aus...

Aber wenn Du ein Skript bauen willst, dass auf stdout "hört" (sprich auf die Ausgabe auf dem Bildschirm), dann kann dir vermutlich expect weiterhelfen.
Ein Tutorial findest Du hier:
http://floppsie.comp.glam.ac.uk/Glamorgan/gaius/scripting/5.html

Allerdings würde ich auf jeden Fall die Lösung über eine Konfig-Datei bevorzugen, oder alternativ Schalter beim Programmaufruf (wenn das beim verwendeten Programm möglich sein sollte).



P.S.:
Ich habe gerade mal in die man-page von vpnc geschaut, Du kannst auf jeden Fall mit:
Code:
vpnc --ca-dir <directory>
das Verzeichnis zu den Zertifikaten gleich mit übergeben.

Ich denke mal, dass es für jeden deiner Wünsche den passenden Schalter gibt, also:
man-page lesen, und dafür kannst Du dir die ganze Skripterei sparen :P
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben