[Gelöst] vpnc erzeugt kein tun interface

han-solo

Mitglied
Mitglied seit
28 Jul 2005
Beiträge
451
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich habe hier schon ne weile die Suche benutzt aber keine Lösung zu meinem vpnc Problem gefunden.
Also zuerst habe ich entdeckt, dass im Webinterface eine zusätzliche Konfiguration von Vorteil wäre.
Und zwar der Eintrag des Vendors.

Ich will mich mit einer Juniper Netscreen verbinden und dabei ist in der vpn.conf unbedingt folgender Eintrag erforderlich.

Code:
Vendor netscreen

Ich starte nun also den vpnc mit folgendem Kommando, da der Start Button im ds-mod die Config neu schreibt und somit die Vendor Angabe fehlt.
Ich bekomme dann folgende Fehlermeldung.

Code:
/ # vpnc /var/mod/etc/vpnc.conf
sh: /etc/vpnc/vpnc-script: not found
sh: /etc/vpnc/vpnc-script: not found
VPNC started in background (pid: 672)...
/ #

Aber der Tunnel baut sich auf. Ich sehe auf der Netscreen also einen erfolgreichen Tunnelaufbau und in der Prozessliste der FritzBox rennt vpnc ebenfalls.

ABER: Ich habe kein tun interface und somit auch keine Route.
(192.168.179.0/24 ist mein Netz)

Code:
/ # route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.180.1   *               255.255.255.255 UH    2      0        0 dsl
192.168.180.2   *               255.255.255.255 UH    2      0        0 dsl
192.168.179.0   *               255.255.255.0   U     0      0        0 lan
192.168.179.0   *               255.255.255.0   U     0      0        0 eth0
169.254.0.0     *               255.255.0.0     U     0      0        0 lan
default         *               0.0.0.0         U     2      0        0 dsl
/ #

Kann mir einer sagen, was am vpnc-script nicht korrekt sein kann?
Das File ist read only und ich hab nicht herausgefunden, wie ich vpnc beibringen kann, dass er einen anderen Pfad für das Script akzeptiert um dort die Routen anzugeben, die ich eigentlich folgendermaßen setzen wollte.

Code:
INTERNAL_IP4_DNS=
CISCO_SPLIT_INC=1
CISCO_SPLIT_INC_0_ADDR=172.17.10.0
CISCO_SPLIT_INC_0_MASK=255.255.255.0
CISCO_SPLIT_INC_0_MASKLEN=22
CISCO_SPLIT_INC_0_PROTOCOL=0
CISCO_SPLIT_INC_0_SPORT=0
CISCO_SPLIT_INC_0_DPORT=0

Freue mich über Hilfe.

Gruß
HS
 
Zuletzt bearbeitet:
Hi.
Du kannst das Skript ins "RAM" kopieren und dort Änderungen vornehmen.
Code:
cd ~
cp /etc/vpnc/vpnc-script  .
mount -o bind vpnc-script /etc/default.vpnc/vpnc-script
Ich würde ein "-x" für die erste Zeile vorschlagen...

MfG Oliver
 
Zuletzt bearbeitet:
Hallo Olli,

kriege folgende Fehlermeldung denn das original liegt unter unter: /etc/default.vpnc/vpnc-script

Code:
/var/mod/root # cd ~
/var/mod/root # cp /etc/default.vpnc/vpnc-script .
/var/mod/root # mount -o bind vpnc-script /etc/vpnc/vpnc-script
mount: mounting vpnc-script on /etc/vpnc/vpnc-script failed: No such file or directory
/var/mod/root #

Anscheinend möchte vpnc das Script aber unter /etc/vpnc/ haben, aber /etc/ ist readonly.
Wie bekomme ich das jetzt also verlinkt?

Gruß
HS
 
Zuletzt bearbeitet:
... dann solltest du vielleicht das Original "übermounten"?!?

Code:
mount -o bind vpnc-script /etc/default.vpnc/vpnc-script

