Aller au contenu

Documentation utilisateur OpenVPN

Le VPN d'Illyse utilise OpenVPN, qui a l'avantage de fonctionner sur à peu près n'importe quelle plate-forme (GNU/Linux, OS X, Windows, Android, …)

Les fichiers de configuration donnés ici sont génériques, au sens où le reste de la configuration se fait via l'interface web abonné Illyse (adresses IP à utiliser sur le tunnel, etc).

Avant de commencer

Se connecter au SI d'Illyse avec le nom d'utilisateur communiqué par mail. Si c'est votre première connexion, choisir un mot de passe pour COIN et bien le retenir.

Aller dans la catégorie "Mes Abonnements". Si rien n’apparaît alors que vous avez souscrit au VPN, contacter support@illyse.org.

À la ligne "VPN", cliquer sur "Configuration". Noter le nom d'utilisateur (le mieux est de le copier dans un fichier texte brut, nous verrons pourquoi ensuite). Générer un mot de passe et le copier dans le même fichier. Attention, si vous perdez votre mot de passe il faudra en générer un nouveau.

Paramètres de connexion OpenVPN

Si vous savez déjà utiliser OpenVPN, les informations les plus importantes sont les suivantes :

  • Serveur : vpn.illyse.net
  • Protocole : UDP recommandé, TCP possible
  • Port : quelconque (1194 est le port standard OpenVPN, mais tous les ports mènent au serveur VPN)
  • Compression : non
  • Fragmentation : 1300 octets
  • TCP MSS fix : 1300 octets

Notez donc que le serveur OpenVPN d'Illyse écoute à la fois en UDP et en TCP, et ce, sur n'importe quel port. Si vous êtes sur un réseau complètement bloqué mais que UDP/53 ou TCP/443 passe, pas de problème, le VPN passe !

Pour des raisons de performance, UDP est recommandé. N'utilisez le mode TCP qu'en dernier recours.

Exemples de configuration.

Ces exemples de fichiers de configuration sont là pour vous aider à vous connecter au VPN L'exemple donné pour Debian Buster est la référence en cas de doute. D'autres exemples de configuration sont disponibles.

GNU/Linux (Debian Buster)

Pour les débutants

  • Installer OpenVPN : ouvrir un terminal et taper sudo apt install openvpn.
  • Créer le fichier de configuration openvpn: sudo nano /etc/openvpn/illyse.conf. Copier dedans la configuration ci-dessous (Fichier de configuration OpenVPN).
  • Fermer nano en utilisant Ctrl + X, suivi de la touche O pour indiquer que l'on souhaite sauvegarder.

  • Créer le fichier texte nommé credentials sudo nano /etc/openvpn/credentials et y insérer le nom d'utilisateur et le mot de passe donnés par COIN (une ligne chacun, voir modèle ci-dessous).

  • Lancer le VPN avec la commande sudo systemctl start openvpn@illyse. Ça devrait fonctionner !
  • Pour que le VPN se lance automatiquement à chaque démarrage, utiliser la commande sudo systemctl enable openvpn@illyse.

Pour vérifier si le VPN est bien lancé, une méthode simple est d'utiliser un site comme http://www.monip.org/ qui donne les adresses IP utilisées par son PC pour sortir sur l'Internet. Si l'on passes bien par le VPN, on retrouve ses IP Illyse (aussi affichées par COIN).

En cas de problème, vérifier les étapes précédentes, et la connexion Internet. Si ça ne fonctionne toujours pas, écrire un gentil mail à support@illyse.org en donnant le résultat des deux commandes suivantes :

  • sudo systemctl status openvpn@illyse
  • sudo tail -f -n 100 /var/log/openvpn-illyse.log

