bien venu au club, mon amis, ca fais 7 mois que je suis dessus, et si tu veux faire du load balancing avec deux interfaces pour deux ISPs, oublis le random…
Ne cherche même pas à trouver le module ROUTE pour IPTABLES avec DEBIAN. tu jette un oeil au man (iptables / -m route) et tu te rendra compte que les noyaux debian n’aurrons JAMMAIS ce module . Si il est instable ca se comprend.
Le fait est que j’ai trouvé un trésor depuis peu: une aide sur ce même forum, mais planqué quelque part, et j’ai du érrer durant des mois avant de le trouver par hasard…
J’avais déjas une piste:
LOAD BALANCING IP ROUTE2
je t’invite à consulter les fichier suivants qui tournent sur la etch comme une horloge. je tourne avec trois cartes réseaux, dont deux vers les routeurs de chaque ISP. Si t’est dans le même cas ca devrais t’aider. en tout cas ne fais pas non plus l’erreur de faire du load balancing avec SHOREWALL: en plus de squizzer ta config iptables, il semblerait que la config est plutôt chatouilleuse et pas adapté à 100% à du load balancing. (perte de paquets sur retours C se que j’ai lu qek part)
voici le shema logique de mo affaire:
ROTUEURISP1(10.0.0.1)---(10.0.0.2)eth1\
>PROXY/FW<eth0(X.X.X.X)
ROUTEURISP2(10.0.1.1)---(10.0.1.2)eth2/
vérifie que tu as IPROUTE2 d’installé si tu ne l’à pas : installe le.
Daborts tu dois ajouter deux tables de routage supplémentaire (une par Interface réseau vers ISP) dans le fichier /etc/iproute2/rt_tables
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
#1 inr.ruhep
201 UPL1 #<----- là
200 UPL2 #<----- et là
et ensuite tu edites le suivant en changeant réseau et masques etc…évidement.
==========================================================
nano /etc/network/interfaces
==========================================================
auto lo eth0 eth1 eth2
# The loopback network interface
iface lo inet loopback
# The primary network interface LAN, INTRANET
iface eth0 inet static
address X.X.X.X
netmask X.X.X.X
broadcast X.X.X.X
network X.X.X.X
pre-up echo 1 > /proc/sys/net/ipv4/ip_forward # ca c'est le forward
iface eth1 inet static
# Vers routeur 1
address 10.0.1.2
netmask 255.255.255.252
broadcast 10.0.1.3
network 10.0.1.0
# LOAD BALANCING ================================================
post-up ip route add 10.0.1.0/30 dev eth1 src 10.0.1.2 table UPL1
post-up ip route add default via 1.0.1.2 table UPL1
post-up ip rule add from 10.0.1.2 table UPL1
post-down ip rule del from 10.0.1.2 table UPL1
iface eth2 inet static
# Vers routeur 0
address 10.0.0.2
netmask 255.255.255.252
broadcast 10.0.0.3
network 10.0.0.0
# LOAD BALANCING ================================================
post-up ip route add 10.0.0.0/30 dev eth2 src 10.0.0.2 table UPL2
post-up ip route add default via 2.0.0.2 table UPL2
post-up ip rule add from 10.0.0.2 table UPL2
post-up ip route add default scope global nexthop via 10.0.1.1 dev eth1 weight 1 nexthop via 10.0.0.1 dev eth2 weight 1
post-down ip rule del from 10.0.0.2 table UPL2
============================================================
avec cette config les paquets qui sortent par une porte, rentrerons par cette porte, et pas de quiproco possibles. le débit est répartit sue les deux interfaces… satisfais ou tant pis pour ta pomme
dailleurs je me demande si quelqu’un a déjàs essayé de faire du load balancing avec trois routeurs et les tables de routages. ca m’arrangerais de savoir si cetait possible. (ajouter une table et la configurer comme les autres et ajouter “nexthop via 10.0.3.1 dev eth3 weight 1”)
vala, si tout se passe bien tu devrais avoir ceci (apres redemarrage du réseau (ifdown -a, ifup -a) quand tu tappes “ip route”.
# /etc/iproute2>ip route
10.0.0.0/30 dev eth2 proto kernel scope link src 10.0.0.2
10.0.1.0/30 dev eth1 proto kernel scope link src 10.0.1.2
X.X.X.X/XX dev eth0 proto kernel scope link src X.X.X.X
default
nexthop via 10.0.1.1 dev eth1 weight 1
nexthop via 10.0.0.1 dev eth2 weight 1
Hop et voilà, comble du bonheur pas besoin d’alourdir le pauvre iptables avec des règles à la mord moi le noeud…
par contre, je suis un peu hors sujet vu que tu souhaitais distribuer uniquement le http sur les deux routeurs. Là c’est tout le traffic qui est distribué indifférement du protocole. le filtrage iptables se fait sur le forward(filter).