EDIT: oder es in /mod/etc statt etc versuchen:
Code:
 ln -s vpnc-script /mod/etc/vpnc/vpnc-script
(bzw. mit einem "mount -o bind", falls es das File da schon gibt)



Jörg
 
Zuletzt bearbeitet:
Hallo,

konnte das Problem lösen. Und zwar kann man in der Datei vpnc.conf den Pfad zum vpnc-script angeben.

Code:
Vendor netscreen
Script /var/mod/root/vpnc-script

@ollistudent: Könnt ihr im Webinterface für vpnc folgendes aufnehmen?

Vendor of your IPSec gateway (optional):
Path to vpnc-script (optional):

Das wäre echt super.

Gruß
HS
 
Warum sollte man den Pfad zum vpnc-script ändern wollen?

Im Moment tut es auch:
Code:
echo "Vendor netscreen" > /tmp/flash/vpnc.extra
modsave

MfG Oliver

p.s. Übersetz mir mal bitte "Vendor of your IPSec gateway"?
 
Zuletzt bearbeitet:
p.s. Übersetz mir mal bitte "Vendor of your IPSec gateway"?

Das bedeutet: "Anbieter deines IPSec Gateways".
Also den Anbieter (Hersteller) der zu verbindenden Firewall, welche per IPSec Protokoll arbeitet.

Das default vpnc-script ist readonly. Ich kopiere das nach /var/tmp und verändere es mittels SED, damit die Routing Informationen enthalten sind.
Erst dann startet in manchen Fällen erst Tunnel und das Interface kommt hoch.

Gruß
HS
 
Zuletzt bearbeitet:
Ich kenn mich mit vpnc und auch anderen vpns nicht aus.
Warum musst du die Route in dem vpnc-script setzen? Ist das normal oder eine Besonderheit bei dir?

MfG Oliver
 
Wenn man im Script nicht die entfernten Netze einträgt, dann wird per default alles (0.0.0.0) in diesen Tunnel geleitet.

Dies hat erhebliche Folgen.
Man kann z.B. nicht mehr über seinen eigenen Anschluß surfen weil alle Anfragen durch den Tunnel zur Gegenseite geleitet werden. Im schlimmsten falls kann man nichtmal mehr die Fritzbox erreichen.

Es kann aber auch sein, dass die Gegenseite eine Proxy-ID eingestellt hat, welche das lokale und das remote Netz definiert. Und wenn dann keine Infos von vpnc rüber kommen, werden die Pakete einfach abgelehnt.

Ich beschäftige mich beruflich sehr viel mit VPN-Tunneln und kann dir sagen, dass das Remote-Netz immer definiert werden sollte.

Evtl. kann man die Route auch manuell setzen, aber ich hab es nicht anders hinbekommen, denn das Interface kam erst garnicht hoch ohne diese Einstellung.

Gruß
HS
 
Dann müsste das also übers Webinterface einstellbar sein? Komisch, da hat sich noch nie jemand beschwert?

MfG Oliver
 
Komisch, da hat sich noch nie jemand beschwert?
Vermutlich, weil es beim "Ersatz" für den Cisco VPN-Client bei den meisten Server Configs sowieso "erzwungen" wird, dass du bei bestehender VPN-Verbindung nur durch den Tunnel arbeiten darfst (der "echte" Client ist ja normalerweise auf einem PC und der soll halt keine andere Netzverbindungen haben, um das "Zielnetz zu schützen").

Jörg
 
Ich hab mal das VPNC Package mit "Vendor-Support" hochgeladen. Zu den Routen bin ich noch nicht gekommen...
Code:
--- make/vpnc/vpnc.mk
+++ make/vpnc/vpnc.mk
@@ -4,7 +4,7 @@
 VPNC_MAKE_DIR:=$(MAKE_DIR)/vpnc
 VPNC_DIR:=$(SOURCE_DIR)/vpnc-$(VPNC_VERSION)
 VPNC_BINARY:=$(VPNC_DIR)/vpnc
