Sie sind nicht angemeldet.

1

09.08.2013, 09:23

Forticlient-SSLvpn legt keine Routen an

Hallo Leute,

ich habe das Ebuild für den Forticlient-SSLvpn komplett überarbeitet und aktualisiert. Das funktioniert auch, aber nur auf meinen Gentoo Desktoprechner. Auf allen anderern Distris wie z.B. Ubuntu (haben hier auch ein Debianpaket gebaut) funktioniert der Client auch einwandfrei. Dieser Client benutzt auch PPTP.
Also wie gesagt bei meinem Desktoprechner funzt das Teil einwandfrei. Bei allen anderen Gentoo Neuinstallationen von mir funktioniert er nicht richtig. Es werden einfach keine Routen gelegt. Also fehlt mir hier definitiv eine Abhängigkeit, entweder ein Programm oder was im Kernel. Ich hab hier schon so viel probiert, aber mir gehen die Ideen aus. Eine normale PPTP Verbindung mit dem Networkmanager tut. Bei Forticlient muss man die Route immer mit route add legen. Nach ca 10 - 15 Minuten ist die Route aber auch wieder weg. Das ist auch komisch.
Auf jeden Fall ist es kein Rechteproblem, das habe ich schon ausgeschlossen.
Bevor ich das Ebuild in ein Overlay gebe muss es ja sicher funktionieren.

Irgendwelche Ideen?

Hier nochmal das Ebuild:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI=4

inherit eutils multilib toolchain-funcs


DESCRIPTION="SSL VPN Client for Fortinet"
HOMEPAGE="http://www.forticlient.com/"
SRC_URI="http://ftp.iteas.at/public/fortigate/forticlientsslvpn_linux_4.0.2289.tar.gz"
LICENSE="FortiClientSSLVPN"
SLOT="0"
IUSE=""
KEYWORDS="amd64 ~x86"
DEPEND=""
RDEPEND="${DEPEND}
	net-dialup/ppp
	app-emulation/emul-linux-x86-gtklibs
	sys-apps/iproute2"

S="${WORKDIR}/forticlientsslvpn"
QA_PREBUILT="opt/forticlient-sslvpn/forticlientsslvpn opt/forticlient-sslvpn/helper/subproc"


src_unpack() {
    unpack ${A}
    cd "${S}"
}

src_install() {
	exeinto opt/forticlient-sslvpn
	doexe forticlientsslvpn
	doexe forticlientsslvpn_cli
	cp -r helper ${D}/opt/forticlient-sslvpn/helper
	doicon helper/forticlientsslvpn.gif
	domenu helper/forticlientsslvpn.desktop
}

pkg_postinst() {
	ewarn "Forticlient SSL VPN is closed-source."
	einfo "Installed in /opt/forticlient-sslvpn"
	ewarn "To open multible vpn's use the CMD-Tool forticlientsslvpn_cli"
	ewarn "For the first setup start Foritclient with sudo privileges"
}


lg
boospy
Gentoo Can Do!

Wiki auf: http://deepdoc.at

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »boospy« (08.03.2014, 10:59)


2

12.08.2013, 07:04

Bist du dir ganz sicher, dass es "route add" ist und nicht vlt. "ip route add"?

Auch: wenn keine Routen angelegt werden, läuft der Client mit hinreichenden permissions? Und wenn du route wieder verschwindet: hast du da ein Netzwerk Manager laufen (eben: NetworkManager, wicd, etc.) der die Routen von sich manipuliert?
http://www.dyle.org
IM-Account (Jabber!) sind auf meiner HP ...
There is no place like /home

http://www.gentooforum.de
http://www.gentoofreunde.org

<div>how to annoy a web developer?</span>

3

12.08.2013, 17:38

Also auch mit root ist hier das gleiche Verhalten. Ich habs jetzt mal mit "ip route add" versucht. Tatsächlich bleibt die Route bestehen.
Networkmanager nutzen alle Geräte. Auch dieses wo es funktioniert. Ach werden nebenbei mit Networkmanager andere VPNs aufgebaut und geschlossen. Auch das beeinträchtigt das ganze nicht. Es wird lediglich die Route nicht gelegt. Und ich weis einfach nicht wieso, wo ich noch ansetzen könnte.
Gentoo Can Do!

Wiki auf: http://deepdoc.at

4

13.08.2013, 08:06

