Agrégation de lien ADSL

Forum de discution sur la distribution smoothwall de linux, dédiée à la mise en place de passerelles sécurisées.

Modérateur: modos Ixus

Messagepar franckym » 04 Jan 2004 04:26

Bonjour, et Bonne Année <BR> <BR> <BR>Je viens de lire le message de KLYUM et la solution me parait être interressante pour moi également (:-o ). <BR> <BR>KLYUM, te serait-il possible ne nous mettre en ligne QQPart une doc explicative de la config et des installs réalisées (versions, compilation, etc ...) , ou nous donner des infos liens pour que l'on puisse piocher. <BR> <BR>J'ai trouvé une doc sur le sujet qui est très interressante, mais que je n'ai pas testé (c'est pour bientôt <IMG SRC="images/smiles/icon_smile.gif"> ) : <!-- BBCode auto-link start --><a href="http://www.ixus.net/resume_messages.php?topic=6098" target="_blank">http://www.ixus.net/resume_messages.php?topic=6098</a><!-- BBCode auto-link end --> <BR> <BR> <BR>Merci d'avance <BR>franckym
A pluche
franckym
Avatar de l’utilisateur
franckym
Matelot
Matelot
 
Messages: 2
Inscrit le: 04 Jan 2004 01:00
Localisation: Nantes

Agrégation de liens

Messagepar Tls » 06 Mai 2004 17:11

Je serais également très intéressé par ta méthode pour agréger plusieurs liens Internet....
Pourrais-tu nous donner plus d'infos...

Merci,
Tls
Matelot
Matelot
 
Messages: 1
Inscrit le: 06 Mai 2004 17:05

Messagepar picot eric » 03 Juin 2004 19:43

bonjour,
j'ai actuellement un VPN entre CASABLANCA et PARIS grace auxquel je telephone avec un systeme de voix sur IP.

J'ai 1 adsl 1024 à casa et egalement à paris.
la bande bassante à casa n'est pas stable aussi je cherche un "AGREGATEUR" de lignes ADSL.
Ma demande est professionnelle (donc BUDGET).
merci de me contacter si votre solution est fiable et si vs etes dans une logique de vente de presta.

A +
salutations
Ste ABAQADE (ERIC PICOT) 01 40 12 89 82
picot eric
Matelot
Matelot
 
Messages: 1
Inscrit le: 03 Juin 2004 19:38
Localisation: paris

Messagepar mike-kun » 22 Juin 2004 09:42

Bonjour,

J'ai vu que Wann etait sur le projet d'une distrib pour l'agrégation de lien, et que Klium avais mis en place une solution opérationnel pour partager la charge sur des co. ADSL.
Vous serait il possible de me faire profiter de votre expérience, en me montrant la configuration nécessaire pour arriver à une telle solution .. ?
Je dois me servir de cette possibilité, plus pour avoir un débit important et correctement partagé, que pour secourrir un lien Wan HS (mm si c'est appréciable )

En vous remerciant par avance,

Mike
mikekun@free.fr
May All Beings Be Happy

Mike-kun
mike-kun
Matelot
Matelot
 
Messages: 2
Inscrit le: 08 Juin 2004 09:00

Messagepar faycal » 25 Août 2004 13:41

Bonjour,
j'ai essaye de sivre les mannuels que vous aves designé dans les autres posts, sous ipcop, smoothie avec un script que j'i trouvé en parcourant smoothwall.org, mais il y a rien qui marche, j'ai fait plein de recherche sur le net (google est ton ami) sans resultat probant, je veux dire en terme de ressources utilisable par un newbi comme moi, alors ou en etes vous, car il me parait que ts le monde a essayé mais personne ne dit si ç a marche ni comment il y est arrivé, si j'en avait pas autant besoin je ne vous aurais pas souler avec mes messages, mais la ça urge, merci pour votre comprehension,
Fayss



Pour celui qui n'a qu'une seule porte, Gars qu'elle se referme (proverbe marocain)
Avatar de l’utilisateur
faycal
Enseigne de vaisseau
Enseigne de vaisseau
 
Messages: 143
Inscrit le: 03 Avr 2004 00:02
Localisation: Maroc

Messagepar Clust3r » 09 Nov 2004 10:19

KOJ:
Salut,

Pour un particulier on peut avoir 1 ligne FT avec 2 numero different pour avoir 2 compte DSLAM different ? Car sinon ca taxe 2 abo FT et 2 abo DSL.

Koj


Oui c'est ce que j'ai :) Abonnement a FT avec option secodne Ligne à 11€/mois et donc uen conenction FreeBox par Ligne (Free car je suis à 187m du DSLAM :roll: )

