Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
vpnc [Le 30/04/2011, 13:01] – [Conversion d'un profil Cisco Systems® en profil Vpnc] thierrybo | vpnc [Le 21/07/2020, 10:10] (Version actuelle) – [Installation] fidjiflorian | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | ---- | ||
+ | ====== VPNC ou « libérer » sa connexion VPN Cisco Systems® ====== | ||
+ | |||
+ | On peut déjà constater l' | ||
+ | |||
+ | Comparé au client VPN Cisco Systems®, la procédure d' | ||
+ | |||
+ | À titre d' | ||
+ | |||
+ | |||
+ | ===== Installation ===== | ||
+ | |||
+ | [[: | ||
+ | |||
+ | Pour l' | ||
+ | ===== Création du fichier de conf ===== | ||
+ | Votre administrateur vous a peut-être fournis les infos qui composent le | ||
+ | <file - mon_fichier_vpnc.conf> | ||
+ | IPSec gateway < | ||
+ | IPSec ID < | ||
+ | IPSec secret < | ||
+ | Xauth username < | ||
+ | Xauth password < | ||
+ | </ | ||
+ | puis [[vpnc# | ||
+ | ===== Conversion d'un profil Cisco Systems® en profil Vpnc ===== | ||
+ | |||
+ | Le poste étant connecté à Internet, on place le fichier-profil Cisco Systems® avec l' | ||
+ | / | ||
+ | <note tip> | ||
+ | Si vous avez comme retour 'bash: usr/ | ||
+ | < | ||
+ | </ | ||
+ | Le résultat ressemble a ceci : | ||
+ | < | ||
+ | ## generated by pcf2vpnc | ||
+ | IPSec ID XXXXX | ||
+ | IPSec gateway XXX.XXX.XXX.XXX | ||
+ | IPSec secret XXXXXXXX | ||
+ | |||
+ | IKE Authmode psk | ||
+ | |||
+ | ## To add your username and password, | ||
+ | ## use the following lines: | ||
+ | # Xauth username <your username> | ||
+ | # Xauth password <your password> | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | Parfois, la ligne IPSec gateway est donné en adresse du site Web (avec des lettres), si ça ne marche pas, on la convertit alors en adresse IP en ouvrant un Terminal puis en tapant (connexion Internet requise...) : | ||
+ | |||
+ | host ADRESSE_DU_SITE_WEB | ||
+ | </ | ||
+ | |||
+ | |||
+ | < | ||
+ | En dé-commentant (enlever le symbole #) les lignes Xauth et en remplaçant <your username> | ||
+ | </ | ||
+ | |||
+ | On sauvegarde le résultat dans un fichier texte simple en lui rajoutant une extension « .conf » : le profil Vpnc est créé. | ||
+ | |||
+ | //Pour la suite de ce tutoriel, nous nommerons ce fichier " | ||
+ | |||
+ | < | ||
+ | Avec les versions récentes de vpnc, si vous avez le message: | ||
+ | |||
+ | vpnc: | ||
+ | |||
+ | vous pouvez améliorer vos chances de connexion en ajoutant : | ||
+ | |||
+ | < | ||
+ | |||
+ | à la fin du fichier vpn.conf | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Configuration du Client VPN Vpnc ===== | ||
+ | |||
+ | [[:sudo|On place en tant que super-utilisateur]] le fichier-profil « vpn.conf » dans le répertoire « /etc/vpnc/ ». | ||
+ | |||
+ | Une commande dans un Terminal permet de copier simplement le fichier vpn.conf depuis son Dossier personnel (le répertoire / | ||
+ | |||
+ | < | ||
+ | sudo cp vpn.conf /etc/vpnc/ | ||
+ | </ | ||
+ | |||
+ | ===== Lancement du Client VPN Vpnc ===== | ||
+ | |||
+ | |||
+ | ==== Connexion Manuelle ==== | ||
+ | |||
+ | Le client Vpnc peut être lancé en tapant ces lignes dans un Terminal : | ||
+ | * connexion : < | ||
+ | * De plus si vous créez un lien symbolique " | ||
+ | * < | ||
+ | * déconnexion : < | ||
+ | |||
+ | ==== Connexion " | ||
+ | On crée un Lanceur-raccourcis en cliquant avec le bouton droit de la souris sur le bureau puis « Créer un Lanceur » puis en entrant comme commande : < | ||
+ | Quand on clique sur le lanceur-raccourcis une demande de mot de passe **super-utilisateur** apparaît puis un Terminal avec les demandes d' | ||
+ | |||
+ | |||
+ | ==== Connexion " | ||
+ | Cette solution permet de lancer une déconnexion avant de relancer une nouvelle connexion, notamment utile si votre débit est faible et que la connexion est instable. | ||
+ | Bien sûr vous pouvez ajouter d' | ||
+ | |||
+ | On crée un dossier vpn et le fichier de connexion dans le répertoire home: | ||
+ | < | ||
+ | Ensuite on remplit le fichier texte contenant les commandes : | ||
+ | |||
+ | < | ||
+ | pour voir le résultat : | ||
+ | < | ||
+ | |||
+ | Puis on crée un Lanceur-raccourcis en cliquant avec le bouton droit de la souris sur le bureau puis « Créer un Lanceur » puis en entrant comme commande : | ||
+ | < | ||
+ | |||
+ | ('' | ||
+ | |||
+ | ==== Connexion via Network Manager - DRAFT ==== | ||
+ | On utilise Kvpnc ou l' | ||
+ | |||
+ | NB : cette dernière solution peut ne pas fonctionner avec certains systèmes et pilotes de cartes WIFI. | ||
+ | |||
+ | |||
+ | Après avoir installé vpnc et converti le profil Cisco System®, ouvrir le **Network-manager** et aller dans l' | ||
+ | < | ||
+ | Toutes ces informations sont aussi dans le fichier *.pcf, mais sous des noms différents.</ | ||
+ | |||
+ | Cliquer sur **Ajouter** | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Dans le menu déroulant choisir //VPN Compatible Cisco (vpnc)// | ||
+ | |||
+ | Enter un nom voulu pour la connexion vpn et compléter en utilisant les informations récoltées dans le terminal : | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | Dans le second onglet, **Paramètre IPv4**, sous //ID client DHCP//, entrer : dh2 | ||
+ | |||
+ | |||
+ | Clquer sur **Valider** et c'est configuré. | ||
+ | |||
+ | |||
+ | Pour se connecter, il suffit d'un petit clic gauche sur l' | ||
+ | |||
+ | |||
+ | < | ||
+ | |||
+ | < | ||
+ | +++ nm-vpnc-service.conf 2009-04-18 17: | ||
+ | @@ -6,6 +6,10 @@ | ||
+ | | ||
+ | | ||
+ | | ||
+ | + < | ||
+ | + < | ||
+ | + < | ||
+ | + </ | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | <note important> | ||
+ | Le plus simple est d' | ||
+ | |||
+ | |||
+ | < | ||
+ | This algorithm is considered to weak today | ||
+ | If your vpn concentrator admin still insists on using DES | ||
+ | use the " | ||
+ | Utiliser l' | ||
+ | |||
+ | |||
+ | < | ||
+ | Utiliser l' | ||
+ | |||
+ | |||
+ | < | ||
+ | Utiliser l' | ||
+ | |||
+ | |||
+ | < | ||
+ | Utiliser l' | ||
+ | |||
+ | |||
+ | <note tip>Tous ces paramètres sont aussi dans le fichier *.pcf, mais certains (tels le **mot de passe groupe**) sont cryptés.</ | ||
+ | |||
+ | ==== Problème de connexion: Deux mots de passe demandes ==== | ||
+ | |||
+ | Il se peut que le logiciel vpnc demande deux mots de passe : | ||
+ | < | ||
+ | root@pc:/ | ||
+ | Enter username for xxx.xxx.xxx.xxx: | ||
+ | Enter password for xxxx@xxx.xxx.xxx.xxx: | ||
+ | Password for VPN xxxx@xxx.xxx.xxx.xxx: | ||
+ | Password for VPN xxxx@xxx.xxx.xxx.xxx: | ||
+ | vpnc-connect: | ||
+ | |||
+ | Ceci veut dire que vous avez fait une erreur dans votre login ou mot de passe. | ||
+ | |||
+ | Exemple d' | ||
+ | |||
+ | Sur un domaine Windows, il faut parfois écrire dans le fichier de conf. | ||
+ | |||
+ | Xauth username nom_du_domaine\utilisateur | ||
+ | au lieu et place de | ||
+ | Xauth username utilisateur | ||
+ | Domain nom_du_domaine | ||
+ | |||
+ | |||
+ | ==== Problèmes avec firestarter ==== | ||
+ | L' | ||
+ | < | ||
+ | iptables -A INPUT -j ACCEPT -s w.x.y.z -p esp | ||
+ | iptables -A INPUT -j ACCEPT -s w.x.y.z -p udp -m multiport --sports isakmp, | ||
+ | iptables -A INPUT -j ACCEPT -i tun+ | ||
+ | iptables -A OUTPUT -j ACCEPT -d w.x.y.z -p esp | ||
+ | iptables -A OUTPUT -j ACCEPT -d w.x.y.z -p udp -m multiport --dports isakmp, | ||
+ | iptables -A OUTPUT -j ACCEPT -o tun+ | ||
+ | </ | ||
+ | il faut remplacer w.x.y.z par l' | ||
+ | Il faut autoriser le protocole esp (données encryptées) dans les 2 sens. | ||
+ | Il faut autoriser IKE (isakmp) dans le sens PC-> | ||
+ | Certaines configurations de passerelles utilisent le port UDP/10000 pour encapsuler le flux ESP. | ||
+ | Au lancement de firestarter, | ||
+ | |||
+ | |||
+ | ==== Connexion à l' | ||
+ | |||
+ | Dans un cas courant, il peut être utile de se connecter automatiquement à l' | ||
+ | |||
+ | <note warning> | ||
+ | |||
+ | Le code source du programme, baptisé usvpnc pour l' | ||
+ | |||
+ | < | ||
+ | / | ||
+ | * | ||
+ | * Lanceur du client VPN Cisco vpnc en user-space | ||
+ | * Les options en ligne de commande sont passees directement a vpnc | ||
+ | * | ||
+ | * Le binaire resultant de la compilation de ce code doit appartenir a | ||
+ | * l' | ||
+ | * | ||
+ | * == Rappels == | ||
+ | | ||
+ | * Pour compiler: | ||
+ | * | ||
+ | * Pour changer les droits: (en root) chown root:root usvpnc | ||
+ | | ||
+ | * | ||
+ | * Il est ensuite possible de placer l' | ||
+ | * plus propre), puis de l' | ||
+ | * Gnome). | ||
+ | | ||
+ | | ||
+ | |||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | |||
+ | int main(int argc, char **argv) | ||
+ | { | ||
+ | // UID est deja a 0 (=root) avec le bit setuid sur le binaire | ||
+ | |||
+ | // placement de UID, GID et EGID a 0 aussi | ||
+ | setuid(0); | ||
+ | setgid(0); | ||
+ | setegid(0); | ||
+ | |||
+ | // positionnement de argv[0] a la valeur " | ||
+ | argv[0] = " | ||
+ | |||
+ | // execution de vpnc | ||
+ | execvp(" | ||
+ | |||
+ | // execute si le exec() s'est mal termine | ||
+ | fprintf(stderr, | ||
+ | |||
+ | return EXIT_FAILURE; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Copiez ce code dans un fichier usvpnc.c et ouvrez un terminal. | ||
+ | Si vous n'avez pas le paquet build-essential, | ||
+ | < | ||
+ | gcc -Wall -o usvpnc usvpnc.c | ||
+ | </ | ||
+ | |||
+ | Passez ensuite dans un terminal root et placez les droits adaptés sur le fichier : | ||
+ | < | ||
+ | chown root:root usvpnc | ||
+ | chmod u=rws, | ||
+ | </ | ||
+ | |||
+ | Au passage, vous pouvez le copier dans un des répertoires standard : | ||
+ | < | ||
+ | cp usvpnc / | ||
+ | chmod u=rws, | ||
+ | </ | ||
+ | |||
+ | Et voila ! Vous pouvez désormais utiliser la commande usvpnc à partir d'un terminal utilisateur (non administrateur) avec les même arguments que la commande vpnc (ils sont passés de manière transparente). Une des utilisations possible est de configurer Gnome pour lancer la connexion VPN automatiquement au démarrage de la session (Système-> | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ---- | ||
+ | |||
+ | // |