• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Suche Shrew VPN-Client für openSUSE 11.3

transwarp

Hacker
Hallo.

Unter Ubuntu alles kein Problem, aber in den Repositories von openSUSE 11.3 will ich einfach kein Shrew VPN Client finden.
Die Herstellerseite bietet mir zwar die Sourcen, aber die bekomme ich nicht kompiliert, weil angeblich das Package QT fehlt. Installiert ist aber scheinbar qt3 und qt4, was ihn wohl nicht interessiert.

Kann mir vielleicht jemand ein Repo nennen, wo ich Shrew als Binary bekomme?

Danke im voraus ...
 

spoensche

Moderator
Teammitglied
Ich habe grade mal noch software.opensuse.org und webpin bemüht. Ein Paket habe ich nicht gefunden, also selbst ist der Mann und selbst übersetzten ist angesagt.
 
OP
transwarp

transwarp

Hacker
Nach Installation der qt3-devel-Pakete konnte ich mittlerweile die Sourcen kompilieren (cmake, make, make install).
Seltsamerweise wird im K-Menü nichts abgelegt und nur unter /usr/local/sbin ein 'iked' (daemon) erzeugt, mit dem ich nichts anfangen kann.

Installiere ich unter Ubuntu die ike-shrew-pakete, wird dort unter /usr/bin ein 'ikea' erzeugt, das auch das grafische Frontend für den Client startet. Unter openSUSE kann ich das nicht finden. Bin da erstmal ratlos.

Die Shrew-Homepage hält sich da auch absolut bedeckt, die Doku verweist nur auf das Icon, das zum Start des Clients anzuklicken ist, ..., aber bei mir nicht existiert.
Starte ich den iked, meckert die Konsole, das '/etc/iked.conf' nicht existiert. Bei den Sourcen findet sich aber auch keine passende Konfigurationsdatei. :irre:

Manchmal krankt Linux vor allem daran, das vieles angeboten, aber nichts ausreichend dokumentiert ist. Und das was dokumentiert wurde, setzt Dinge voraus, die man nicht wissen kann ...
 

spoensche

Moderator
Teammitglied
transwarp schrieb:
Die Shrew-Homepage hält sich da auch absolut bedeckt, die Doku verweist nur auf das Icon, das zum Start des Clients anzuklicken ist, ..., aber bei mir nicht existiert.
Starte ich den iked, meckert die Konsole, das '/etc/iked.conf' nicht existiert. Bei den Sourcen findet sich aber auch keine passende Konfigurationsdatei. :irre:

Hast du mal das Readme gelesen, was in der Doku erwähnt wird? Wenn die Datei nicht existiert, leg sie an und füge die entsprechende Konfiguration ein.

Zur Konfiguration siehe: http://www.shrew.net/static/help-2.1.x/files/%7BC3FC3CB8-2952-4DDF-85CF-6F8FD09E9D58%7D.htm

transwarp schrieb:
Manchmal krankt Linux vor allem daran, das vieles angeboten, aber nichts ausreichend dokumentiert ist. Und das was dokumentiert wurde, setzt Dinge voraus, die man nicht wissen kann ...

Das stimmt so nicht. Die angebotene Software ist sehr wohl gut dokumentiert, ausserdem gibt es noch die Manpages. Es gibt sicherlich einige Außnahmen, das sind dann aber auch wirklich nur Außnahmen.

Hast du mal
Code:
man 5 iked.conf
auspropiert bzw. mit
Code:
apropos iked[/quote] nach den jeweiligen Manpages gesucht?

Warum muss es denn unbedingt Shrew VPN sein? OpenVPN + evtl. gewünschtes grafisches Frontend bietet einiges.
 
OP
transwarp

transwarp

Hacker
Warum muss es denn unbedingt Shrew VPN sein? OpenVPN + evtl. gewünschtes grafisches Frontend bietet einiges.

