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-----
MIIG1zCCBL+gAwIBAgIUAQxspCb+1NLIr+bdR7gqrM1voLQwDQYJKoZIhvcNAQEL
BQAwgZsxCzAJBgNVBAYTAkZSMQwwCgYDVQQIDANSSEExDTALBgNVBAcMBEx5b24x
DzANBgNVBAoMBklMTFlTRTEQMA4GA1UECwwHb3BlbnZwbjEaMBgGA1UEAwwRaWxs
eXNlLW9wZW52cG4tY2ExDzANBgNVBCkMBklMTFlTRTEfMB0GCSqGSIb3DQEJARYQ
YWJ1c2VAaWxseXNlLm9yZzAeFw0yNDAyMjUxNzQ0MjBaFw0zNDAyMjIxNzQ0MjBa
MIGbMQswCQYDVQQGEwJGUjEMMAoGA1UECAwDUkhBMQ0wCwYDVQQHDARMeW9uMQ8w
DQYDVQQKDAZJTExZU0UxEDAOBgNVBAsMB29wZW52cG4xGjAYBgNVBAMMEWlsbHlz
ZS1vcGVudnBuLWNhMQ8wDQYDVQQpDAZJTExZU0UxHzAdBgkqhkiG9w0BCQEWEGFi
dXNlQGlsbHlzZS5vcmcwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDK
Uoq9UFv3kaH0eQbQMUr4kGK/fcPvzE5ssaRyyyYHH6aI3c0va9f8VUOKKqomeL+Q
cWuDwWm5BuhSNcb/5/dHy4WFa3w9dp3CxbcaF5yhK+CmaJNyxxN2bbI7tFTVlhGw
hzxCvsNYGaOFLmzDdHGU0VdEPzRdE0Gb7fmFkk6d5TEcH+ltSEyYyr6jjP0DQLxF
JKfRv/kent8pxBZyJ0oyB36ES7HbblGoKfsvfrVax2rRrLCo0nj7Nfdkgf5R80DB
fbJbv159mWlljitGdeDfHv/EBblIxcc5pocV20PqFAeIzD9XvcY1gEhBistGimYM
9l7TMTBBGr1d45s/DAuMUu/kY6CuttVe1H/5+T3Dppo6/FB9xD+yngEMjsikMRHk
Zdzb47mk3p2MAZgb3CEYmAZBvSPTkmQVWRlTM9Eton2kXz373ZF1e8fdO3kYOv6x
yY3kGHAgF1bwyqTK6VPxIo1W1q08QzqtZ6HwkILohg+dJGNaNjpHALFGMLVBQ6ZT
b6GjG4V0d1VqlhGp4jCddgUqRhWmSLP9bzd94et2YvsZ7vUG4lp2DYSewMXguENg
YpijChcNdy5bzuVxaadr69Ky4tqyi5PKSZOBL9jUON3RuA0T9ETudPXSMFozMgTT
SXciWyTfKy6LhFxTx3z38QURwAaxNpE02u3ztCxvyQIDAQABo4IBDzCCAQswHQYD
VR0OBBYEFJubjwrxXkCGkGkz4YigLO8EUS6iMIHbBgNVHSMEgdMwgdCAFJubjwrx
XkCGkGkz4YigLO8EUS6ioYGhpIGeMIGbMQswCQYDVQQGEwJGUjEMMAoGA1UECAwD
UkhBMQ0wCwYDVQQHDARMeW9uMQ8wDQYDVQQKDAZJTExZU0UxEDAOBgNVBAsMB29w
ZW52cG4xGjAYBgNVBAMMEWlsbHlzZS1vcGVudnBuLWNhMQ8wDQYDVQQpDAZJTExZ
U0UxHzAdBgkqhkiG9w0BCQEWEGFidXNlQGlsbHlzZS5vcmeCFAEMbKQm/tTSyK/m
3Ue4KqzNb6C0MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggIBAH8X6Pj+
Td3dnkI55iJ2xyF6+b0DzCMvNgiebZIBfBPO90ZxDrAg0121DEGyLOgVbNBkpmA0
ocuB7aS4OyGd17gi05oJuQtXwFY342JegU2tLrJPVP7aUjL1WVwTX45q44tA3dlC
OHpml65MPb7Ndn5hVzoPQuEQteEJgBJUh/bKFkeAlH4bsMZxm8qU+ydPm4QM7BHV
BaJciHxFISxgUieyX2ER7RVKZvWyyVSyfuAo/OzZ+qFXbkus6iwjtgIrm5mV99NL
GAs29PsxegpVPuG2tJXSs+xMXFqyup2H1LF5VS9N5qluHCwMcUNREs9/qVf5mG+E
kdyiiRLIn4kmX/7+VgIjcqhP7ZIhY2gIEbj768HCl0QCGN97mO3p72Ws9JqTyazN
MVIBSY72c6GxKYzji49pIuJ8o13/MzUNZN7Dt6kJSTmIwtxSSmpjzu26ibX2DTg8
hkHtYhh7bDEPSd8DX2XTtDNNloKLjS0MMuPu+cZeEk+aGiC1EyCylLth1SRHZZGR
ODOp5rCOtqJtXMtgMvwjXJQezkQ46KiiJVZTKgKoF2eJGjqCGEnbfQxO/nvbi5XR
uBmnNGY6c4vUfv96XFVGI5o0vRkBMhlzaLcAng6Tzet6GBtc7v5s6SFQYutKzc9Q
Rrb85iqtO/GHnXEW0241zmg9e3hHVraMd5/U
-----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.