Je travail en ce moment au regroupement des deux lignes (si c'est possible) J'avoue que je vais passer pas mal de nuit blanche mais Mr FREE ma dis que c'étais possible
Avatar de l’utilisateur
Clust3r
Matelot
Matelot
 
Messages: 9
Inscrit le: 30 Déc 2003 01:00
Localisation: Lille

Messagepar Klyum » 12 Déc 2005 22:27

Exemple de scripts pour la balance de charge entre plusieurs adsl :

Utilisé en residence etudiants depuis pas mal d'années :

D'un coté, on a plusieurs lignes telephoniques avec des abonnements ADSL ou cable et des modem ethernet.

de l'autre coté, on a plusieurs centaines de chambres qui veulent un accès internet pas cher, et au milieu , un PC sous Linux avec pleins de cartes réseaux actuellement en noyau 2.4 avec iptables 1.2.9

Petites précisions avant de commencer :
Je parle d'une config testée avec des cartes réseaux mais rien empeche d'utiliser des modems usb si les pilotes sont dispos sous Linux.
Aussi, j'ai reussi a utiliser une seule carte réseau pour plusieurs lien ADSL, mais finalement pour simplifier la configuration, on a mis en place une carte PCI integrant 4 ports réseaux...

1 - Detecter les connections et deconnections !

Manuellement, cela oblige a surveiller la machine en permanence donc si on peut le faire en auto c'est mieux



En PPPoE , Linux peut gerer en auto les cas de decos. Quand on perd une adresse IP lié à ppp, pppd lance le script ip-down mais attention, on peut parfois etre deconnecté sans perdre l'IP :
- Cas d'un lien dead chez le FAI, il faut donc un script de test de ligne en plus qui teste par exemple une connexion tcp sur un serveur web...
- C'est le cas pour les connexions non ppp tel que freebox et cable noos (dhcp - Voir si dhcp lance un script en acs de deco/reco)
Il faut donc un script lancé par exemple toutes les minutes par tache cron qui fasse ce test. (non traité ici)


A chaque deco ou reco, on execute le script suivant (manuellement ou grace a un script detectant la deco/reco):
Voici un script qui gere une freebox (pas de detection d etat auto) , une oleane (pas de detection d etat auto) et deux adsl wanadoo (detection auto si up ou down)

L'interet de ce script est que vous le lancez quand vous voulez, il reactualise la balance de charge en fonction des etats de toutes les connections.
Code: Tout sélectionner
#!/bin/bash
ROUTE='ip route add default scope global '
IPTABLES=/sbin/iptables
## On vide la table pour le masquerading,
## Je n'utilise pas le module Masquerade car peu pratique pour les diagnostiques
$IPTABLES -t nat -F POSTROUTING

## test si l'interface de ma freebox est up (IP assignée par DHCP)
if (ifconfig eth4 |grep UP) then
## Si oui, alors j'inclus la freebox dans les routes dispo avec un poid de 3 (1,5Mbps)
## J ai décidé qu un poid de 1 valait 512kbps. Je donne les poids en fonctions des debits maxi
## que j ai reussi a avoir grace a un test de bande passante.
ROUTE=$ROUTE' nexthop via yy.yy.yy.yy dev eth4 weight 3'
## Je met en place le masquerading
$IPTABLES -t nat -I POSTROUTING -o eth4 -j SNAT --to-source xx.xx.xx.xx
fi

## ou xx.xx.xx.xx est l'Ip free et yy.yy.yy.yy est la passerelle

##Test si mon adsl wanadoo 1 est UP
if (/sbin/adsl-status /etc/ppp/pppoe-ppp1.conf) then
## Si oui, alors je l'inclus dans la route avec un poid de 10, c'est du 5Mbps
ROUTE=$ROUTE' nexthop via '`adsl-status /etc/ppp/pppoe-ppp1.conf |grep inet |awk '{print $2;}' |awk  --field-separator : '{print $2;}'`
ROUTE=$ROUTE' dev '`adsl-status /etc/ppp/pppoe-ppp1.conf |grep Point|awk '{print $1;}'`' weight 10'
## Mise en place du masquerading
IPTABLESPPP1='/sbin/iptables -t nat -I POSTROUTING -o '`adsl-status /etc/ppp/pppoe-ppp1.conf |grep Point|awk '{print $1;}'`' -j SNAT --to-source '`adsl-status /etc/ppp/pppoe-ppp1.conf |grep inet |awk '{print $2;}' |awk  --field-separator : '{print $2;}'`
$IPTABLESPPP1
fi

##Idem avec mon deuxieme ADSL
## A noter que mes fichiers de conf sont dans /etc/ppp mais qu'on peut les trouver aussi
## dans /etc/sysconfig/network-script

if (/sbin/adsl-status /etc/ppp/pppoe-ppp0.conf) then
ROUTE=$ROUTE' nexthop via '`adsl-status /etc/ppp/pppoe-ppp0.conf |grep inet |awk '{print $2;}' |awk  --field-separator : '{print $2;}'`
IPTABLESPPP0='/sbin/iptables -t nat -I POSTROUTING -o '`adsl-status /etc/ppp/pppoe-ppp0.conf |grep Point|awk '{print $1;}'`' -j SNAT --to-source '`adsl-status /etc/ppp/pppoe-ppp0.conf |grep inet |awk '{print $2;}' |awk  --field-separator : '{print $2;}'`
$IPTABLESPPP0
ROUTE=$ROUTE' dev '`adsl-status /etc/ppp/pppoe-ppp0.conf |grep Point|awk '{print $1;}'`' weight 10'
fi

## Gestion de la connexion Oleane (IP fixe xx.xx.xx.xx, routeur yy.yy.yy.yy)
if (ifconfig eth1 |grep UP) then
ROUTE=$ROUTE' nexthop via yy.yy.yy.yy dev eth1 weight 2'
$IPTABLES -t nat -I POSTROUTING -o eth1 -j SNAT --to-source xx.xx.xx.xx
fi

ip route del default
$ROUTE
ip route flush cache
echo "--------- Changement de route --------" >> /root/route.log
date >> /etc/route.log
echo $ROUTE >> /etc/route.log



2 - Definir les routes par defaut de chaque connexion

Pour cela, definir des tables dans /etc/iproute2/rt_tables
Je definis une table par connexion,
T1 pour oleane, T2 et T3 pour les Wanadoo ADSL et T4 pour la freebox
Code: Tout sélectionner
#
# reserved values
#
#255    local
#254    main
#253    default
#0      unspec

#
# local
#
#1      inr.ruhep
1       T1
2       T2
3       T3
4       T4


3 - Maintenir les tables de routages :

Actuellement, je definis au demarrage les routes pour Oleane et la freebox qui sont en IP fixes.
Exemple pour Oleane que j'assigne à T1 sur la carte reseau eth1 (a dupliquer pour free en mettant le routeur de free fournit par le DHCP !):
Code: Tout sélectionner
ip rule add from xx.xx.xx.xx table T1
ip route add default via yy.yy.yy.yy dev eth1 table T1


xx.xx.xx.xx est l'IP fixe, yy.yy.yy.yy est la passerelle

Pour Free, c est dans le meme genre :
Code: Tout sélectionner
ip rule add from xx.xx.xx.xx table T4
ip route add default via yy.yy.yy.yy dev eth4 table T4


Pour les wanadoo ADSL je passe par un script car l'IP change a chaque deco/reco:
J'utilise le script /etc/ppp/ip-up.local qui est normalement executé par /etc/ppp/ip-up
Si il n'existe pas, creez le et verifiez qu'il soit bien lancé par /etc/ppp/ip-up

Contenu du fichier /etc/ppp/ip-up.local

Code: Tout sélectionner
#!/bin/bash

## On utilise les infos fournies en parametres par pppd , $1 est l'interface, $4 l'IP assignee, etc etc
INTERFACE=$1
#IP local de l'ADSL
IP=$4
IPTABLES=/sbin/iptables

# Fixe l'interface sur la meme table de routage

if [ "$1" = 'ppp0' ]; then
    TABLE='T2';
fi
if [ "$INTERFACE" = 'ppp1' ]; then
      TABLE='T3';
fi

## Forcer le routage de retour sur le routage aller
ip rule add from $IP table $TABLE
ip route add default via $IP dev $INTERFACE table $TABLE

#Reinitialiser les routes (script precedent)
/etc/ppp/route


4 - Les diagnostiques - Les 3 commandes a connaitre
Les commandes pour verifier la config :

Code: Tout sélectionner
ip route
donne
default
        nexthop via yy.yy.yy.yy  dev eth4 weight 3
        nexthop via yy.yy.yy.yy  dev ppp0 weight 10
        nexthop via yy.yy.yy.yy  dev ppp1 weight 10
        nexthop via yy.yy.yy.yy  dev eth1 weight 2

ou yy.yy.yy.yy sont les differents passerelles des connexions des FAI

ip rule
donne
0:      from all lookup local
32684:  from xx.xx.xx.xx lookup T2
32685:  from xx.xx.xx.xx lookup T3
32763:  from all fwmark 0x1 lookup T1
32764:  from xx.xx.xx.xx lookup T4
32765:  from xx.xx.xx.xx lookup T1
32766:  from all lookup main
32767:  from all lookup default

Ou xx.xx.xx.xx sont les IPs des connexions ADSL (a verifier avec ifconfig)


iptables -t nat -L POSTROUTING -n -v
donne
Chain POSTROUTING (policy ACCEPT 56326 packets, 3732K bytes)
pkts bytes target     prot opt in     out     source               destination
117K 6744K SNAT       all  --  *      eth1    0.0.0.0/0            0.0.0.0/0           to:xx.xx.xx.xx
211K   11M SNAT       all  --  *      ppp1    0.0.0.0/0            0.0.0.0/0           to:xx.xx.xx.xx
224K   11M SNAT       all  --  *      ppp0    0.0.0.0/0            0.0.0.0/0           to:xx.xx.xx.xx
85262 6219K SNAT       all  --  *      eth4    0.0.0.0/0            0.0.0.0/0           to:xx.xx.xx.xx


ou xx.xx.xx.xx sont les differents IPs assignées aux connexions (a comparer avec ifconfig)




5 - Un firewall avec le load balancing ?

Dans le cas ou voulez mettre en place un firewall, quelques points pour forcer certains protocoles sur un FAI en particulier :

- Il faut marquer les paquets en fonctions de regles (boulot de iptables)
- Il faut dire quel paquet passe par quel Adsl en fonction du marquage


a - Marquer les paquets :

Par exemple, je force le smtp sur un seul FAI car sinon ca pose des problemes lors d'envoie d'emails (Relay access denied si on envoie sur smtp.free.fr depuis la connexion wanadoo !)

Code: Tout sélectionner
$IPTABLES -t mangle -A PREROUTING -i eth0 -s 10.0.0.0/8 -p tcp --dport 25 -j MARK --set-mark 1

-- eth0 est la carte reseau de mon LAN

b - Quel paquet pour quel route :
Code: Tout sélectionner
ip rule add fwmark 1 table T1

Tous les paquets marqués 1 passe par la table de routage T1 que j'ai assigné à Oleane...


Pour le ftp, je recommande le chargement du module ip_conntrack_ftp
Code: Tout sélectionner
modprobe ip_conntrack_ftp
Avatar de l’utilisateur
Klyum
Quartier Maître
Quartier Maître
 
Messages: 19
Inscrit le: 01 Oct 2003 00:00

Solution de loadbalancing entre 2 liens ADSL

Messagepar COMBY » 16 Mai 2006 21:09

Je dispose d'une solution simple, plug & play, avec 2 liens supervisés
si cela vous interesse, merci de me contacter

fcomby@soluce-telecom.com
Frédéric COMBY
SOLUCE TELECOM
contact@soluce-telecom.com
COMBY
Matelot
Matelot
 
Messages: 1
Inscrit le: 16 Mai 2006 21:07

Re: Solution de loadbalancing entre 2 liens ADSL

Messagepar Methos_Hi » 17 Mai 2006 22:26

COMBY a écrit:Je dispose d'une solution simple, plug & play, avec 2 liens supervisés
si cela vous interesse, merci de me contacter

fcomby@soluce-telecom.com


Mais qui n'a probalement rien à voir avec Smoothwall qui est l'objet de ce Forum.

De nombreux boitiers le font. Du Lynksys pas cher en passant par le Netasq etc.

Mais là sans avoir lu le topic, je suis presque sur que le challenge c'est de faire jouer ce rôle à Smoothwall.

Alors remonter un vieux thread pour faire de la pub merci bien.

Mais si je me fourvoie, je m'en excuse d'avance.
Dernière édition par Methos_Hi le 17 Mai 2006 23:49, édité 1 fois au total.
Avatar de l’utilisateur
Methos_Hi
Amiral
Amiral
 
Messages: 1520
Inscrit le: 07 Fév 2004 01:00
Localisation: Ile de France

Messagepar Gandalf » 17 Mai 2006 23:13

A COMBY :

Bonsoir, ici on partage toutes nos connaissances, nos expériences sur les thèmes abordés par Ixus ! Il serait plus judicieux, si votre démarche va dans ce sens, de nous faire partager immédiatement votre propre expérience sur le sujet ! Il y aura toujours des personnes intéressées !
Donc : ceci nous intéresse, nous sommes tout ouïs :wink: !
/G.
Avatar de l’utilisateur
Gandalf
Amiral
Amiral
 
Messages: 1980
Inscrit le: 22 Août 2002 00:00
Localisation: Strasbourg

Messagepar Billou02 » 17 Mai 2006 23:42

J'vais entendu parler d'une distrib basée sur mOnOwall capable de faire ca : PfSense
http://www.pfsense.com/index.php?id=1

j'ai déja testé, et je la trouve pas mal du tout.
une bonne alternative a Ïpcop et autres joyeusetés...
Image
Avatar de l’utilisateur
Billou02
Amiral
Amiral
 
Messages: 1177
Inscrit le: 27 Jan 2004 01:00
Localisation: Picardie

Précédent

Retour vers Smoothwall

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité

cron