Ich brauche für die Verbindung zu einer Watchguard Firebox X750 einen iPsec-Client und die Möglichkeit Phase 1 und Phase 2 zu konfigurieren. Shrew ist da bislang das Tool, das dem originären Watchguard-VPN-Client unter Windows am nächsten kommt. Mit openVPN habe ich mich noch nicht näher beschäftigt, könnte aber eine Alternative sein.
 

/dev/null

Moderator
Teammitglied
transwarp schrieb:
... openVPN ..., könnte aber eine Alternative sein.

Hi Transwarp,

das ist es leider nicht. openVPN "macht" kein IPsec, sondern basiert auf SSL/TLS. Ich kenne auch kein Tool unter Linux, mit welchem man ein IPsec-VPN so sauber und umfassend konfigurieren kann, wie mit dem Tool von Shrew. (Wenn ich mal die SINA-Box außer Acht lasse ...)
Ich habe den Client noch unter openSUSE 11.2 aus den Quellen compiliert und nach dem Update auf 11.3 funktioniert es weiterhin problemlos.
Bevor ich den ikea starte, führe ich folgendes Script (Quelle: hier im Forum ...) als root aus:
Code:
echo 0 > /proc/sys/net/ipv4/conf/eth0/rp_filter && iked

MfG Peter
 
OP
transwarp

transwarp

Hacker
Danke, Deine Ausführungen waren sehr hilfreich.
Mit der Codezeile für den Daemon konnte ich anschließend auch den 'ikea' starten und eine VPN-Verbindung herstellen.

Kannst Du mir kurz sagen was die eigentlich bewirkt bevor der iked gestartet wird?

Schwierige Materie ... :p
 

spoensche

Moderator
Teammitglied
/dev/null schrieb:
transwarp schrieb:
das ist es leider nicht. openVPN "macht" kein IPsec, sondern basiert auf ssh.

Das stimmt so nicht. openVPN verwendet, wie SSH, SSL / TLS, aber basiert nicht auf SSH.

/dev/null schrieb:
Ich kenne auch kein Tool unter Linux, mit welchem man ein IPsec-VPN so sauber und umfassend konfigurieren kann, wie mit dem Tool von Shrew.
r

Es gibt z.B. den VPN Client von Novell (kann mit dem Networkmanager konfiguriert werden), den vpnc (kompatibel mit Cisco Easy VPN),.
 
OP
transwarp

transwarp

Hacker
Es gibt z.B. den VPN Client von Novell (kann mit dem Networkmanager konfiguriert werden), den vpnc (kompatibel mit Cisco Easy VPN).

Gänzlich ungeeignet. Hab mich jetzt mal damit beschäftigt. Einer Watchguard muss man schon ganz genau sagen was in Phase 1 und Phase zwei geschehen soll und wie die Verschlüsselungen sind. Openvpn und auch der vpnc für Cisco-Router sind hauptsächlich Zertifikat-basierend und für eine Konfiguration einer VPN-Verbindung zu einer X750 ungeeignet, da man die notwendigen Parameter nicht angeben kann. Bislang bietet nur der Shrew die notwendigen Einstellungen.

Wie es aussieht kann auch strongswan ipsec, ist aber gänzlich durch conf-Dateien gesteuert und schwer kompliziert. Da muss man schon ganz genau wissen was man da eigentlich tut. Ohne GUI geht das bei mir gar nicht.

Den Shrew habe ich jetzt unter openSUSE soweit das ich einen Phase 1-Tunnel aufbauen kann, bekomme jetzt aber keinen Traffic, d.h. Ping z.B. geht nicht. Bin bereits mit AVM wegen meiner Fritzbox in Kontakt, aber das Thema VPN ist immer schwierig wenn mehrere Komponenten beteiligt sind. :???:
 

spoensche

Moderator
Teammitglied
transwarp schrieb:
Den Shrew habe ich jetzt unter openSUSE soweit das ich einen Phase 1-Tunnel aufbauen kann, bekomme jetzt aber keinen Traffic, d.h. Ping z.B. geht nicht. Bin bereits mit AVM wegen meiner Fritzbox in Kontakt, aber das Thema VPN ist immer schwierig wenn mehrere Komponenten beteiligt sind. :???:


