Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
utile:openvpn [2009/11/16 22:27] domi |
utile:openvpn [2009/11/21 23:20] (Version actuelle) domi |
||
---|---|---|---|
Ligne 13: | Ligne 13: | ||
* aiguiller les paquets d'une connexion établie vers le bon serveur : utiliser un protocole de routage dynamique | * 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 | * 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** | ||