Serveur Linux et 2 connexions ADSL : besoin de votre aide

Salut à tous.
J’ai actuellement 2 connexions ADSL chez moi (personnelle et professionelle) et je pensais monter un serveur Linux pour alléger la connexion personnelle (la connexion pro ne tourne même pas 4h/jour) qui supporte 2 PC.
Le truc c’est que je ne veux pas faire du load balancing, c’est-à-dire de ne pas transférer le traffic sur l’autre connexion quand la 1ère est saturée.
Ce que je voudrais mettre un place ça serait un routage par port.
Petit exemple :

  • port 80 : connexion 1
  • port 21 : connexion 1
  • port 4662 : connexion 2 (/me sifflote)
  • port 6880 : connexion 2 (/me re-sifflote)
  • et bien sur définir une connexion par défaut pour un port non défini
    Je voudrais bien évidemment savoir si une telle mise en place est faisable, et si oui comment ?
    Quelle serait aussi la meilleure distrib à installer pour déployer ce système rapidement, si oui ou non je devrais installer X (sachant que le serveur restera dans son coin, etc…).
    Faut-il utiliser IpTables ? un proxy (je suis pas trop chaud pour le proxy…) ? etc…
    Le serveur tournerait sur un PIII 500 avec 256Mo de RAM, donc je pense que de ce côté là il n’y aura pas trop de pb.
    Là où ça se corse, c’est que l’un des modems est un Sagem Fast 800. Mais je pense que c’est gêrable aussi en s’acharnant un peu sur la conf. Le 2ème modem est un Alcatel Ethernet Speedtouch donc ça devrait être configurable facilement.
    Il y aurait donc les 2 modems en entrée sur le serveur et tout celà sortirait par une 2ème carte réseau qui serait reliée à un switch qui s’occuperait de redispatcher ça aux 2 autres PC de mon réseau perso.

Merci d’avance à tous les linuxiens aguerris pour leurs réponses

Ça devrait être faisable sans trop de problèmes. Le plus dur sera à mon avis de configurer les 2 connexions simultanées mais d’après google c’est possible donc il n’y a pas de raison (ça va surtout dépendre des drivers).

Le plus simple (enfin la seule solution qui me vienne à l’esprit c’est d’utiliser iptables).

Par exemple pour que les connexions arrivant sur l’interface eth0 (la carte réseau du serveur) avec comme destination le port 80 soit redirigée vers ta première connexion :
iptables -t nat -A PREROUTING -i eth0 --destination-port 80 -j DNAT --to-destination <ip_de_ton_interface>

Bon je ne suis pas une grosse masse en iptables donc il doit y avoir moyen de récupérer l’ip associée à l’interface.

Pour la distrib je ne sais pas si tu t’y connais déjà un peu en GNU/Linux ou pas.
Si oui je te conseille une Debian Woody : une fois installée et configurée, tu règles que les mises à jours de sécurité soit effectuées régulièrement et tu devrais pas avoir de problèmes. Pas besoin de serveur X, de clavier ou d’écran : une fois installée tu fais tout par ssh et tu t’embètes pas.
Si par contre tu t’y connais pas trop tu vas certainement vouloir installer une distrib plus “facile” à prendre en main genre Mandrake, Red Hat, Suse… C’est à toi de voir.

Bon, deja, ce genre de bidouille se fait au nouveau du routage, et pas au niveau du firewall. Donc iptables, Non.

Ensuite, voici une bonne base de travail: Redundant Internet Connections Using Linux
La technique utilise, si on ne configure rien, est celle du Round Robin. Je vais un coup sur l’interface 1, et un coup sur l’interface 2: CE N’EST PAS DU LOAD BALANCING. D’ailleurs, j’avais cherche il y a 6 mois a faire du LB avec 2 connexion RTC, j’avais pas trouve.

En revanche, et c’est la l’interessant, tu peux regler finement ip route de maniere a router ce que tu veux. De plus, au moins pour apache, il te suffit de preciser quel interface doit ecouter pour que ca le fasse.

Une autre piste au cas ou: le LARTC. C’est nettement plus descriptif et moins “config cle en main”, mais bon. Ah oui, un autre article, en francais cette fois, qui fait l’erreur de croire que c’est du load balancing, mais a part ca, c’est clair et precis.

Un truc important pour finir: le systeme gere un cache de routes, ce qui fait que si, lors de la premiere connexion au site A, vous etes passe par l’interface 1, ca passera toujours par la, sauf si le cache a expire (duree reglable).

Enfin bref, le systeme actuel est passionnant a etudier mais, de mon point de vue, inutilisable du fait d’un round robin plutot qu’un vrai load balancing.

LoneWolf
Ca aurait ete bien, du load balancing en RTC

Moi j’utilise Mandrake 10, je ne sais pas pour le SpeedTouch, mais pour le Sagem, va voir sur le forum général www.siteduzero.com et recherche, j’avais expliqué dans un post comment l’installer simplement sous Mandrake.

Sinon pour un truc comme ça, c’est possible avec le firewall je pense, moi j’utilise shorewall que j’administre à distance via l’interface web de webmin (https://[IP_serveur]:10000)
Tu ajoute tes connections et tu définit les règles des ports je pense que ça devrai être possible…

Oui, c’est faisable en utilisant iptables et iproute2.
D’abord il faut marquer les packets que l’on veut router sur la 2ème connection en utilisant iptables et l’option --set-mark n (en remplacant n par un nombre).
Et après utiliser iproute2 pour router les packets marqués n sur la 2ème connection.
Tous les details sont ici.

Moi je dis, le mieux c’est encore d’avoir des thunes.
Ce message a été édité par cafeine le 05/05/2004