Poste mal die Ausgabe von
Code:
/sbin/ip route list
und vor allem genaue Fehlermeldungen.
 
OP
transwarp

transwarp

Hacker
Code:
linux-olli:/ # ip route list
192.168.178.0/24 dev eth0  proto kernel  scope link  src 192.168.178.26 
192.168.9.0/24 dev tap0  proto kernel  scope link  src 192.168.9.1 
169.254.0.0/16 dev eth0  scope link 
127.0.0.0/8 dev lo  scope link 
default via 192.168.178.1 dev eth0 
linux-olli:/ # 
linux-olli:/ # ifconfig
eth0      Link encap:Ethernet  HWaddr 00:19:66:C1:D0:C7  
          inet addr:192.168.178.26  Bcast:192.168.178.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1477 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5387 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:866803 (846.4 Kb)  TX bytes:6406301 (6.1 Mb)
          Interrupt:17 Base address:0x6000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:96 errors:0 dropped:0 overruns:0 frame:0
          TX packets:96 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:6424 (6.2 Kb)  TX bytes:6424 (6.2 Kb)

tap0      Link encap:Ethernet  HWaddr EA:9D:B3:8B:AA:49  
          inet addr:192.168.9.1  Bcast:192.168.9.255  Mask:255.255.255.0
          UP BROADCAST RUNNING  MTU:1380  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

linux-olli:/ #

Ich versuche von einem AVM-Netz (192.168.178.0/24) in das Netz meines Arbeitgebers zu kommen (192.168.0.0/22). Für die VPN-Verbindung wird mir eine virtuelle IP von der Firewall zugewiesen (tap0 = 192.168.9.1). Es gibt keine Fehlermeldungen im Shrew, alles scheint bestens. Nur kein Traffic eben.
 

spoensche

Moderator
Teammitglied
transwarp schrieb:
Es gibt keine Fehlermeldungen im Shrew, alles scheint bestens. Nur kein Traffic eben.

Der Shrew und anderer Client werden dir da auch nicht unbedingt einen Fehler melden, weil die die Verbindung aufgebaut worden ist und besteht.

Die default Route
Code:
default via 192.168.178.1 dev eth0

ist die Ursache, weil sämtlicher Verkehr ins Internet etc. über eth0 ins Internet geleitet wird und nicht über tap0. Deswegen kann für tap0 auch keiner mitgeschnitten und protokoliert werden.

Du musst in der Konfiguration des Shrew angeben, dass die default Route geändert werden soll.
 
OP
transwarp

transwarp

Hacker
Auf der einen Seite klingt das logisch.
Auf der anderen Seite ist und bleibt doch mein Router das Gateway, auch für die VPN-Verbindung.

Im Shrew selbst läßt sich das Gateway nicht einstellen. Bedeutet das, ich müßte vorher mein default gateway auf die andere (virtuelle) Schnittstelle legen?
Wie mache ich das?

Der Befehl
Code:
route add gw 192.168.178.1
läßt, glaube ich, nicht die Angabe eines devices zu. Oder geht auch?:
Code:
route add gw 192.168.178.1 dev tap0

Problem 2:
tap0 existiert als virtuelles Device erst wenn der Tunnel etabliert ist, vorher nicht. Das bedeutet auch, ich kann es erst ansprechen wenn die Verbindung aufgebaut ist. Damit dürfte sich meine Frage wohl beantwortet haben. :???:
 

drboe

Member
transwarp schrieb:
läßt, glaube ich, nicht die Angabe eines devices zu. Oder geht auch?:
Code:
route add gw 192.168.178.1 dev tap0

Das Default-Gateway würde ich nicht antasten, solange Du nicht den gesamten Traffic über das Gateway im VPN leiten willst bzw. musst. Laut Manpages zu 'route' funktioniert 'route add -net <Zielnetz> netmask <Netzmaske> dev eth0'. Demnach müsste auch 'route add -net 192.168.0.0 netmask 255.255.255.0 dev tap0' gehen, wenn das tap-Device initialisiert ist und eine IP hat.

