Comment connecter mon Ubuntu à mon lieu de travail, GlobalProtect VPN, en utilisant Win 7 VM

19

Je souhaite me connecter à mon lieu de travail VPN PaloAlto GlobalProtect. Le problème: il n'y a pas de client Linux (ou je peux utiliser Linux mais cela nécessite la coopération du groupe informatique ...)

ozma
la source

Réponses:

25

J'ai récemment étendu le fantastique client VPN open source OpenConnect pour prendre en charge le VPN PAN GlobalProtect, à la fois dans ses modes SSL-VPN et IPsec / ESP.

C'est un travail en cours , mais je l'ai déjà utilisé pour un vrai travail et cela fonctionne très bien pour moi. Avoir d'autres personnes le tester serait génial et je me réjouis de vos commentaires!

Créez la globalprotectbranche à partir de ce référentiel: https://github.com/dlenski/openconnect

... puis exécutez-le comme ceci pour le tester (vous pouvez omettre la --certificatepartie si votre VPN n'utilise pas de certificat client):

$ ./openconnect --protocol=gp [--certificate=my_cert_with_pk.pem] \
              server.company.com --dump -vvv
Please enter your username and password.
Username: 
Password: 

Actuellement, il ne prend en charge que le nom d'utilisateur, le mot de passe et éventuellement l'authentification par certificat client ... car c'est le seul exemple que j'ai. Mais j'accueillerais volontiers vos commentaires s'il existe d'autres méthodes d'authentification.

PS- Pour mon VPN, le serveur tunnel VPN est le même que le serveur "portail" VPN, mais votre VPN peut différer. Essayez d'utiliser à la fois l '"adresse de portail" et l' "IP de passerelle GlobalProtect" affichées dans le client Windows avec OpenConnect:

[ Client Windows GlobalProtect]

Dan
la source
1
C'est tout simplement parfait! La seule solution qui a fonctionné pour moi sans poser aux administrateurs de questions de configuration supplémentaires! J'espère qu'il fera son chemin vers la sortie officielle
Eugene Sh.
Impressionnant! Vous êtes la deuxième personne à l'utiliser avec succès :). Veuillez signaler tout problème sur le tracker Github, donc je ne bogue pas trop la liste de diffusion officielle jusqu'à ce qu'elle arrive dans la version.
Dan
BTW, je ne suis pas beaucoup dans les VPN, alors pardonnez ma question. lorsque je me connecte via le client GP, j'utilise une passerelle spécifique (vpn.company.com), ce qui me permet ensuite de me connecter à l'un des différents emplacements (vpn1.company.com, vpn2.company.com, etc.) . Avec OpenConnect, je peux me connecter explicitement à vpn.company.com ou à n'importe quel autre vpnx. Existe-t-il un moyen de choisir l'emplacement spécifique lors de la connexion à la passerelle principale?
Eugene Sh.
Je ne sais pas trop ce que vous demandez. OpenConnect devrait fonctionner avec l' un des serveurs de passerelle ... est-ce le cas? Le client officiel peut être "verrouillé" pour vous diriger vers une passerelle spécifique, mais openconnect ne se soucie pas du profil qui vous dirige vers un serveur particulier.
Dan
1
Cool merci. Maintenant, j'en ai besoin pour être packagé pour Fedora et avoir un plugin NetworkManager (enfin, je plaisante. Il fonctionne maintenant assez bien) :)
Eugene Sh.
0

Ma configuration de travail hôte Linux ifconfig :

vboxnet0  Link encap:Ethernet  HWaddr 0a:ee:27:00:09:00  
        inet addr:192.168.137.100  Bcast:192.168.137.255  Mask:255.255.255.0
        inet6 addr: fe80::800:27ff:fe00:0/64 Scope:Link
        UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
        RX packets:0 errors:0 dropped:0 overruns:0 frame:0
        TX packets:1340 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:429784 (429.7 KB)

wlan0     Link encap:Ethernet  HWaddr 82:49:34:1a:a6:e9  
          inet addr:10.157.48.55  Bcast:10.157.48.255  Mask:255.255.255.0
          inet6 addr: fe80::8219:34ff:fe15:a6e9/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:10935 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9571 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:6235519 (6.2 MB)  TX bytes:2625822 (2.6 MB)

Route hôte Linux:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         10.157.48.1     0.0.0.0         UG    400    0        0 wlan0
10.0.0.0        192.168.137.1   255.0.0.0       UG    0      0        0 vboxnet0
link-local      *               255.255.0.0     U     1000   0        0 wlan0
192.168.137.0   *               255.255.255.0   U     100    0        0 vboxnet0

~ $ netstat -nr

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         10.157.48.1     0.0.0.0         UG        0 0          0 wlan0
10.0.0.0        192.168.137.1   255.0.0.0       UG        0 0          0 vboxnet0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 wlan0
192.168.137.0   0.0.0.0         255.255.255.0   U         0 0          0 vboxnet0

Windows igconfig:

Ethernet adapter VPN:

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::a0fd:e08a:6a52:87db%12
   IPv4 Address. . . . . . . . . . . : 10.7.8.23
   Subnet Mask . . . . . . . . . . . : 255.255.255.255
   Default Gateway . . . . . . . . . :

Ethernet adapter vboxnet0:

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::a4bb:6e53:572:5682%13
   IPv4 Address. . . . . . . . . . . : 192.168.137.1
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . :

Ethernet adapter Local Area Connection:

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::90de:f93f:b73d:871f%11
   IPv4 Address. . . . . . . . . . . : 10.0.2.15
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 10.0.2.2
ozma
la source
0

Je passe quelques heures dans ce projet et ça marche vraiment:

https://github.com/dlenski/openconnect

Je ne comprends pas qu'il existe aujourd'hui une application Android pour Global Project et ne présente aucune solution pour Ubuntu ou d'autres utilisateurs Linux.

Donc, je dois installer de nombreux packages pour effectuer ces étapes:

./autogen.sh
./configure

n'abandonnez pas! Meilleures salutations

LeoJava
la source
Est-il possible que vous puissiez développer cela davantage et expliquer comment cela fonctionnerait à partir d'une machine virtuelle Windows, hébergée sur une machine Ubuntu?
ThatGuy
-1

(en supposant que le sous-réseau VPN est "10.0.0.0/255.0.0.0", vous pouvez vous adapter à vos besoins)

  1. Installez win 7 VM.
  2. Installez et configurez l'accès VPN dans la machine virtuelle Windows et partagez la connexion Internet de l'adaptateur virtuel VPN
  3. Dans virtualbox, allez dans: Fichier -> Préférences -> Réseau -> Réseaux hébergés uniquement -> ajoutez un réseau et modifiez-le pour avoir l'IP 192.168.137.100 suivante * voir dépannage 1
  4. faire une sauvegarde de /etc/resolve.conf
  5. (je suis maintenant avec ubuntu 15.10) définissez le DNS manuellement dans votre configuration de connexion pour être 192.168.137.1 et certains autres DNS qui ne sont pas dans la machine virtuelle et non dans le VPN (par exemple, votre routeur IP, ISP dns ip, etc.). (l'ancienne astuce n'était pas parfaite: remplacer "nameserver que ce soit" par "nameserver 192.168.137.1"), vous pouvez "nslookup google.com" et voir l'adresse IP du DNS dans la réponse
  6. add route - "route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.137.1"

Dépannage: 1. Dans la machine virtuelle Windows, vérifiez l'IP de l'hôte uniquement, puis assurez-vous que le vboxnet0 se trouve dans le même sous-réseau, essayez d'envoyer une requête ping à l'ip de l'adaptateur vbox-net qui se trouve dans la machine Windows.

ozma
la source