Pour stopper le VPN, taper la commande sudo systemctl stop openvpn@illyse. (et sudo systemctl disable openvpn@illyse si l'on ne veut plus que le VPN se lance automatiquement au démarrage du PC)

Fichier de configuration OpenVPN

La configuration est commentée, n'hésitez pas à changer des paramètres. Avec les paramètres ci-dessous, une IPv4 et une IPv6 seront attribués, et tout le trafic passera par le VPN.

/etc/openvpn/illyse.conf

# C'est nous qui prenons l'initiative de nous connecter au serveur.
client

# On route de l'IP, on ne fait pas de l'ethernet.
dev tun0

# si on ne reçoit pas d'IP pour tun0:
# - soit on configure l'interface avec des ip privées bidon
#ifconfig 10.255.255.1 10.255.255.2
# - soit on utilise un script pour faire "ifconfig tun0 up"
#script-security 2
#up up.sh

# Il est préférable d'utiliser udp, le résultat fonctionne mieux. Il est
# cependant notable que les restrictions d'accès Internet laissent souvent
# plus facilement passer tcp. Essayez donc udp, et seulement s'il ne fonctionne
# pas, essayez tcp.

# Transport sur udp v4. En v6, la redirection de passerelle par défaut fonctionne mal (openvpn ne crée pas l'équivalent de la route /32 IPv4 vers le serveur vpn via la passerelle sous-jacente)
# Si on ne prévoit pas d'utiliser la directive "redirect-gateway def1", alors on peut choisir "proto udp6" pour monter le tunnel en IPv6.
#proto udp6
proto udp
#proto tcp

# Certains réseaux ont en fait une MTU bien inférieure à 1450. Dire aux connexions
# TCP d'être très conservatives, pour que ça marche plus ou moins partout.
mssfix 1300
# En UDP, on peut s'assurer que ça passe de toutes façons en fragmentant au besoin
# quand ça dépasse.
fragment 1300
# Idéalement, ça devrait être détecté tout seul, mais c'est loin de toujours fonctionner...
#mtu-disc yes

# En udp, Prévenir le serveur quand on termine, permet de relancer
# immédiatement sans attendre que le serveur se rende compte de la
# déconnexion par timeout.
explicit-exit-notify

# L'adresse du serveur.
remote vpn.illyse.net 1194

# Éventuellement, on peut avoir besoin de passer par un proxy http, décommenter cette ligne en mettant l'adresse et le port du proxy.
#http-proxy 192.0.2.1 8080

# Pour windows: utiliser route.exe.
#route-method exe

# Attendre un peu avant d'ajouter les routes.
route-delay 2

# Ne pas utiliser un port local statique, on est client de toutes façons.
nobind

# Garder la clé en mémoire, pour ne pas avoir besoin de la relire lors d'un
# redémarrage.
persist-key
# Ne pas tuer l'interface du tunnel lors d'un redémarrage.
#persist-tun

# Décommenter cette ligne pour faire passer tout le trafic via le VPN:
redirect-gateway def1

# On peut aussi vouloir plutôt router seulement quelques destinations, par
# exemple ici tout Gitoyen:
#route 80.67.160.0 255.255.224.0

# Activer IPv6 dans le tunnel
tun-ipv6
# et faire passer tout le trafic IPv6 via le VPN:
route-ipv6 ::/1
route-ipv6 8000::/1

# Envoyer un login et un mot de passe. Pour éviter de taper à la main login
# et mot de passe, vous pouvez ajouter à droite de "auth-user-pass" le nom d'un
# fichier contenant ces deux informations, une par ligne.
auth-user-pass credentials

# Retenter le l’authentification même si le serveur la refuse (utile pour
# éviter de faire mourir le client si le serveur LDAP ne répond pas)
auth-retry nointeract

# Un minimum de debug, c'est toujours bien.
verb 3

log-append /var/log/openvpn-illyse.log

# Certificat permettant de vérifier que c'est bien à Illyse que
# l'on se connecte et donc à qui on donne notre mot de passe.
remote-cert-tls server
<ca>
-----BEGIN CERTIFICATE-----
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
sjvtdavgLFaMPLPrI2DAcjpVMUuL1VgdqUcQkhc=
-----END CERTIFICATE-----
</ca>

/etc/openvpn/credentials

(Seulement si vous voulez stocker votre mot de passe. En clair. Oui, c'est moche.)

Spécifier login et mot de passe sur deux lignes différences.

jkleboulet-vpn1
omgsuchsecured123

Windows

Installez OpenVPN, par exemple en suivant la documentation disponible ici.

Créez ensuite le fichier suivant : C:\Program Files\OpenVPN\config\illyse\illyse.ovpn

Faites attention à l’extension des fichiers : parfois Windows ajoute une extension .txt aux fichiers sans le dire.

Dans le fichier illyse.ovpn, copier/coller le fichier de configuration prévu pour Linux, en effectuant les modifications suivantes:

  • Enlever le # au début de la ligne route-method exe
  • Ajouter un # en début de la ligne log-append /var/log/openvpn-illyse.log

Pour éviter de taper votre login et mot de passe à chaque connexion, créez le fichier C:\Program Files\OpenVPN\config\illyse\credentials :

jkleboulet-vpn1
omgsuchsecured123

Si vous ne voulez pas utiliser un tel fichier, commentez la ligne « auth-user-pass credentials » dans la configuration.