M. Boettcher
 
OP
transwarp

transwarp

Hacker
@drboe:

Gute Idee. Hab das jetzt mal ausprobiert und der Befehl läßt sich auch ohne Fehlermeldung absetzen.
Danach sieht meine Routing-Tabelle folgendermaßen aus:

Code:
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.178.0   *               255.255.255.0   U     0      0        0 eth0
192.168.9.0     *               255.255.255.0   U     0      0        0 tap0
192.168.0.0     *               255.255.252.0   U     0      0        0 tap0
link-local      *               255.255.0.0     U     0      0        0 eth0
loopback        *               255.0.0.0       U     0      0        0 lo
default         fritz.box       0.0.0.0         UG    0      0        0 eth0

Leider hat das Ganze keinen Effekt, denn Ping geht noch immer nicht. Alles wie tot.

Mittlerweile glaube ich an eine Unverträglichkeit zwischen Shrew und unserer Firewall. Nimmt man nämlich den Watchguard-eigenen VPN-Client unter Windows funktioniert die Verbindung aus dem Stand, obwohl meines Erachtens die Einstellungen gleich sind (soweit ich das bei zwei unterschiedlichen Programmen beurteilen kann).

Für den umgekehrten Weg nutze ich die Tools von Avm (auch unter Windows), um von der Firma in mein AVM-Netz zu kommen und auch da keine Probleme.

Verwende ich den Shrew, egal in welcher Richtung, auch unter Windows, gibt es den besagten Effekt. Ist echt zum verzweifeln.
Dummerweise hätte ich aber gern etwas unter Linux ... :???:
 

gerlinde

Newbie
Hi Transwarp,

hast du denn die AVM Box ( welche ) so eingerichtet wie auf der Seite von AVM angegeben?

http://www.avm.de/de/Service/Service-Portale/Service-Portal/VPN_Interoperabilitaet/15729.php?portal=VPN

Was meinst du mit Ping geht nicht? Kannst du keinen Rechner in deinem Heimnetz erreichen?


Gruß,
gerlinde
 
OP
transwarp

transwarp

Hacker
@gerlinde:
Ja, habe ich. Alle Einstellungen sind so, das ich z.B. unter Windows mit dem AVM-eignenen Tool 'Fernzugang' problemlos in mein Netz komme. Umgekehrt komme ich mit dem Watchguard-Client problemlos in meine Firma.

Nutze ich aber den Shrew unter Linux, kommt zwar eine Verbindung zustande, d.h. der Tunnel (Phase 1) wird aufgebaut. Danach ist aber kein Datenverkehr möglich, also auch Ping geht nicht ...

Hab den Versuch mittlerweile aufgegeben, da mir auch der Support von AVM niht weiterhelfen konnte. Laut AVM muss die FritzBox nicht weiter für einen iPsec-Tunnel konfiguriert werden. :irre:
 

gerlinde

Newbie
@transwarp

Premisse : Du hast die AVM-Box so konfiguriert wie in o.g. Link.


Probier doch einmal mit dem Shrew Client unter Windows
dein eigenes Netz/Subnetz zu erreichen. Zugriff/Ping an z.B. einen
Rechner in deinem eigenen Netz sollte dann funktionieren ! ;)
Check dann auch einmal in dem Log der AVM-Box die VPN Verbindungen.

Wenn das soweit funktioniert, kopiere dir die ShrewConfig aus Win nach Linux und teste dann
auf diesem System ( von außen auf deine Fritz Box ).

Die andere Richtung Heim --> Firma dann im nächsten Step.
 

AHoppe

Member
Falls noch jemand wissen muss, welche Pakete unter 11.3 installiert sein müssen, um shrew zu compilen:

qt3
qt3-devel
qt3-devel-tools
qt3-extensions

Damit hat bei mir alles wunderprächtig geklappt.

Grüße

Andreas
 
Oben