-VPNC_PKG_VERSION:=0.3
+VPNC_PKG_VERSION:=0.3b
 VPNC_PKG_SOURCE:=vpnc-$(VPNC_VERSION)-dsmod-$(VPNC_PKG_VERSION).tar.bz2
 VPNC_PKG_SITE:=http://131.246.137.121/~metz/dsmod/packages
 VPNC_TARGET_DIR:=$(PACKAGES_DIR)/vpnc-$(VPNC_VERSION)
MfG Oliver
 
Hallo,

ich hab jetzt noch ein kleines Script geschrieben, welches ich per cronjob aufrufe, denn Firewalls haben manchmal die Eigenschaft nach einem gewissen timeout oder nach einer maximalen Verbindungsdauer den tunnel zu trennen. Dabei läuft der Prozess jedoch weiter.

Ich checke jetzt per cronjob jede Minute ob der Tunnel noch existiert (pingcheck). Wenn nicht, dann wird vpnc neu gestartet.
Vielleicht lässt sich das ja auch irgendwie in den ds-mod integrieren. Ich denke dieses Problem werden viele haben.

vpnc_check.sh
Code:
#!/bin/sh
if ping -c 3 $1; then
   echo "host available, existing"
else
   echo "host not available, killing vpnc"
   killall vpnc
   sleep 2
   echo "starting vpnc"
   /sbin/vpnc /var/mod/etc/vpnc.conf
fi


crontab:
Code:
* 8-23 * * * /var/tmp/vpnc_check.sh 172.17.10.1

Gruß
HS
 
Hallo,

so, ich hab das VPNC Package erweitert.
Jetzt wird im Webinterface das Remote Network und dessen Subnetmaske abgefragt.
Trägt man dort etwas anderes als 0.0.0.0 ein, wird durch den rc.vpnc das vpnc-script entsprechend verändert und die Route in den Tunnel gesetzt.

Weiterhin ist mein im vorherigen Post enthaltenes Script in leicht abgewandelter Form im Package enthalten. Somit kann man dieses für die Tunnelüberwachung nutzen und folgendermaßen in die crontab einbauen. Dabei ist 172.10.10.1 natürlich ein host im Remote Network. Ist dieser nicht erreichbar, wird vpnc beendet und erneut gestartet.

Code:
# Prüfen ob Tunnel noch oben ist (vpnc)
*/30 8-23 * * * /etc/default.vpnc/vpnc_check.sh 172.10.10.1

Und hier die Änderungen für den ds-mod:

Code:
--- make/vpnc/vpnc.mk
+++ make/vpnc/vpnc.mk
@@ -4,7 +4,7 @@
 VPNC_MAKE_DIR:=$(MAKE_DIR)/vpnc
 VPNC_DIR:=$(SOURCE_DIR)/vpnc-$(VPNC_VERSION)
 VPNC_BINARY:=$(VPNC_DIR)/vpnc
-VPNC_PKG_VERSION:=0.3b
+VPNC_PKG_VERSION:=0.3c
 VPNC_PKG_SOURCE:=vpnc-$(VPNC_VERSION)-dsmod-$(VPNC_PKG_VERSION).tar.bz2
-VPNC_PKG_SITE:=http://131.246.137.121/~metz/dsmod/packages
+VPNC_PKG_SITE:=http://www.xobztirf.de/upload
 VPNC_TARGET_DIR:=$(PACKAGES_DIR)/vpnc-$(VPNC_VERSION)


@ollistudent: Hoffe dich damit etwas entlastet zu haben ;-)

Gruß
HS
 
Super. Dann kann ich ja jetzt guten Gewissens schlafen gehen...
Mit diesem Hybrid-Auth kennst du dich nicht aus? Das muss auch noch eingebaut werden.

gn8
 
Kostenlos!

Neueste Beiträge

Statistik des Forums

Themen
248,446
Beiträge
2,291,685
Mitglieder
377,868
Neuestes Mitglied
Lord#1