IPTables et Load Balancing

IPTables et Load Balancing - réseaux et sécurité - Linux et OS Alternatifs

Marsh Posté le 06-03-2011 à 16:57:13    

Bonjour à tous,
 
J'ai depuis peu sur mon PC (Ubuntu 10.04) deux accès à internet :

  • Un en wifi, sur wlan1, gateway : 192.168.2.1, en DHCP.
  • Un par Ethernet, sur eth0, gateway : 192.168.3.1, en DHCP.


J'aimerais bien tirer profit de ces 2 connexions. Après avoir fouiller le web, et écumé moultes tutoriels sur iptables, route,... j'ai trouvé ça : http://www.diegolima.org/wordpress/?p=36 que j'ai adapté à ma sauce :

Citation :


ip route add default via 192.168.2.1 table wifi
ip route add default via 192.168.3.1 table eth
 
ip rule add fwmark 1 table wifi
ip rule add fwmark 2 table eth
 
iptables -t mangle -A PREROUTING -m state -m mark --state new -j MARK  --mark 2 --set-mark 2
iptables -t mangle -A PREROUTING -m state -m mark --state new -m statistic --mode random --probability 0,5 -j MARK --mark 1 --set-mark 1
 
iptables -t nat -A POSTROUTING -o wlan1 -j SNAT --to 192.168.2.1
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 192.168.3.1


 
Malheureusement, ça ne marche pas. Les 2 dernière lignes semblent couper l'accès au réseau, puisque je ne peu même plus pinger les passerelles.
 
Des idées ?

Reply

Marsh Posté le 06-03-2011 à 16:57:13   

Reply

Marsh Posté le 06-03-2011 à 18:16:07    

Je ne sais pas si ça t'aidera plus ...

Reply

Marsh Posté le 06-03-2011 à 20:50:15    

Jvais lire ça ;)
 
Les commandes que j'avais plus haut sont fausse, après mure réflexion ^^ Comme ça c'est mieux :

Citation :


 
ip route add default via 192.168.2.1 table wifi
ip route add default via 192.168.3.1 table eth
 
ip rule add fwmark 1 table wifi
ip rule add fwmark 2 table eth
 
iptables -t mangle -A PREROUTING -m state --state new -j MARK --set-mark 2  
iptables -t mangle -A PREROUTING -m state --state new -m statistic --mode random --probability 0.5 -j MARK --set-mark 1
 
 
iptables -t nat -A POSTROUTING -o wlan1 -j SNAT --to 192.168.2.11
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 192.168.3.144
 


 
Je retrouve donc mon accès à Internet, mais le load balancing ne marche pas : tout le trafic continue de passer par la passerelle par défaut, et le script ne semble avoir aucune influence... J'ai essayé de supprimer la route par défaut avec

Citation :

route del default

, ce qui casse tout. J'ai aussi essayé de rajouter deux routes par défaut :  

Citation :


route add default gw 192.168.2.1
route add default gw 192.168.3.1


ce qui n'a aucune influence...
 
D'autres idées, liens,... ?   :(

Reply

Marsh Posté le 06-03-2011 à 23:31:15    

Pas d'idée, mais drapal car intéressé par le sujet [:homdex]


---------------
Grippe ? Coronavirus ? Portez votre masque correctement ! :D
Reply

Marsh Posté le 07-03-2011 à 03:06:49    

probability n'est pas fait pour celà. ça permet de dropper ou logguer qu'une partie des paquets par exemple.
 
Tout ce que tu veux se trouve là: http://www.tldp.org/HOWTO/Adv-Rout [...] links.html
te manque juste le multipath

Reply

Marsh Posté le 09-03-2011 à 00:31:48    

Ben, je test ça demain et je vous dit si ça a marché ou pas :) Parce que là je désespère ^^

Reply

Marsh Posté le 09-03-2011 à 08:21:51    

Moulte interessant tout ça :bounce:


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 10-03-2011 à 00:14:29    

auparavant, tu as bien créé test 2 tables wifi et eth dans le fichier /etc/iproute2/rt_tables ?
et tu ne peux pas définir 2 passerelles par défaut ;)
tu peux vérifier en faisant un route -n ou ip route list pour lister tes routes.

 

sinon le load balancing peut aussi se faire plus simplement, juste avec ip route :

Code :
  1. ip route del default
  2. ip route add default scope global nexthop via 192.168.2.1 dev wlan1 weight 1 nexthop via 192.168.3.1 dev eth0 weight 1


et tu peux jouer sur le parametre weight pour équilibrer suivant la rapidité de chacune de tes connexions :)


Message édité par li1ju le 10-03-2011 à 00:25:26
Reply

Marsh Posté le 11-03-2011 à 19:41:48    

Hum alors... En fait tu reprend la commande de la fin du lien de zecrazytux. J'ai bien défini mes 2 tables dans /etc/iproute2/rt_tables.
 
Sinon ça marche plus ou moins bien, certaines pages web mettant plus de temps à "venir" avec le load-balancing que sans. Je me prend plein de Time Out aussi...
A propos du weight, dans quel sens marche-t'il ? le poids le plus lourd a la plus grande priorité, où c'est l'inverse ? :D  
 
Autre question, est ce que quelqu'un sait si c'est censé marché avec le Bittorrent ? Parce que là je fait des tests, mais j'arrive pas à en tirer qqch de concluant :/

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed