Outils pour utilisateurs

Outils du site


utile:openvpn

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
utile:openvpn [2009/11/16 21:31]
domi créée
utile:openvpn [2009/11/21 23:20] (Version actuelle)
domi
Ligne 1: Ligne 1:
 +
 +__**WIP**__
  
 //Objectif : mettre en place un serveur Openvpn haute disponibilité,​ en mode "​actif-actif"​.//​ //Objectif : mettre en place un serveur Openvpn haute disponibilité,​ en mode "​actif-actif"​.//​
 +
 +On souhaite pouvoir mette en place plusieurs serveurs Openvpn permettant l'​accès avec les mêmes identifiants/​certificats,​ et surtout, les mêmes adress ip attribuées.
 +
 +On souhaite également pouvoir reproduire le comportement par défaut (ie sans --duplicate-cn) n'​autorisant qu'une seule connexion à la fois pour un Common Name (cn) donné.
 +
 +Problème à résoudre :
 +
 +  * une source commune d'​authentification
 +  * aiguiller les paquets d'une connexion établie vers le bon serveur : utiliser un protocole de routage dynamique
 +  * s'​assurer qu'un client soit connecté une seule fois parmis les différents serveurs
 +
 +**Authentification commune**
 +
 +**Routage dynamique**
 +
 +Deux systèmes permettent, à partir d'​openvpn d'​obtenir des informations sur les routes "​internes"​ à Openvpn :
 +  - le fichier de status (typiquement openvpn-status.log dans /​etc/​openvpn)
 +  - les scripts "​up",​ "​learn-address",​ "​down",​ ... (ou plugins sur les mêmes hooks) appelés au fur et à mesure de l'​établissemnet d'une connexion.
 +
 +L'​avantage du fichier de status, c'est qu'il contient un récapitulatif des routes actives au moment où il est écrit. L'​inconvénient,​ c'est qu'il n'est écrit que périodiquement (60 secondes, par défaut), ce qui induit une granularité minimum sur la mise à jour.
 +
 +L'​avantage des scripts/​plugins,​ c'est qu'ils sont appelé "just in time", quand un évènement se produit. L'​inconvénient,​ c'est que si on se base uniquement sur eux, il faut être sur de ne rater aucun évènement,​ sous peine d'​être "​désynchronisé"​.
 +
 +=> On va utiliser les deux. Une lecture « quand il est modifié » (grâce à inotify) du fichier status, et l'​utilisation d'un script permettant de signaler de façon synchrone la mise en place d'une nouvelle route.
 +
 +Ces informations sont regroupées pour constituer la configuration d'un démon de routage dynamique.
 +
 +Le choix se porte sur "​announcer"​ ([[http://​www.dia.uniroma3.it/​~compunet/​bgp-probing/​]]) un démon écrit en python qui permet d'​annoncer des préfixes à un peer bgp.
 +(un autre choix intéressant aurait pu être le BGP Route Injector : [[http://​bgp.exa.org.uk/​]]
 +Il suffit de lui envoyer un signal HUP pour qu'il relise le fichier de configuration. Les modifications de peers/​préfixes sont alors réperctuées,​ sans remettre à zéro les connexions en cours.
 +
 +**Connexion unique**
  
  
utile/openvpn.1258403462.txt.gz · Dernière modification: 2009/11/16 21:31 par domi