NetworkManager ist bei den Einstellungen für das Netzwerk sehr aggressiv. Der könnte auch die extern definierten Routen rauswerfen.
Du kannst aber auch im NetworkManager Interface selbst zusätzlichen Routen definieren. Hast du das schon mal probiert?
http://www.dyle.org
IM-Account (Jabber!) sind auf meiner HP ...
There is no place like /home

http://www.gentooforum.de
http://www.gentoofreunde.org

<div>how to annoy a web developer?</span>

5

26.09.2013, 16:00

Das mit den zusätzlichen Routen würde nicht funktionieren, da die Interfaces (ppp0,...) nur temporär existieren. Mir ist ein Unterschied aufgefallen. Ein Ifconfig sieht heutzutage so aus:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
enp5s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.67.19.111  netmask 255.255.255.0  broadcast 10.67.19.255
        inet6 fe80::11da:e8ef:fead:9cca  prefixlen 64  scopeid 0x20<link>
        ether 11:da:e9:4d:8b:ea  txqueuelen 1000  (Ethernet)
        RX packets 627585  bytes 255274029 (243.4 MiB)
        RX errors 0  dropped 1  overruns 0  frame 0
        TX packets 510858  bytes 132011954 (125.8 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Lokale Schleife)
        RX packets 5236  bytes 325826 (318.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5236  bytes 325826 (318.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Bei meinem PC wo es funktioniert sieht diese aber so aus:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
enp2s0    Protokoll:Ethernet  Hardware Adresse e3:ca:4d:0a:35:f3  
          inet Adresse:192.168.5.3  Bcast:192.168.5.255  Maske:255.255.255.0
          inet6 Adresse: fe80::e3ab:4ffe:ae3c:44f5/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8333575 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15564698 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000 
          RX bytes:5367061000 (4.9 GiB)  TX bytes:21463970339 (19.9 GiB)

lo        Protokoll:Lokale Schleife  
          inet Adresse:127.0.0.1  Maske:255.0.0.0
          inet6 Adresse: ::1/128 Gültigkeitsbereich:Maschine
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:328726 errors:0 dropped:0 overruns:0 frame:0
          TX packets:328726 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:0 
          RX bytes:107746325 (102.7 MiB)  TX bytes:107746325 (102.7 MiB)

Also eben der alte Look, das ich das zurück gestellt habe ist schon lange her, und ich habs mir damals auch nicht aufgeschrieben. Weis jemand wo man einstellt. Ich vermute mal dies ist ein Kernelflag.
Danke und lg
boospy
Gentoo Can Do!

Wiki auf: http://deepdoc.at

6

08.03.2014, 10:58

Es tatsächlich an der Ansicht der IFCONFIG. Ich hab mein Ebuild überarbeitet. Problem macht das Paket sys-apps/net-tools hier gibt es folgendes Useflag:

Quellcode

1
old-output : use old ifconfig output style (useful for when new output breaks scripts)

Nach setzen dieses Flags funktioniert der Forticlient ganz normal. Meine Vermutung ist das hier wohl was im neuen Format vom Client nicht richtig geparsed werden kann. Ich werde hier dem Hersteller raten seinen Client auf diese Änderung anzupassen.

lg
boospy
Gentoo Can Do!

Wiki auf: http://deepdoc.at

7

04.08.2014, 21:40

Hallo boospy

Super dein ebuild. :thumbsup: Aber gibt es das auch in einer aktuellen Version. Habe auch gesehen das es mittlerweile eine 64bit Version geben soll!

Hast du zu dem ebuild auch eine Beschreibung die Schritt für Schritt erklärt wie das Funktioniert und was man noch so machen muss damit der Client geht, bzw. der Tunnel! Ich versuche mich gerade daran und bekomme es nicht hin. Ich habe hier den 4.0. Client. Wenn ich den forticlientsslvpn_cli starte richtet er nichts ein, weder ein Device noch eine Route. Er sagt aber das er eine Verbindung aufgebaut hat und alle fertig ist! Nur sehe ich nichts unter ifconfig. Im Kernel habe ich folgendes eingestellt.

Quellcode

1
2
3
4
5
6
STATUS::Login succeed
STATUS::Starting PPPd
STATUS::Initializing tunnel
STATUS::Connecting to server
STATUS::Connected
Press Ctrl-C to quit


Quellcode

1
2
3
4
5
6
7
8
9
CONFIG_PPP=m
# CONFIG_PPP_BSDCOMP is not set
# CONFIG_PPP_DEFLATE is not set
# CONFIG_PPP_FILTER is not set
# CONFIG_PPP_MPPE is not set
# CONFIG_PPP_MULTILINK is not set
CONFIG_PPPOE=m
# CONFIG_PPP_ASYNC is not set
# CONFIG_PPP_SYNC_TTY is not set


Vieleicht sollte ich auch sagen das ich systemd nutze..
Intel Core2 Quad CPU @ 2.40GHz mit Gentoo/Gnome3

8

04.08.2014, 22:18

Hi,

das Ebuild ist jetzt in unserem Overlay. Ich baue jetzt auch nur mehr die 64bit Version. Wird von mir ständig gepflegt und erneuert. In der nächsten Version kommt dann ein Feature hinzu. Es wird die "no timeout" Funktion in die CLI mit reingenommen. Ist ja lässtig wenn man mehrere VPNs öffnet und man muss nen Ping laufen lassen. Das mit dem Oldoutput ist hinfällig, der Code wurd abgehändert damit es mit und ohne funktioniert. Nun zu deinen Problem:

Bei mir sieht es im Kernel so aus:

Quellcode

1
2
3
4
5
6
7
8
9
10
grep CONFIG_PPP .config
CONFIG_PPP=m
CONFIG_PPP_BSDCOMP=m
CONFIG_PPP_DEFLATE=m
# CONFIG_PPP_FILTER is not set
CONFIG_PPP_MPPE=m
# CONFIG_PPP_MULTILINK is not set
# CONFIG_PPPOE is not set
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m

Wenn ich dann mit dem Forticlient mit Grafischer Oberfläche oder mit mit CLI einen Tunnel aufbaue, werden die Module hierfür geladen:

Quellcode

1
2
3
4
5
6
lsmod | grep ppp
ppp_deflate             3462  0 
ppp_async               5972  1 
ppp_generic            15619  7 bsd_comp,ppp_async,ppp_deflate
slhc                    3914  1 ppp_generic
zlib_deflate           17390  2 btrfs,ppp_deflate


lg
boospy
Gentoo Can Do!

Wiki auf: http://deepdoc.at

9

04.08.2014, 22:45

Suppi, danke für die schnelle Antwort. Dann werde ich mal die Kerneleinstellungen abändern und testen. Aber nicht mehr heute. Melde mich dann wieder.
Intel Core2 Quad CPU @ 2.40GHz mit Gentoo/Gnome3

10

04.08.2014, 22:47

Geht klar,
Dann... gute Nacht.

lg
Gentoo Can Do!

Wiki auf: http://deepdoc.at

11

05.08.2014, 22:43

So, getestet und geht. Mehr gibt es dazu nicht zu sagen :thumbsup: Super Arbeit, danke.

Habe aber noch Fragen. Für was ist eigentlich das 64bit Flag und die LANGS Variable? Werden die genutzt? Git es auch ein 32bit?


War so frei und habe mir eine Kopie gemacht und die Abfrage der Kernelmodule eingefügt.

Quellcode

1
2
3
4
5
6
inherit eutils multilib linux-info toolchain-funcs

pkg_pretend() {
        CONFIG_CHECK="PPP PPP_BSDCOMP PPP_DEFLATE PPP_MPPE PPP_ASYNC PPP_SYNC_TTY"
        check_extra_config
}
Intel Core2 Quad CPU @ 2.40GHz mit Gentoo/Gnome3

12

08.08.2014, 15:48

Hi,

vielen Dank für die Anpassung, das mit dem Check der config ist ne super Idee. Habs jetzt eingebaut.

lg
boospy
Gentoo Can Do!

Wiki auf: http://deepdoc.at

13

05.09.2014, 09:33

Hab jetzt auch ein 32bit Ebuild erstellt, ist im Overlay verfügbar. Habs aber maskiert, konnte es nicht testen, da ich kein 32bit System habe.

lg
Gentoo Can Do!

Wiki auf: http://deepdoc.at

14

16.09.2014, 22:38

Hi boospy

Habe den 32bit Client getestet und ein paar Fehler bemerkt. Zum einen geht die GUI nicht. Es kommt dieser Fehler nachdem er den Lizenz Krempel angezeigt hat. Habe es auch direkt mit root Anmeldung versuch. Kein Unterschied.

Quellcode

1
showlicense: Fatal IO error 5 (Eingabe-/Ausgabefehler) on X server :0.0.


Der Konsolen-Client geht, aber nach beenden des Clients ist die resolve.conf leer, was nicht gut ist. Man muss dann das Netz neu verbinden.
Intel Core2 Quad CPU @ 2.40GHz mit Gentoo/Gnome3

15

16.09.2014, 22:48

Danke fürs testen, habs hard maskiert. Zwecks dem Fehler kann ich dir leider nichts sagen, ich hab niergens ein 32bit Gentoo System. Nur einige Server, aber da gibt es kein X. Falls du den Fehler suchen und beheben möchtest, bist du natürlich herzlich willkommen. Ich schick dir Morgen das original Paket von den Fortidevs. Vielleicht hilft dir das. Ansonsten hab ich es gleich gelöst wie beim 64bit Client.

lg
boospy
Gentoo Can Do!

Wiki auf: http://deepdoc.at

16

19.09.2014, 20:34

Danke fürs testen, habs hard maskiert.

Mh, das ist hard ;) Der Client funktioniert doch. Der cli ging ja schon, testen konnte ich jetzt auch den GUI Client. Der oben genannte Fehler kommt durch das Programm showlicense. Das wird aber nur beim ersten Start aufgerufen. Umgehen kann man das indem man dem subproc die richtigen Rechte mit chmod u+s subproc gibt. Dann geht alles ohne Probleme. Bis auf das resolv.conf Problem.
Intel Core2 Quad CPU @ 2.40GHz mit Gentoo/Gnome3

17

19.09.2014, 22:16

Ja, und wie ist es wenn du es direkt mit SUDO beim Ersten mal aufrufst? Policykit hab ja nicht eingebaut. Oder kommt das sowiso egal was du machst?

lg
Gentoo Can Do!

Wiki auf: http://deepdoc.at

18

19.09.2014, 22:41

Ja, und wie ist es wenn du es direkt mit SUDO beim Ersten mal aufrufst? Policykit hab ja nicht eingebaut. Oder kommt das sowiso egal was du machst?

Der Fehler kam immer, sogar wenn man showlicenc direkt aufruft. Sogar als root in Konsole und mit Login. Habe es mit XFCE und gnome3 versucht. Egalwas ich gemacht habe, der Fehler geht nicht weg.

Wenn man den Client als User aufruft will er das root Passwort. Es werden ja Rechte gesetzt. Dann kommt aber direkt der Fehler das sudo nicht installiert ist. Das ist aber OK. Müsste man aber noch ins ebuild aufnehmen. Allerdings bin ich mir nicht sicher ob das der richtige Weg ist.
Intel Core2 Quad CPU @ 2.40GHz mit Gentoo/Gnome3

19

20.09.2014, 20:38

Hi boospy

Hier noch ein Nachtrag für den Fehler mit der resolv.conf. Auf dem 32bit Rechner war/ist net-dns/openresolv installiert. Das hat dafür gesorgt das die resolv.conf gelöscht wurde. Eingeschleppt hat das Programm womöglich vpnc. Es hat zumindest ein USE-Flag dafür welches gesetzt ist. :huh:

Warum resolvconf aber von forti aufgerufen wird weiß ich nicht. Auf jeden Fall sorgt resolvconf dafür das die resolv,conf leer ist wenn der Client beendet wird. Das passiert übrigends auch auf dem 64bit Rechner. Habe es dort ausprobiert. Umgehen kann man das noch wenn im Script cleanup.linux.sh das zurück kopieren der resolv.conf nach dem löschen des Gateways erfolgt. Aber etwa 5 Sekunden später.

Jetzt bleibt noch der Fehler mit dem IO-Error. Mal sehen ob ich da was finde... Danke übrigens für den Client


Edit: Das mit der resolv.conf und dem Programm resolvconf liegt nicht an dem Forti-Client. Daran ist ppp schult denn es prüft ab resolvconf installiert ist. Siehe dazu die DNS Scripte in if-up.d und if-down.d. Vieleicht sollte man in dem ebuild darauf hinweisen das man resolvconf besser nicht installiert. Alternativ könnte man auch ppp so konfigurieren das es mit resolvconf läuft.
Intel Core2 Quad CPU @ 2.40GHz mit Gentoo/Gnome3

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »_Dirk_« (21.09.2014, 18:43)