Mikaël Grialou <mikael.grialou@inrae.fr> v2.2, 09-2022
Contexte
La DSI INRAE met à disposition un service d’accès aux données et applications depuis l’extérieur en utilisant un système de VPN.
Les documentations de configuration des clients VPN sous Windows, Mac et Linux sont directement disponible dans Ariane.
La documentation personnelle ci-dessous explique plus spécifiquement la configuration pour une machine Linux utilisant une distribution Debian ou dérivés (ex : Ubuntu).
Pré-requis
-
Demander le service (Ariane)
Pour en bénéficier, chaque agent INRAE doit faire la demande via Ariane : https://ariane.inra.fr
Demander un service > Informatique d’appui et de proximité > Services Réseau-Sécurité et Téléphonie > Accès aux données et applications depuis l’extérieur.
Compléter le formulaire et attendre l’approbation de cette demande.
-
Compte administrateur
Dans cette documentation les commandes sont à effectuer avec le compte root ou en utilisant la commande sudo
-
Installation des paquets
sudo apt update; sudo apt install vpnc vpnc-scripts
Pour la configuration et l’utilisation du VPN, deux solutions possibles expliquées ci-dessous :
-
En ligne de commande via la commande
vpnc- (recommandée) -
Via le NetworkManager de l’environnement graphique
En ligne de commande
| Ne pas oublier d’utiliser sudo ! |
Créer le fichier /etc/vpnc/vpnc-split
#!/bin/sh
# This script is called from the vpnc.conf
# ...
# ...
# Script /etc/vpnc/vpnc_split
# Add one IP to the list of split tunnel
add_ip ()
{
export CISCO_SPLIT_INC_${CISCO_SPLIT_INC}_ADDR=$1
export CISCO_SPLIT_INC_${CISCO_SPLIT_INC}_MASK=$2
export CISCO_SPLIT_INC_${CISCO_SPLIT_INC}_MASKLEN=$3
export CISCO_SPLIT_INC=$(($CISCO_SPLIT_INC + 1))
}
# Initialize empty split tunnel list
export CISCO_SPLIT_INC=0
# Delete DNS info provided by VPN server to use internet DNS
# Comment following line to use DNS beyond VPN tunnel
unset INTERNAL_IP4_DNS
# List of IPs or Nets beyond VPN tunnel
add_ip 138.102.0.0 255.255.128.0 17
add_ip 138.102.128.0 255.255.240.0 20
add_ip 138.102.144.0 255.255.248.0 21
add_ip 138.102.152.0 255.255.255.248 29
add_ip 138.102.152.16 255.255.255.240 28
add_ip 138.102.152.32 255.255.255.224 27
add_ip 138.102.152.64 255.255.255.192 26
add_ip 138.102.152.128 255.255.255.128 25
add_ip 138.102.153.0 255.255.255.0 24
add_ip 138.102.154.0 255.255.254.0 23
add_ip 138.102.156.0 255.255.252.0 22
add_ip 138.102.192.0 255.255.192.0 18
add_ip 139.124.42.0 255.255.255.0 24
add_ip 147.99.0.0 255.255.0.0 16
add_ip 147.100.0.0 255.255.128.0 17
add_ip 147.100.128.0 255.255.224.0 19
add_ip 147.100.160.0 255.255.248.0 21
add_ip 147.100.168.0 255.255.252.0 22
add_ip 147.100.172.0 255.255.255.192 26
add_ip 147.100.172.72 255.255.255.248 29
add_ip 147.100.172.80 255.255.255.240 28
add_ip 147.100.172.96 255.255.255.224 27
add_ip 147.100.172.128 255.255.255.128 25
add_ip 147.100.173.0 255.255.255.0 24
add_ip 147.100.174.0 255.255.254.0 23
add_ip 147.100.176.0 255.255.240.0 20
add_ip 147.100.192.0 255.255.192.0 18
add_ip 193.49.227.0 255.255.255.0 24
add_ip 193.50.8.0 255.255.255.0 24
add_ip 193.50.9.0 255.255.255.0 24
add_ip 195.50.16.0 255.255.255.0 24
add_ip 193.50.17.0 255.255.255.0 24
add_ip 193.50.18.0 255.255.255.0 24
add_ip 193.50.19.0 255.255.255.0 24
add_ip 193.50.25.0 255.255.255.0 24
add_ip 193.50.35.0 255.255.255.0 24
add_ip 193.50.36.0 255.255.255.0 24
add_ip 193.50.37.0 255.255.255.0 24
add_ip 193.51.165.0 255.255.255.0 24
add_ip 193.51.170.0 255.255.255.0 24
add_ip 193.54.97.0 255.255.255.0 24
add_ip 193.54.99.0 255.255.255.0 24
add_ip 194.167.77.0 255.255.255.0 24
add_ip 194.167.78.0 255.255.255.0 24
add_ip 194.221.34.0 255.255.255.0 24
add_ip 194.254.140.0 255.255.255.0 24
add_ip 194.254.141.0 255.255.255.0 24
add_ip 195.220.91.0 255.255.255.0 24
add_ip 195.221.30.0 255.255.255.0 24
add_ip 195.221.37.0 255.255.255.0 24
# Execute (i.e source) default script
# Modification pour "vpnc-scripts"
# Habituellement c'est "/etc/vpnc/vpnc-script" ou "/usr/share/vpnc-scripts/vpnc-script"
vpncscripts=`man -P cat vpnc 2> /dev/null | grep vpnc-script | grep Default | cut -d ':' -f 2 | sed -e 's/^[[:blank:]]*//' || true`
if [ -n "$vpncscripts" -a -f $vpncscripts ]; then
. $vpncscripts
else
echo "Erreur : aucun fichier vpnc-script trouvé"
fi
unset vpncscripts
# End of script
Ce script doit exécuter le fichier vpnc-script selon les distributions il est à un emplacement différent. En cas de doutes consulter le man de vpnc.
|
Le rendre exécutable :
sudo chmod +x /etc/vpnc/vpnc-split
-
Modifier le fichier
/etc/vpnc/default.conf
IPSec gateway acces.intranet.inra.fr
IPSec ID vpn-linux
IPSec secret xauthinra
# Entrez ci-dessous votre login LDAP (national) :
Xauth username XXXXXXXXXXXXX
script /etc/vpnc/vpnc-split
-
Connexion au VPN
Utiliser la commande
sudo vpnc
Indiquer le mot de passe de votre compte LDAP national.
La connexion au VPN INRAE est opérationnelle.
-
Déconnexion
Utiliser la commande
sudo vpnc-disconnect