Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révisionLes deux révisions suivantes |
informatique:reseau:xdsl:xdsl_bonding [2017/11/17 11:21] – ben | informatique:reseau:xdsl:xdsl_bonding [2017/12/05 12:02] – ben |
---|
| |
<note> | <note> |
Dernière mise à jour : 14/11/2017 | Dernière mise à jour : 05/12/2017 |
</note> | </note> |
| |
<note tip> | <note warning> |
To do : | Cette solution ne fonctionne qu'avec un kernel 3.x côté serveur. Le monitoring ARP utilisé par le bonding ne fonctionne plus de la même façon avec un kernel 4.x et je n'ai pas eu le temps de tester/vérifier/faire fonctionner. |
| |
* uniformiser les confs OpenVPN entre le client et le serveur (monitoring ARP du bonding) | |
| |
</note> | Donc cette doc est destinée à un kernel 3.x côté serveur et 4.x côté client. |
| </note> |
| |
====== ADSL VPN Bonding ====== | ====== ADSL VPN Bonding ====== |
* Serveur type [[https://www.kimsufi.com/fr/serveurs.xml|Kimsufi]] ou [[https://www.online.net/fr/serveur-dedie#anchor-perso|Dedibox]] : entre 7 et 10€ / mois | * Serveur type [[https://www.kimsufi.com/fr/serveurs.xml|Kimsufi]] ou [[https://www.online.net/fr/serveur-dedie#anchor-perso|Dedibox]] : entre 7 et 10€ / mois |
* Raspberry : 50€ (avec boitier, alim et carte SD) | * Raspberry : 50€ (avec boitier, alim et carte SD) |
| |
| |
===== OpenVPN ===== | |
| |
==== Côté serveur ==== | ==== Côté serveur ==== |
down /root/del_tap0 | down /root/del_tap0 |
up /root/add_tap0 | up /root/add_tap0 |
script-security 2 | |
txqueuelen 1000 | txqueuelen 1000 |
mode p2p | mode p2p |
down /root/del_tap1 | down /root/del_tap1 |
up /root/add_tap1 | up /root/add_tap1 |
script-security 2 | |
txqueuelen 1000 | txqueuelen 1000 |
mode p2p | mode p2p |
exit 0 | exit 0 |
</code> | </code> |
| |
<note warning>__Pourquoi 2 configs OpenVPN différentes entre le client et le serveur ?__ | |
\\ | |
\\ | |
Le bonding utilise des requêtes ARP pour vérifier la connectivité des liens et activer/désactiver à la volée les interfaces tapX . Or avec un kernel 4.9, une debian jessie et/ou strech les requêtes ARP ne passent plus (je n'ai pas encore trouvé pourquoi). De fait, on a bien l’agrégation de liens mais plus de failover si un des liens ADSL tombe. Le bonding n'est pas notifié de la perte de liens et 1 paquet sur 2 est envoyé sur l'interface down. On se retrouve alors avec un paquet sur 2 de perdu. | |
\\ | |
\\ | |
Pour résoudre ce souci, on laisse OpenVPN gérer le statut de la connectivité des liens et les activer/désactiver, d'où la config différente entre le client (kernel 4.9) et le serveur (kernel 3.13). | |
</note> | |
| |
| |
===== Bonding ===== | ===== Bonding ===== |
Doublement effectif de bande passante si l'appli cliente est capable d'initier plusieurs connexions en parallèle. Une interface est affectée à l'envoi vers une même adresse MAC. Ainsi les transferts sont parallélisés et le choix de l'interface suit la règle : (Adresse MAC de la source XOR Adresse MAC de la destination) modulo nombre d'interfaces. | Doublement effectif de bande passante si l'appli cliente est capable d'initier plusieurs connexions en parallèle. Une interface est affectée à l'envoi vers une même adresse MAC. Ainsi les transferts sont parallélisés et le choix de l'interface suit la règle : (Adresse MAC de la source XOR Adresse MAC de la destination) modulo nombre d'interfaces. |
| |
//xmit_hash_policy// : définit la règle à utiliser pour déterminer l'interface pour les modes balance-xor et 802.3ad. Cette option peut prendre 2 valeur : | //xmit_hash_policy// : définit la règle à utiliser pour déterminer l'interface pour les modes balance-xor et 802.3ad. Cette option peut prendre 2 valeurs : |
| |
* layer2 : utilise XOR de l'adresse MAC dont la formule est : (source MAC XOR destination MAC ) modulo le nombre d'interfaces ; | * layer2 : utilise XOR de l'adresse MAC dont la formule est : (source MAC XOR destination MAC ) modulo le nombre d'interfaces ; |
Voici quelques tests effectués avec les 2 lignes ADSL ci-dessous : | Voici quelques tests effectués avec les 2 lignes ADSL ci-dessous : |
| |
| ^ Ligne 1 (ovh) ^ Ligne 2 (orange) ^ | | ^ Ligne 1 (ovh) ^ Ligne 2 (free) ^ |
^ Down (ATM) | 7232 Kbps | 7072 Kbps | | ^ Down (ATM) | 7702 Kbps | 8055 Kbps | |
^ Up (ATM) | 896 Kbps | 832 Kbps | | ^ Up (ATM) | 1039 Kbps | 912 Kbps | |
^ Latence (ICMP) | 50 ms | 25 ms | | ^ Latence (ICMP) | 35 ms | 15 ms | |
| |
| Soit environ 16 Mbps ATM. Les FAI utilisent la formule : débit IP = 0,83 x débit ATM. Ici on peut espérer environ 13 Mbps en dowload et 1,5 Mbps en upload. On obtient ces débits même __avec une seule connexion TCP__. |
| |
Soit environ 14 Mbps ATM. Les FAI utilisent la formule : débit IP = 0,83 x débit ATM. Ici on peut espérer environ 11 Mbps en dowload et 1,4 Mbps en upload. On obtient ces débits même __avec une seule connexion TCP__. | => résultats ci-dessous à updater |
| |
{{http://pic.nperf.com/r/130834983-aukz2wKF.png|}} | {{http://pic.nperf.com/r/130834983-aukz2wKF.png|}} |