Bonjour à tous,
Je souhaite mettre en place un partage de connexion internet par le biais de deux FAI ou plus,
afin d'assurer une disponibilité maximal d'internet.
Est-il possible d'utiliser IPTABLE pour cela ?
Est-il possible de faire de la QOS en même temps, car j'envisage d'utiliser la VOIP ?
Est-il possible de limiter la bande passante en fonction des protocoles HTTP, FTP, SSH, IAX, SIP etc... ?
Avez-vous un exemple de script ? :-D
Je sais pas si ça peut t'intéresser, mais j'ai mis en place une solution de partage de deux accès Internet pour un réseau d'entreprise.
Le partage que j'ai fait est statique et est basé sur les adresses IP des postes clients (impaires via accès 1 et paires via accès 2).
En cas de perte d'un des liens, on bascule tout le traffic sur le lien restant.
Ca repose sur deux tables de routage, chacune ayant un next hop par défaut correspondant à un des liens, et sur la table mangle d'iptables pour le marquage des paquets en fonction des IPs.
Bien sûr, le marquage peut se faire selon n'importe quel critère acceptable par les règle iptables.
Si ça te convient, je peux te filer des bouts du script que j'ai écrit pour ça.
Je te préviens d'avance, c'est un peu artisanal, mais je suis ouvert à toute proposition d'amélioration.
Comme demandé par MP, voici ce que j'ai mis en place dans ma boîte.
Pour commencer, une petite description de la topologie réseau.
En fait tout repose sur une passerelle qui réalise le partage des connexions internet pour le réseau privé grâce au NAT.
Il te faut, pour simplifier, trois interfaces réseau avec trois plan d'adressage.
Pour l'exemple, eth0 est reliée au réseau privé (192.168.0.0),
eth1 est reliée au premier routeur sur le sous-réseau 192.168.1.0
et eth2 est reliée au deuxième routeur sur le sous-réseau 192.168.2.0.
Pour info, on peut bien sûr se contenter d'une seule interface avec un seul sous-réseau pour les deux routeurs, voire même d'une seule interface en tout, mais autant commencer par faire simple. 😉

Une fois la configuration matérielle mise en place, passons à la configuration logicielle.
J'utilise deux scripts : le premier pour configurer iptables et les tables de routage statiques. Il prend un paramètre qui spécifie si on utilise le premier routeur, le deuxième, les deux, ou aucun.
Le deuxième script est lancé automatiquement au démarrage et il sert à monitorer les deux liens. En cas de changement d'état, il lance le script de configuration avec le paramètre qui convient.

- script config-gateway :
#!/bin/sh

PRIVATE_NETWORK=192.168.0.0/24 # Private network
PRIVATE_NETWORK_ODD_IPS=192.168.0.1/255.255.255.1 # Odd IPs to be routed via Internet access #1
PRIVATE_NETWORK_EVEN_IPS=192.168.0.2/255.255.255.1 # Even IPs to be routed via Internet access #2
PRIVATE_IP=192.168.0.254 # IP associated to the private interface
PRIVATE_INTERFACE=eth0 # Interface connected to the private network

PUBLIC_NETWORK_1=192.168.1.0/24 # Public network associated to the Internet link #1
PUBLIC_IP_1=192.168.1.254 # IP associated to the public interface #1
PUBLIC_INTERFACE_1=eth1 # Interface connected to the public network #1
PUBLIC_ROUTER_1=192.168.1.253 # IP of the router connected to Internet link #1
MARK_1=4 # Mark associated to packets to forward them to router 1

PUBLIC_NETWORK_2=192.168.2.0/24 # Public network associated to the Internet link #2
PUBLIC_IP_2=192.168.2.254 # IP associated to the public interface #2
PUBLIC_INTERFACE_2=eth2 # Interface connected to the public network #2
PUBLIC_ROUTER_2=192.168.2.253 # IP of the router connected to Internet link #2
MARK_2=5 # Mark associated to packets to forward them to router 2

MODE=$1 # The mode to use (--load-balance | --router-1 | --router-2 | --off)
LOG_FILE=[i]/path/to/log[/i]

# Check the mode provided is correct
case "$MODE" in
--load-balance)
    echo
    echo "Setting the gateway to split traffic over the 2 routers :"
    echo "`date +%x` `date +%T` : Configure gateway to balance traffic" >> $LOG_FILE
    ;;
--router-1)
    echo
    echo "Setting the gateway to route all traffic to router #1 :"
    echo "`date +%x` `date +%T` : Configure gateway to route traffic to router #1" >> $LOG_FILE
    ;;
--router-2)
    echo
    echo "Setting the gateway to route all traffic to router #2 :"
    echo "`date +%x` `date +%T` : Configure gateway to route traffic to router #2" >> $LOG_FILE
    ;;
--off)
    echo 0 > /proc/sys/net/ipv4/ip_forward

    # Flush all firewall rules
    iptables -t filter -F
    iptables -t nat -F
    iptables -t mangle -F

    # Set default policies to DROP all packets
    iptables -t filter -P INPUT DROP
    iptables -t filter -P OUTPUT DROP
    iptables -t filter -P FORWARD DROP

    # Accept ICMP traffic
    iptables -t filter -A INPUT -p icmp -j ACCEPT # Accept ICMP input (e.g. PING requests)
    iptables -t filter -A OUTPUT -p icmp -j ACCEPT # Accept ICMP output (e.g. PING replies)

    # Accept VNC connections from the inner network
    iptables -t filter -A INPUT -s $PRIVATE_NETWORK -i $PRIVATE_INTERFACE -d $PRIVATE_IP -p tcp --dport 5900 -j ACCEPT # Accept VNC packets from the inner network
    iptables -t filter -A OUTPUT -s $PRIVATE_IP -d $PRIVATE_NETWORK -o $PRIVATE_INTERFACE -p tcp --sport 5900 -j ACCEPT # Accept VNC packets to the inner network

    echo "Gateway disabled"
    echo "`date +%x` `date +%T` : Gateway disabled" >> $LOG_FILE
    exit 0
    ;;
*)
    echo "Usage: $0 {--load-balance|--router-1|--router-2|--off}"
    exit 1
esac



###################################################################################################
###                    Setting the firewall rules                ###
###################################################################################################

echo
echo "        *** Setting up iptables rules ***"
echo

# Allow to forward packets to another interface
echo 1 > /proc/sys/net/ipv4/ip_forward

# Restart the service to make sure it is started
service iptables restart

# Flush all firewall rules
iptables -t filter -F
iptables -t nat -F
iptables -t mangle -F

# Set default policies to DROP all packets
iptables -t filter -P INPUT DROP
iptables -t filter -P OUTPUT DROP
iptables -t filter -P FORWARD DROP


# Source NAT packets from the private network to public IPs of the firewall
iptables -t nat -A POSTROUTING -s $PRIVATE_NETWORK -o $PUBLIC_INTERFACE_1 -j SNAT --to-source $PUBLIC_IP_1
iptables -t nat -A POSTROUTING -s $PRIVATE_NETWORK -o $PUBLIC_INTERFACE_2 -j SNAT --to-source $PUBLIC_IP_2


# Mark packets so as to route them according to the mode given as parameter
case "$MODE" in
--load-balance)
    # Route the packets to the 2 routers depending on their source IP address
    iptables -t mangle -A PREROUTING -s $PRIVATE_NETWORK_ODD_IPS -i $PRIVATE_INTERFACE -j MARK --set-mark $MARK_1
    iptables -t mangle -A PREROUTING -s $PRIVATE_NETWORK_EVEN_IPS -i $PRIVATE_INTERFACE -j MARK --set-mark $MARK_2
    ;;
--router-1)
    # Route all packets to the router #1 (e.g. in case of router #2 failure)
    iptables -t mangle -A PREROUTING -s $PRIVATE_NETWORK -i $PRIVATE_INTERFACE -j MARK --set-mark $MARK_1
    ;;
--router-2)
    # Route all packets to the router #2 (e.g. in case of router #1 failure)
    iptables -t mangle -A PREROUTING -s $PRIVATE_NETWORK -i $PRIVATE_INTERFACE -j MARK --set-mark $MARK_2
    ;;
esac









###################################################################################################
###                   Setting up the routing rules                    ###
###################################################################################################

echo
echo "        *** Setting up routing rules ***"
echo

# Flush tables that will be used later
ip rule del fwmark $MARK_1
ip rule del fwmark $MARK_2
ip route flush table $MARK_1
ip route flush table $MARK_2

# Populate the 2 tables with the main routes
ip route show table main | grep -Ev ^default | while read ROUTE ; do
    ip route add table $MARK_1 $ROUTE
    ip route add table $MARK_2 $ROUTE
done

# Add the default route for each table
ip route add table $MARK_1 default via $PUBLIC_ROUTER_1
ip route add table $MARK_2 default via $PUBLIC_ROUTER_2

# Associate the firewall marks to the tables
ip rule add fwmark $MARK_1 table $MARK_1
ip rule add fwmark $MARK_2 table $MARK_2


# Flush the cache
ip route flush cache
- script internet-link-monitor :
#!/bin/sh

# The time to wait between two ping sessions
SLEEP_TIME=2

# The addresses to ping to make sure the links are available
ADDRESS_ROUTER_1=192.168.1.253
ADDRESS_ROUTER_2=192.168.2.253

# The script to launch if one link fails or comes back to life
SCRIPT_FILE=[i]/path/to/config-gateway[/i]

# Options to provide to the config-gateway script
BOTH_ROUTERS_OPTION=--load-balance
ROUTER_1_OPTION=--router-1
ROUTER_2_OPTION=--router-2
NO_ROUTER_OPTION=--off

# Status of the Internet links
STATUS_LINK_1=unknown
STATUS_LINK_2=unknown

while true; do
    # New status right after ping
    NEW_STATUS_LINK_1=up
    NEW_STATUS_LINK_2=up

    ping -c 5 $ADDRESS_ROUTER_1 > /dev/null
    if [ $? != 0 ]; then
        NEW_STATUS_LINK_1=down
    fi

    ping -c 5 $ADDRESS_ROUTER_2 > /dev/null
    if [ $? != 0 ]; then
        NEW_STATUS_LINK_2=down
    fi

    if [ $NEW_STATUS_LINK_1 != $STATUS_LINK_1 ] || [ $NEW_STATUS_LINK_2 != $STATUS_LINK_2 ]; then
        # At least one status has changed
        if [ $NEW_STATUS_LINK_1 = $NEW_STATUS_LINK_2 ]; then
            if [ $NEW_STATUS_LINK_1 = up ]; then
                # Both routers are up
                $SCRIPT_FILE $BOTH_ROUTERS_OPTION
            else
                # Both routers are down
                $SCRIPT_FILE $NO_ROUTER_OPTION
            fi

        elif [ $NEW_STATUS_LINK_1 = up ]; then
            # Router #1 is up and router #2 is down
            $SCRIPT_FILE $ROUTER_1_OPTION

        elif [ $NEW_STATUS_LINK_2 = up ]; then
            # Router #1 is down and router #2 is up
            $SCRIPT_FILE $ROUTER_2_OPTION
        fi

        STATUS_LINK_1=$NEW_STATUS_LINK_1
        STATUS_LINK_2=$NEW_STATUS_LINK_2
    fi

    sleep $SLEEP_TIME
done
Je te laisse prendre connaissance de ces deux scripts.
Si tu as besoin de plus d'explications, n'hésite pas.
Tout ce que tu as à faire, c'est de rajouter toutes les règles d'iptables que tu utilises dans le script config-gateway pour qu'elles soient rechargées à chaque fois et de lancer la commande suivante pour que le script internet-link-monitor soit lancé au démarrage de la passerelle :
echo "/path/to/internet-link-monitor &" >> /etc/rc.d/rc.local
Bon courage et n'hésitez pas à me faire part de vos commentaires.
Un grand merci,

J'étudie ces scripts, je test et je vous tiens au courant. :-D
Je souhaite mettre en place un partage de connexion internet par le biais de deux FAI ou plus,
afin d'assurer une disponibilité maximal d'internet.
Est-il possible d'utiliser IPTABLE pour cela ?
Tout est possible. C'est du logiciel libre. Sauf que ca n'est pas le role d'iptables de faire du routage (meme si netfilter peut l'alterer). Vois le manuel de la commande `ip', le LARTC howto, et eventuellement le script http://livna.org/~anvil/multi-routes.html. C'est un vieux script que j'utilisais il y a quelques annees. On pourrait faire plus intelligent et mieux integre dans les scripts reseau de fedora, aujourd'hui.
Ca ne fonctionne pas 🙁
Ma config

Routeur 1 :
IP 192.168.1.253

Routeur 2 :
IP 192.168.2.253

Eth0
IP 192.168.0.254
Mask 255.255.255.0
Passerelle : Null

Eth1
IP 192.168.1.254
Mask 255.255.255.0
Passerelle : 192.168.1.253

Eth2
IP 192.168.2.254
Mask 255.255.255.0
Passerelle : 192.168.2.253

Config du poste client (test)
IP 192.168.0.10
Mask 255.255.255.0
Passerelle 192.168.0.254
DNS 192.168.0.254

Apres avoir lancé le script, impossible de faire un test de ping « ping: sendmsg: Operation not permitted »
Impossible de faire un ping vers le 192.168.0.254 (eth0)
Impossible sur le 192.168.1.253, 192.168.1.254 etc... j'ai le même message
J'ai mal fait un truc !?! :-?
Suis pas très fortich, j'avais oublié les droits sur les fichiers
Alors en load-ballance j'ai dans le log
15.06.2007 12 :56 :10 : Configure gateway to balance traffic
15.06.2007 12 :56 :41 Gateway disabled
15.06.2007 12 :56 :51 : Configure gateway to balance traffic
15.06.2007 12 :56 :22 Gateway disabled
15.06.2007 12 :56 :32 : Configure gateway to balance traffic
Le test de ping vu du client donne une réponse un moment puis recoupe une réponse un moment puis recoupe encore et encore impossible d'avoir accès au net
Le test de ping sur le serveur donne sur le routeur 1 et 2 une réponse puis de nouveau « ping: sendmsg: Operation not permitted » encore et encore une réponse puis de nouveau « ping: sendmsg: Operation not permitted » encore et encore .

En mode routeur -2
15.06.2007 12 :44 :35 : Configure gateway to route traffic to router #2
15.06.2007 12 :45 :06 : Gateway disabled
Et toujours pas accès au net
Remarque le ping fonctionne quand le script est sur off et aussi quand j'ai Gateway disabled
j'ai rajouté:
# Accept ICMP traffic
iptables -t filter -A INPUT -p icmp -j ACCEPT # Accept ICMP input (e.g. PING requests)
iptables -t filter -A OUTPUT -p icmp -j ACCEPT # Accept ICMP output (e.g. PING replies)
dans " Setting the firewall rules "

et la plus de problme de « ping: sendmsg: Operation not permitted »

néanmois je n'ai toujours pas le net sur le client bien que le ping fonctionne un probleme au niveau du NAT ?!
Euh, dans le script que je t'ai fourni, le firewall n'est configuré que pour le partage des deux accès.
Ensuite, bien sûr, il faut que tu y rajoutes toutes les règles nécessaires pour laisser passer le traffic que tu veux.
Si tu veux, je peux te mettre un script avec quelques règles de bases (du style accès http et ftp de l'intérieur vers l'Internet).
Néanmoins, il serait bon que tu t'y connaisses un peu sur le fonctionnement de Netfilter et son paramétrage avec Iptables.

Pour le problème du ping, j'ai supprimé un peu trop de règles de mon propre script. :-D
Désolé de t'avoir créé un problème.
Ben c'est abusé mais je veux bien,
je ne suis pas en pro avec iptables, j'essaye tant bien que mal à me dépétrer avec de la doc que je trouve ici et là sur net.
Merci d'avance!
Dans ce cas, je ne saurais que trop te conseiller de faire un petit tour sur le site de Christian Caleca.
Je ne me suis jamais penché sur son tuto Iptables, mais il traite de plusieurs autres sujets et je trouve que ses tutos sont plutôt bien faits et abordables.

Pour ta configuration de base (HTTP + FTP), tu peux ajouter les lignes suivantes au script config-gateway :
# Load modules to handle FTP connections
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp


# Accept loopback traffic
iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT

# Accept ICMP traffic
iptables -t filter -A INPUT -p icmp -j ACCEPT # Accept ICMP input (e.g. PING requests)
iptables -t filter -A OUTPUT -p icmp -j ACCEPT # Accept ICMP output (e.g. PING replies)
iptables -t filter -A FORWARD -p icmp -j ACCEPT # Accept to forward ICMP traffic in both ways


# Forward all traffic that has been initiated by/is related to a previous connection
# This way, we will only have to allow new connections from inner network for required protocols
iptables -t filter -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT


###################################################
###     Dealing with "standard" connections     ###
###    (i.e. connections between a client and    ###
###       a remote server on the Internet)    ###
###################################################

# Forward HTTP/HTTPS packets from connections established from private network
iptables -t filter -A FORWARD -s $PRIVATE_NETWORK -i $PRIVATE_INTERFACE -p tcp --dport http -j ACCEPT # HTTP
iptables -t filter -A FORWARD -s $PRIVATE_NETWORK -i $PRIVATE_INTERFACE -p tcp --dport https -j ACCEPT # HTTPS


# Forward FTP packets from connections established from private network
iptables -t filter -A FORWARD -s $PRIVATE_NETWORK -i $PRIVATE_INTERFACE -p tcp --dport ftp -j ACCEPT
iptables -t filter -A FORWARD -s $PRIVATE_NETWORK -i $PRIVATE_INTERFACE -p tcp --dport ftp-data -j ACCEPT
Si je n'oublie rien, ça devrait être bon. :roll:
Merci,
mais ca marche toujours pas, je fais déjà un partage simple d'une connexion apres je passe à deux connexions.
Quel est le problème au juste ?

Edit : Un conseil : pour commencer laisses tomber le script internet-link-monitor.
Ca risque de faire des trucs sans que tu t'en rendes compte et tu comprendrais pas d'où viennent certains problèmes.
Tout ce que t'as à faire, c'est paramétrer le script config-gateway selon tes besoins et le lancer avec l'option que tu veux pour faire tes tests.
Si tu veux que j'y jette un oeil pour vérifier, postes-le.
je suis parti sur cette base:
#!/bin/sh

PRIVATE_NETWORK=192.168.0.0/24 # Private network
PRIVATE_NETWORK_ODD_IPS=192.168.0.1/255.255.255.1 # Odd IPs to be routed via Internet access #1
PRIVATE_NETWORK_EVEN_IPS=192.168.0.2/255.255.255.1 # Even IPs to be routed via Internet access #2
PRIVATE_IP=192.168.0.254 # IP associated to the private interface
PRIVATE_INTERFACE=eth0 # Interface connected to the private network

PUBLIC_NETWORK_1=192.168.1.0/24 # Public network associated to the Internet link #1
PUBLIC_IP_1=192.168.1.254 # IP associated to the public interface #1
PUBLIC_INTERFACE_1=eth1 # Interface connected to the public network #1
PUBLIC_ROUTER_1=192.168.1.253 # IP of the router connected to Internet link #1
MARK_1=4 # Mark associated to packets to forward them to router 1

PUBLIC_NETWORK_2=192.168.2.0/24 # Public network associated to the Internet link #2
PUBLIC_IP_2=192.168.2.254 # IP associated to the public interface #2
PUBLIC_INTERFACE_2=eth2 # Interface connected to the public network #2
PUBLIC_ROUTER_2=192.168.2.253 # IP of the router connected to Internet link #2
MARK_2=5 # Mark associated to packets to forward them to router 2

MODE=$1 # The mode to use (--load-balance | --router-1 | --router-2 | --off)
LOG_FILE=/root/log

# Check the mode provided is correct
case "$MODE" in
--load-balance)
    echo
    echo "Setting the gateway to split traffic over the 2 routers :"
    echo "`date +%x` `date +%T` : Configure gateway to balance traffic" >> $LOG_FILE
    ;;
--router-1)
    echo
    echo "Setting the gateway to route all traffic to router #1 :"
    echo "`date +%x` `date +%T` : Configure gateway to route traffic to router #1" >> $LOG_FILE
    ;;
--router-2)
    echo
    echo "Setting the gateway to route all traffic to router #2 :"
    echo "`date +%x` `date +%T` : Configure gateway to route traffic to router #2" >> $LOG_FILE
    ;;
--off)
    echo 0 > /proc/sys/net/ipv4/ip_forward

    # Flush all firewall rules
    iptables -t filter -F
    iptables -t nat -F
    iptables -t mangle -F

    # Set default policies to DROP all packets
    iptables -t filter -P INPUT DROP
    iptables -t filter -P OUTPUT DROP
    iptables -t filter -P FORWARD DROP

    # Accept ICMP traffic
    iptables -t filter -A INPUT -p icmp -j ACCEPT # Accept ICMP input (e.g. PING requests)
    iptables -t filter -A OUTPUT -p icmp -j ACCEPT # Accept ICMP output (e.g. PING replies)

    # Accept VNC connections from the inner network
    iptables -t filter -A INPUT -s $PRIVATE_NETWORK -i $PRIVATE_INTERFACE -d $PRIVATE_IP -p tcp --dport 5900 -j ACCEPT # Accept VNC packets from the inner network
    iptables -t filter -A OUTPUT -s $PRIVATE_IP -d $PRIVATE_NETWORK -o $PRIVATE_INTERFACE -p tcp --sport 5900 -j ACCEPT # Accept VNC packets to the inner network

    echo "Gateway disabled"
    echo "`date +%x` `date +%T` : Gateway disabled" >> $LOG_FILE
    exit 0
    ;;
*)
    echo "Usage: $0 {--load-balance|--router-1|--router-2|--off}"
    exit 1
esac



###################################################################################################
###                    Setting the firewall rules                ###
###################################################################################################

echo
echo "        *** Setting up iptables rules ***"
echo

# Allow to forward packets to another interface
echo 1 > /proc/sys/net/ipv4/ip_forward

# Restart the service to make sure it is started
service iptables restart

# Flush all firewall rules
iptables -t filter -F
iptables -t nat -F
iptables -t mangle -F

# Set default policies to DROP all packets
iptables -t filter -P INPUT DROP
iptables -t filter -P OUTPUT DROP
iptables -t filter -P FORWARD DROP


# Source NAT packets from the private network to public IPs of the firewall
iptables -t nat -A POSTROUTING -s $PRIVATE_NETWORK -o $PUBLIC_INTERFACE_1 -j SNAT --to-source $PUBLIC_IP_1
iptables -t nat -A POSTROUTING -s $PRIVATE_NETWORK -o $PUBLIC_INTERFACE_2 -j SNAT --to-source $PUBLIC_IP_2

# Load modules to handle FTP connections
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp


# Accept loopback traffic
iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT

# Accept ICMP traffic
iptables -t filter -A INPUT -p icmp -j ACCEPT # Accept ICMP input (e.g. PING requests)
iptables -t filter -A OUTPUT -p icmp -j ACCEPT # Accept ICMP output (e.g. PING replies)
iptables -t filter -A FORWARD -p icmp -j ACCEPT # Accept to forward ICMP traffic in both ways


# Forward all traffic that has been initiated by/is related to a previous connection
# This way, we will only have to allow new connections from inner network for required protocols
iptables -t filter -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT


###################################################
###     Dealing with "standard" connections     ###
###    (i.e. connections between a client and    ###
###       a remote server on the Internet)    ###
###################################################

# Forward HTTP/HTTPS packets from connections established from private network
iptables -t filter -A FORWARD -s $PRIVATE_NETWORK -i $PRIVATE_INTERFACE -p tcp --dport http -j ACCEPT # HTTP
iptables -t filter -A FORWARD -s $PRIVATE_NETWORK -i $PRIVATE_INTERFACE -p tcp --dport https -j ACCEPT # HTTPS


# Forward FTP packets from connections established from private network
iptables -t filter -A FORWARD -s $PRIVATE_NETWORK -i $PRIVATE_INTERFACE -p tcp --dport ftp -j ACCEPT
iptables -t filter -A FORWARD -s $PRIVATE_NETWORK -i $PRIVATE_INTERFACE -p tcp --dport ftp-data -j ACCEPT

# Mark packets so as to route them according to the mode given as parameter
case "$MODE" in
--load-balance)
    # Route the packets to the 2 routers depending on their source IP address
    iptables -t mangle -A PREROUTING -s $PRIVATE_NETWORK_ODD_IPS -i $PRIVATE_INTERFACE -j MARK --set-mark $MARK_1
    iptables -t mangle -A PREROUTING -s $PRIVATE_NETWORK_EVEN_IPS -i $PRIVATE_INTERFACE -j MARK --set-mark $MARK_2
    ;;
--router-1)
    # Route all packets to the router #1 (e.g. in case of router #2 failure)
    iptables -t mangle -A PREROUTING -s $PRIVATE_NETWORK -i $PRIVATE_INTERFACE -j MARK --set-mark $MARK_1
    ;;
--router-2)
    # Route all packets to the router #2 (e.g. in case of router #1 failure)
    iptables -t mangle -A PREROUTING -s $PRIVATE_NETWORK -i $PRIVATE_INTERFACE -j MARK --set-mark $MARK_2
    ;;
esac









###################################################################################################
###                   Setting up the routing rules                    ###
###################################################################################################

echo
echo "        *** Setting up routing rules ***"
echo

# Flush tables that will be used later
ip rule del fwmark $MARK_1
ip rule del fwmark $MARK_2
ip route flush table $MARK_1
ip route flush table $MARK_2

# Populate the 2 tables with the main routes
ip route show table main | grep -Ev ^default | while read ROUTE ; do
    ip route add table $MARK_1 $ROUTE
    ip route add table $MARK_2 $ROUTE
done

# Add the default route for each table
ip route add table $MARK_1 default via $PUBLIC_ROUTER_1
ip route add table $MARK_2 default via $PUBLIC_ROUTER_2

# Associate the firewall marks to the tables
ip rule add fwmark $MARK_1 table $MARK_1
ip rule add fwmark $MARK_2 table $MARK_2


# Flush the cache
ip route flush cache
Rappel de mes config

Routeur 1 :
IP 192.168.1.253

Routeur 2 :
IP 192.168.2.253

Eth0
IP 192.168.0.254
Mask 255.255.255.0
Passerelle : Null

Eth1
IP 192.168.1.254
Mask 255.255.255.0
Passerelle : 192.168.1.253

Eth2
IP 192.168.2.254
Mask 255.255.255.0
Passerelle : 192.168.2.253

Config du poste client (test)
IP 192.168.0.10
Mask 255.255.255.0
Passerelle 192.168.0.254
DNS 192.168.0.254

le ping vers google du poste client ne repond pas idem avec son adresse ip ping 209.85.135.103 ou ping www.google.fr, j'ai aussi remplacé l'adresse DNS du poste client directement par l'adresse ip d'orange et le probleme reste le même
je pense que le partage de connexion ne ce fait pas, pourquoi je ne sais pas.
j'ai fait un script basique comme :
#!/bin/sh

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A POSTROUTING -t nat -o eth1 -j SNAT --to 192.168.1.254
ou
#!/bin/sh

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A POSTROUTING -t nat -o eth1 -j MASQUERADE
et toujours pas de partage ?!

P.S :
J'ai trouvé un routeur dual WAN mais son prix n'est pas tres symphatique et c'est pour cela je souhaite le faire sur linux
http://www.xincom.com/images/flash/XiNCOM-demo.swf

il existe clackconnect qui fait du multi wan mais je n'ai pas spécialement envie d'une multitude d'ordinateur et de distribution dans mon petit cher moi
Pour commencer, il te faut ajouter ceci pour que le DNS fonctionne :
iptables -t filter -A FORWARD -s $PRIVATE_NETWORK -i $PRIVATE_INTERFACE -d $PUBLIC_ROUTER_1 -o $PUBLIC_INTERFACE_1 -p udp --dport domain -j ACCEPT # Accept DNS requests from the gateway to public router 1
iptables -t filter -A FORWARD -s $PRIVATE_NETWORK -i $PRIVATE_INTERFACE -d $PUBLIC_ROUTER_2 -o $PUBLIC_INTERFACE_2 -p udp --dport domain -j ACCEPT # Accept DNS requests from the gateway to public router 2

case "$MODE" in
--load-balance)
    # Destination NAT the DNS packets to the 2 routers depending on their source IP address
    iptables -t nat -A PREROUTING -s $PRIVATE_NETWORK_ODD_IPS -i $PRIVATE_INTERFACE -d $PRIVATE_IP -p udp --dport domain -j DNAT --to-destination $PUBLIC_ROUTER_1
    iptables -t nat -A PREROUTING -s $PRIVATE_NETWORK_EVEN_IPS -i $PRIVATE_INTERFACE -d $PRIVATE_IP -p udp --dport domain -j DNAT --to-destination $PUBLIC_ROUTER_2
    ;;
--router-1)
    # Destination NAT the DNS packets to the router #1 (i.e. in case of router 2 failure)
    iptables -t nat -A PREROUTING -s $PRIVATE_NETWORK -i $PRIVATE_INTERFACE -d $PRIVATE_IP -p udp --dport domain -j DNAT --to-destination $PUBLIC_ROUTER_1
    ;;
--router-2)
    # Destination NAT the DNS packets to the router #2 (i.e. in case of router 1 failure)
    iptables -t nat -A PREROUTING -s $PRIVATE_NETWORK -i $PRIVATE_INTERFACE -d $PRIVATE_IP -p udp --dport domain -j DNAT --to-destination $PUBLIC_ROUTER_2
    ;;
esac
Je l'avais oublié parce que je ne l'utilise plus vu que j'ai installé des serveurs DNS sur mon réseau.

Ensuite, pourrais-tu exécuter les trois commandes suivantes sur ta passerelle et me retourner leur résultat ?
ip route table show main
ip route table show 4
ip route table show 5
De même, sur le client, pourrais-tu faire un nslookup et taper 'server' puis 'google.fr' et me renvoyer le résultat, puis faire un 'tracert google.fr' si le DNS marche ou sur l'adresse IP.
ip route table show main
retourne:
Command "table" is unknow, try "ip route help"

idem pour:
ip route table show 4
et
ip route table show 5
nslookup et taper 'server' puis 'google.fr'
retourne:
Microsoft Windows XP [version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\Paguira>nslookup
*** Impossible de trouver le nom de serveur pour l'adresse 192.168.0.254 : Non-e
xistent domain
*** Les serveurs par défaut ne sont pas disponibles
Serveur par dÚfaut :  UnKnown
Address:  192.168.0.254

> server www.google.fr
Serveur par dÚfaut :  www.l.google.com
Addresses:  209.85.129.147, 209.85.129.99, 209.85.129.104
Aliases:  www.google.fr, www.google.com

>
Excuses, je me suis planté dans les commandes :-D
C'est 'ip route show table xxx'.
(C'est ça de vouloir aller vite et de pas se relire 😉)

Pour les requêtes nslookup, il s'agit de deux requêtes différentes.
D'abord tu tapes 'server' pour voir quel serveur est utilisé pour la résolution, puis ensuite tu tapes 'google.fr' pour résoudre l'adresse.
Tu peux aussi taper directement 'nslookup google.fr' et mettre le résultat.

Et t'as pas essayé 'tracert google.fr' ?
ip route show table main:
192.168.2.0/24 dev eth2 proto kernel scope link src 192.168.2.254
192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.254
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.254
192.254.0.0/16 dev eth2 scope link
default via 192.168.2.253 dev eth2
ip route show table 4:
192.168.2.0/24 dev eth2 proto kernel scope link src 192.168.2.254
192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.254
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.254
192.254.0.0/16 dev eth2 scope link
default via 192.168.1.253 dev eth1
ip route show table 5:
192.168.2.0/24 dev eth2 proto kernel scope link src 192.168.2.254
192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.254
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.254
192.254.0.0/16 dev eth2 scope link
default via 192.168.2.253 dev eth2
nslookup google.fr suivi d'un tracert
Microsoft Windows XP [version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\Paguira>nslookup google.fr
*** Impossible de trouver le nom de serveur pour l'adresse 192.168.0.254 : Non-e
xistent domain
*** Les serveurs par défaut ne sont pas disponibles
Serveur :  UnKnown
Address:  192.168.0.254

Réponse ne faisant pas autorité :
Nom :    google.fr
Addresses:  216.239.59.104, 72.14.221.104, 66.249.93.104


C:\Documents and Settings\Paguira>tracert google.fr

Détermination de l'itinéraire vers google.fr [72.14.221.104]
avec un maximum de 30 sauts :

  1     *        *        *     Délai d'attente de la demande dépassé.
  2     *        *        *     Délai d'attente de la demande dépassé.
  3     *        *        *     Délai d'attente de la demande dépassé.
  4     *        *        *     Délai d'attente de la demande dépassé.
  5     *        *        *     Délai d'attente de la demande dépassé.
  6     *        *        *     Délai d'attente de la demande dépassé.
  7     *        *
:-? C'est très bizarre tout ça.

On va tout reprendre.
Tu vides le fichier /root/log et tu redémarres ta passerelle.
Tu vérifies une fois redémarrée que le fichier de log est toujours vide (histoire d'être sûr que le script internet-link-monitor ne tourne pas).

Remplaces ton script config-gateway par celui-là (il reprend la modif pour les DNS et logue les paquets rejetés):
#!/bin/sh

PRIVATE_NETWORK=192.168.0.0/24 # Private network
PRIVATE_NETWORK_ODD_IPS=192.168.0.1/255.255.255.1 # Odd IPs to be routed via Internet access #1
PRIVATE_NETWORK_EVEN_IPS=192.168.0.2/255.255.255.1 # Even IPs to be routed via Internet access #2
PRIVATE_IP=192.168.0.254 # IP associated to the private interface
PRIVATE_INTERFACE=eth0 # Interface connected to the private network

PUBLIC_NETWORK_1=192.168.1.0/24 # Public network associated to the Internet link #1
PUBLIC_IP_1=192.168.1.254 # IP associated to the public interface #1
PUBLIC_INTERFACE_1=eth1 # Interface connected to the public network #1
PUBLIC_ROUTER_1=192.168.1.253 # IP of the router connected to Internet link #1
MARK_1=4 # Mark associated to packets to forward them to router 1

PUBLIC_NETWORK_2=192.168.2.0/24 # Public network associated to the Internet link #2
PUBLIC_IP_2=192.168.2.254 # IP associated to the public interface #2
PUBLIC_INTERFACE_2=eth2 # Interface connected to the public network #2
PUBLIC_ROUTER_2=192.168.2.253 # IP of the router connected to Internet link #2
MARK_2=5 # Mark associated to packets to forward them to router 2

MODE=$1 # The mode to use (--load-balance | --router-1 | --router-2 | --off)
LOG_FILE=/root/log

# Check the mode provided is correct
case "$MODE" in
--load-balance)
    echo
    echo "Setting the gateway to split traffic over the 2 routers :"
    echo "`date +%x` `date +%T` : Configure gateway to balance traffic" >> $LOG_FILE
    ;;
--router-1)
    echo
    echo "Setting the gateway to route all traffic to router #1 :"
    echo "`date +%x` `date +%T` : Configure gateway to route traffic to router #1" >> $LOG_FILE
    ;;
--router-2)
    echo
    echo "Setting the gateway to route all traffic to router #2 :"
    echo "`date +%x` `date +%T` : Configure gateway to route traffic to router #2" >> $LOG_FILE
    ;;
--off)
    echo 0 > /proc/sys/net/ipv4/ip_forward

    # Flush all firewall rules
    iptables -t filter -F
    iptables -t nat -F
    iptables -t mangle -F

    # Set default policies to DROP all packets
    iptables -t filter -P INPUT DROP
    iptables -t filter -P OUTPUT DROP
    iptables -t filter -P FORWARD DROP

    # Accept ICMP traffic
    iptables -t filter -A INPUT -p icmp -j ACCEPT # Accept ICMP input (e.g. PING requests)
    iptables -t filter -A OUTPUT -p icmp -j ACCEPT # Accept ICMP output (e.g. PING replies)

    # Accept VNC connections from the inner network
    iptables -t filter -A INPUT -s $PRIVATE_NETWORK -i $PRIVATE_INTERFACE -d $PRIVATE_IP -p tcp --dport 5900 -j ACCEPT # Accept VNC packets from the inner network
    iptables -t filter -A OUTPUT -s $PRIVATE_IP -d $PRIVATE_NETWORK -o $PRIVATE_INTERFACE -p tcp --sport 5900 -j ACCEPT # Accept VNC packets to the inner network

    echo "Gateway disabled"
    echo "`date +%x` `date +%T` : Gateway disabled" >> $LOG_FILE
    exit 0
    ;;
*)
    echo "Usage: $0 {--load-balance|--router-1|--router-2|--off}"
    exit 1
esac



###################################################################################################
###                    Setting the firewall rules                ###
###################################################################################################

echo
echo "        *** Setting up iptables rules ***"
echo

# Allow to forward packets to another interface
echo 1 > /proc/sys/net/ipv4/ip_forward

# Restart the service to make sure it is started
service iptables restart

# Flush all firewall rules
iptables -t filter -F
iptables -t nat -F
iptables -t mangle -F

# Set default policies to DROP all packets
iptables -t filter -P INPUT DROP
iptables -t filter -P OUTPUT DROP
iptables -t filter -P FORWARD DROP

# Define LOG_DROP chain to log packets that are dropped
iptables -t filter -N LOG_DROP
iptables -t filter -A LOG_DROP -p udp --sport netbios-ns:netbios-dgm --dport netbios-ns:netbios-dgm -j LOG --log-prefix '[IPTABLES_NETBIOS_DROP]:' # Log Netbios packets dropped using a specific prefix
iptables -t filter -A LOG_DROP -p udp --sport netbios-ns:netbios-dgm --dport netbios-ns:netbios-dgm -j DROP # Drop Netbios packets so that they are not logged twice
iptables -t filter -A LOG_DROP -j LOG --log-prefix '[IPTABLES_DROP]:'
iptables -t filter -A LOG_DROP -j DROP


# Source NAT packets from the private network to public IPs of the firewall
iptables -t nat -A POSTROUTING -s $PRIVATE_NETWORK -o $PUBLIC_INTERFACE_1 -j SNAT --to-source $PUBLIC_IP_1
iptables -t nat -A POSTROUTING -s $PRIVATE_NETWORK -o $PUBLIC_INTERFACE_2 -j SNAT --to-source $PUBLIC_IP_2

# Load modules to handle FTP connections
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp


# Accept loopback traffic
iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT

# Accept ICMP traffic
iptables -t filter -A INPUT -p icmp -j ACCEPT # Accept ICMP input (e.g. PING requests)
iptables -t filter -A OUTPUT -p icmp -j ACCEPT # Accept ICMP output (e.g. PING replies)
iptables -t filter -A FORWARD -p icmp -j ACCEPT # Accept to forward ICMP traffic in both ways


# Forward all traffic that has been initiated by/is related to a previous connection
# This way, we will only have to allow new connections from inner network for required protocols
iptables -t filter -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT



# Mark packets so as to route them according to the mode given as parameter
case "$MODE" in
--load-balance)
    # Route the packets to the 2 routers depending on their source IP address
    iptables -t mangle -A PREROUTING -s $PRIVATE_NETWORK_ODD_IPS -i $PRIVATE_INTERFACE -j MARK --set-mark $MARK_1
    iptables -t mangle -A PREROUTING -s $PRIVATE_NETWORK_EVEN_IPS -i $PRIVATE_INTERFACE -j MARK --set-mark $MARK_2
    ;;
--router-1)
    # Route all packets to the router #1 (e.g. in case of router #2 failure)
    iptables -t mangle -A PREROUTING -s $PRIVATE_NETWORK -i $PRIVATE_INTERFACE -j MARK --set-mark $MARK_1
    ;;
--router-2)
    # Route all packets to the router #2 (e.g. in case of router #1 failure)
    iptables -t mangle -A PREROUTING -s $PRIVATE_NETWORK -i $PRIVATE_INTERFACE -j MARK --set-mark $MARK_2
    ;;
esac



###################################################
###     Dealing with "standard" connections     ###
###    (i.e. connections between a client and    ###
###       a remote server on the Internet)    ###
###################################################

# Forward HTTP/HTTPS packets from connections established from private network
iptables -t filter -A FORWARD -s $PRIVATE_NETWORK -i $PRIVATE_INTERFACE -p tcp --dport http -j ACCEPT # HTTP
iptables -t filter -A FORWARD -s $PRIVATE_NETWORK -i $PRIVATE_INTERFACE -p tcp --dport https -j ACCEPT # HTTPS


# Forward FTP packets from connections established from private network
iptables -t filter -A FORWARD -s $PRIVATE_NETWORK -i $PRIVATE_INTERFACE -p tcp --dport ftp -j ACCEPT
iptables -t filter -A FORWARD -s $PRIVATE_NETWORK -i $PRIVATE_INTERFACE -p tcp --dport ftp-data -j ACCEPT


###################################################
###   Dealing with "non-standard" connections   ###
###################################################

# Forward DNS traffic to the two routers
iptables -t filter -A FORWARD -s $PRIVATE_NETWORK -i $PRIVATE_INTERFACE -d $PUBLIC_ROUTER_1 -o $PUBLIC_INTERFACE_1 -p udp --dport domain -j ACCEPT # Accept DNS requests from the gateway to public router 1
iptables -t filter -A FORWARD -s $PRIVATE_NETWORK -i $PRIVATE_INTERFACE -d $PUBLIC_ROUTER_2 -o $PUBLIC_INTERFACE_2 -p udp --dport domain -j ACCEPT # Accept DNS requests from the gateway to public router 2

case "$MODE" in
--load-balance)
    # Destination NAT the DNS packets to the 2 routers depending on their source IP address
    iptables -t nat -A PREROUTING -s $PRIVATE_NETWORK_ODD_IPS -i $PRIVATE_INTERFACE -d $PRIVATE_IP -p udp --dport domain -j DNAT --to-destination $PUBLIC_ROUTER_1
    iptables -t nat -A PREROUTING -s $PRIVATE_NETWORK_EVEN_IPS -i $PRIVATE_INTERFACE -d $PRIVATE_IP -p udp --dport domain -j DNAT --to-destination $PUBLIC_ROUTER_2
    ;;
--router-1)
    # Destination NAT the DNS packets to the router #1 (i.e. in case of router 2 failure)
    iptables -t nat -A PREROUTING -s $PRIVATE_NETWORK -i $PRIVATE_INTERFACE -d $PRIVATE_IP -p udp --dport domain -j DNAT --to-destination $PUBLIC_ROUTER_1
    ;;
--router-2)
    # Destination NAT the DNS packets to the router #2 (i.e. in case of router 1 failure)
    iptables -t nat -A PREROUTING -s $PRIVATE_NETWORK -i $PRIVATE_INTERFACE -d $PRIVATE_IP -p udp --dport domain -j DNAT --to-destination $PUBLIC_ROUTER_2
    ;;
esac


# Set last filter rules to LOG_DROP packets
# No rules should be inserted after these ones !!!
iptables -t filter -A INPUT -j LOG_DROP
iptables -t filter -A OUTPUT -j LOG_DROP
iptables -t filter -A FORWARD -j LOG_DROP







###################################################################################################
###                   Setting up the routing rules                    ###
###################################################################################################

echo
echo "        *** Setting up routing rules ***"
echo

# Flush tables that will be used later
ip rule del fwmark $MARK_1
ip rule del fwmark $MARK_2
ip route flush table $MARK_1
ip route flush table $MARK_2

# Populate the 2 tables with the main routes
ip route show table main | grep -Ev ^default | while read ROUTE ; do
    ip route add table $MARK_1 $ROUTE
    ip route add table $MARK_2 $ROUTE
done

# Add the default route for each table
ip route add table $MARK_1 default via $PUBLIC_ROUTER_1
ip route add table $MARK_2 default via $PUBLIC_ROUTER_2

# Associate the firewall marks to the tables
ip rule add fwmark $MARK_1 table $MARK_1
ip rule add fwmark $MARK_2 table $MARK_2


# Flush the cache
ip route flush cache
Ensuite, tu fais 'config-gateway --load-balance'.
Une fois fait, tu fais 'tail -f /var/log/messages'

Depuis la passerelle, fais un ping vers ton poste client et tes 2 routeurs.
Depuis ton poste client, fais un ping vers la passerelle et chacun des deux routeurs.

Renvoies-moi le résultat de chacun des pings plus le log des éventuels paquets rejetés.
Vérifies aussi que dans le fichier de /root/log, tu n'as qu'une ligne qui dit que la passerelle est configurée pour faire du load balancing.
Avec ça, on devrait voir ce qui cloche...
/root/log
19.06.2007 10:34:34 : Configure gateway to balance traffic
Passerelle:
ping vers routeur 1 OK
ping vers routeur 2 OK
ping vers client OK

Client :
ping vers routeur 1 echec
ping vers routeur 2 echec
ping vers passerelle OK


log:
Jun 19 10:33:50 fedora gconfd (root-2556): Adresse « xml:readwrite:/root/.gconf » résolue vers une source de configuration accessible en écriture à la position 0
Jun 19 10:34:35 fedora kernel: ip_tables: (C) 2000-2006 Netfilter Core Team 
Jun 19 10:34:35 fedora kernel: Netfilter messages via NETLINK v0.30.
Jun 19 10:34:35 fedora kernel: ip_conntrack version 2.4 (2048 buckets, 16384 max) - 228 bytes per conntrack
Jun 19 10:34:38 fedora kernel: [IPTABLES_DROP]:IN=eth2 OUT= MAC=00:0c:29:8a:87:d2:00:0c:c3:31:db:a9:08:00 SRC= 72.21.40.11 DST=192.168.2.254 LEN=40 TOS=0x08 PREC=0x40 TTL=46 ID=37847 DF PROTO=TCP SPT=80 DPT=4527 WINDOW=402 RES=0x00 ACK FIN URGP=0 
Jun 19 10:34:39 fedora kernel: [IPTABLES_DROP]:IN=eth2 OUT= MAC=00:0c:29:8a:87:d2:00:0c:c3:31:db:a9:08:00 SRC= 72.21.40.11 DST=192.168.2.254 LEN=40 TOS=0x08 PREC=0x40 TTL=46 ID=37848 DF PROTO=TCP SPT=80 DPT=4527 WINDOW=402 RES=0x00 ACK FIN URGP=0 
Jun 19 10:34:41 fedora kernel: [IPTABLES_DROP]:IN=eth2 OUT= MAC=00:0c:29:8a:87:d2:00:0c:c3:31:db:a9:08:00 SRC= 72.21.40.11 DST=192.168.2.254 LEN=40 TOS=0x08 PREC=0x40 TTL=46 ID=37849 DF PROTO=TCP SPT=80 DPT=4527 WINDOW=402 RES=0x00 ACK FIN URGP=0 
Jun 19 10:34:42 fedora kernel: [IPTABLES_DROP]:IN=eth2 OUT= MAC=00:0c:29:8a:87:d2:00:0c:c3:31:db:a9:08:00 SRC= 64.92.174.75 DST=192.168.2.254 LEN=40 TOS=0x08 PREC=0x40 TTL=46 ID=11309 DF PROTO=TCP SPT=80 DPT=4951 WINDOW=27 RES=0x00 ACK FIN URGP=0 
Jun 19 10:34:44 fedora kernel: [IPTABLES_DROP]:IN=eth2 OUT= MAC=00:0c:29:8a:87:d2:00:0c:c3:31:db:a9:08:00 SRC= 64.92.174.75 DST=192.168.2.254 LEN=40 TOS=0x08 PREC=0x40 TTL=46 ID=11311 DF PROTO=TCP SPT=80 DPT=4951 WINDOW=27 RES=0x00 ACK FIN URGP=0 
Jun 19 10:34:45 fedora kernel: [IPTABLES_DROP]:IN=eth2 OUT= MAC=00:0c:29:8a:87:d2:00:0c:c3:31:db:a9:08:00 SRC= 72.21.40.11 DST=192.168.2.254 LEN=40 TOS=0x08 PREC=0x40 TTL=46 ID=37850 DF PROTO=TCP SPT=80 DPT=4527 WINDOW=402 RES=0x00 ACK FIN URGP=0 
Jun 19 10:34:46 fedora kernel: [IPTABLES_DROP]:IN=eth2 OUT= MAC=00:0c:29:8a:87:d2:00:0c:c3:31:db:a9:08:00 SRC= 64.92.174.75 DST=192.168.2.254 LEN=40 TOS=0x08 PREC=0x40 TTL=46 ID=11313 DF PROTO=TCP SPT=80 DPT=4951 WINDOW=27 RES=0x00 ACK FIN URGP=0 
Jun 19 10:34:49 fedora kernel: [IPTABLES_DROP]:IN=eth2 OUT= MAC=00:0c:29:8a:87:d2:00:0c:c3:31:db:a9:08:00 SRC= 192.168.2.253 DST=192.168.2.254 LEN=193 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=2057 DPT=1036 LEN=173 
Jun 19 10:34:51 fedora kernel: [IPTABLES_DROP]:IN=eth2 OUT= MAC=00:0c:29:8a:87:d2:00:0c:c3:31:db:a9:08:00 SRC= 64.92.174.75 DST=192.168.2.254 LEN=40 TOS=0x08 PREC=0x40 TTL=46 ID=11315 DF PROTO=TCP SPT=80 DPT=4951 WINDOW=27 RES=0x00 ACK FIN URGP=0 
Jun 19 10:34:52 fedora kernel: [IPTABLES_NETBIOS_DROP]:IN=eth2 OUT= MAC=ff:ff:ff:ff:ff:ff:00:16:ec:f3:eb:88:08:00 SRC= 192.168.0.40 DST=192.168.0.255 LEN=78 TOS=0x00 PREC=0x00 TTL=128 ID=7083 PROTO=UDP SPT=137 DPT=137 LEN=58 
Jun 19 10:34:52 fedora kernel: [IPTABLES_NETBIOS_DROP]:IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:00:16:ec:f3:eb:88:08:00 SRC= 192.168.0.40 DST=192.168.0.255 LEN=78 TOS=0x00 PREC=0x00 TTL=128 ID=7083 PROTO=UDP SPT=137 DPT=137 LEN=58 
Jun 19 10:34:52 fedora kernel: [IPTABLES_NETBIOS_DROP]:IN=eth1 OUT= MAC=ff:ff:ff:ff:ff:ff:00:16:ec:f3:eb:88:08:00 SRC= 192.168.0.40 DST=192.168.0.255 LEN=78 TOS=0x00 PREC=0x00 TTL=128 ID=7083 PROTO=UDP SPT=137 DPT=137 LEN=58 
Jun 19 10:34:53 fedora kernel: [IPTABLES_DROP]:IN=eth2 OUT= MAC=00:0c:29:8a:87:d2:00:0c:c3:31:db:a9:08:00 SRC= 72.21.40.11 DST=192.168.2.254 LEN=40 TOS=0x08 PREC=0x40 TTL=46 ID=37851 DF PROTO=TCP SPT=80 DPT=4527 WINDOW=402 RES=0x00 ACK FIN URGP=0 
Jun 19 10:35:02 fedora kernel: [IPTABLES_DROP]:IN=eth2 OUT= MAC=00:0c:29:8a:87:d2:00:0c:c3:31:db:a9:08:00 SRC= 64.92.174.75 DST=192.168.2.254 LEN=40 TOS=0x08 PREC=0x40 TTL=46 ID=11317 DF PROTO=TCP SPT=80 DPT=4951 WINDOW=27 RES=0x00 ACK FIN URGP=0 
Jun 19 10:35:09 fedora kernel: [IPTABLES_DROP]:IN=eth2 OUT= MAC=00:0c:29:8a:87:d2:00:0c:c3:31:db:a9:08:00 SRC= 72.21.40.11 DST=192.168.2.254 LEN=40 TOS=0x08 PREC=0x40 TTL=46 ID=37852 DF PROTO=TCP SPT=80 DPT=4527 WINDOW=402 RES=0x00 ACK FIN URGP=0 
Jun 19 10:35:11 fedora kernel: [IPTABLES_DROP]:IN=eth1 OUT= MAC=00:0c:29:8a:87:c8:00:18:4d:af:ad:c2:08:00 SRC= 192.168.1.253 DST=192.168.1.254 LEN=78 TOS=0x00 PREC=0x00 TTL=64 ID=1702 PROTO=UDP SPT=2575 DPT=137 LEN=58 
Jun 19 10:35:13 fedora kernel: [IPTABLES_DROP]:IN=eth1 OUT= MAC=00:0c:29:8a:87:c8:00:18:4d:af:ad:c2:08:00 SRC= 192.168.1.253 DST=192.168.1.254 LEN=78 TOS=0x00 PREC=0x00 TTL=64 ID=1703 PROTO=UDP SPT=2576 DPT=137 LEN=58 
Jun 19 10:35:14 fedora kernel: [IPTABLES_DROP]:IN=eth1 OUT= MAC=00:0c:29:8a:87:c8:00:18:4d:af:ad:c2:08:00 SRC= 192.168.1.253 DST=192.168.1.254 LEN=78 TOS=0x00 PREC=0x00 TTL=64 ID=1704 PROTO=UDP SPT=2576 DPT=137 LEN=58 
Jun 19 10:35:15 fedora kernel: [IPTABLES_DROP]:IN=eth1 OUT= MAC=00:0c:29:8a:87:c8:00:18:4d:af:ad:c2:08:00 SRC= 192.168.1.253 DST=192.168.1.254 LEN=78 TOS=0x00 PREC=0x00 TTL=64 ID=1705 PROTO=UDP SPT=2577 DPT=137 LEN=58 
Jun 19 10:35:16 fedora kernel: [IPTABLES_DROP]:IN=eth1 OUT= MAC=00:0c:29:8a:87:c8:00:18:4d:af:ad:c2:08:00 SRC= 192.168.1.253 DST=192.168.1.254 LEN=78 TOS=0x00 PREC=0x00 TTL=64 ID=1706 PROTO=UDP SPT=2577 DPT=137 LEN=58 
Jun 19 10:35:22 fedora kernel: [IPTABLES_DROP]:IN=eth1 OUT= MAC=00:0c:29:8a:87:c8:00:0c:c3:31:db:a9:08:00 SRC= 64.92.174.75 DST=192.168.2.254 LEN=40 TOS=0x08 PREC=0x40 TTL=46 ID=11319 DF PROTO=TCP SPT=80 DPT=4951 WINDOW=27 RES=0x00 ACK FIN URGP=0 
Jun 19 10:35:32 fedora kernel: [IPTABLES_DROP]:IN=eth2 OUT= MAC=00:0c:29:8a:87:d2:00:0c:c3:31:db:a9:08:00 SRC= 192.168.2.253 DST=192.168.2.254 LEN=193 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=2057 DPT=1036 LEN=173 
Jun 19 10:36:15 fedora kernel: [IPTABLES_DROP]:IN=eth2 OUT= MAC=00:0c:29:8a:87:d2:00:0c:c3:31:db:a9:08:00 SRC= 192.168.2.253 DST=192.168.2.254 LEN=193 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=2057 DPT=1036 LEN=173 
Jun 19 10:36:33 fedora kernel: [IPTABLES_DROP]:IN=eth1 OUT= MAC=00:0c:29:8a:87:c8:00:18:4d:af:ad:c2:08:00 SRC= 192.168.1.253 DST=192.168.1.254 LEN=78 TOS=0x00 PREC=0x00 TTL=64 ID=1712 PROTO=UDP SPT=2579 DPT=137 LEN=58 
Jun 19 10:36:34 fedora kernel: [IPTABLES_DROP]:IN=eth1 OUT= MAC=00:0c:29:8a:87:c8:00:18:4d:af:ad:c2:08:00 SRC= 192.168.1.253 DST=192.168.1.254 LEN=78 TOS=0x00 PREC=0x00 TTL=64 ID=1713 PROTO=UDP SPT=2579 DPT=137 LEN=58 
Jun 19 10:36:35 fedora kernel: [IPTABLES_DROP]:IN=eth1 OUT= MAC=00:0c:29:8a:87:c8:00:18:4d:af:ad:c2:08:00 SRC= 192.168.1.253 DST=192.168.1.254 LEN=78 TOS=0x00 PREC=0x00 TTL=64 ID=1714 PROTO=UDP SPT=2580 DPT=137 LEN=58 
Jun 19 10:36:36 fedora kernel: [IPTABLES_DROP]:IN=eth1 OUT= MAC=00:0c:29:8a:87:c8:00:18:4d:af:ad:c2:08:00 SRC= 192.168.1.253 DST=192.168.1.254 LEN=78 TOS=0x00 PREC=0x00 TTL=64 ID=1715 PROTO=UDP SPT=2580 DPT=137 LEN=58 
Jun 19 10:36:37 fedora kernel: [IPTABLES_DROP]:IN=eth1 OUT= MAC=00:0c:29:8a:87:c8:00:18:4d:af:ad:c2:08:00 SRC= 192.168.1.253 DST=192.168.1.254 LEN=78 TOS=0x00 PREC=0x00 TTL=64 ID=1716 PROTO=UDP SPT=2581 DPT=137 LEN=58 
Jun 19 10:36:38 fedora kernel: [IPTABLES_DROP]:IN=eth1 OUT= MAC=00:0c:29:8a:87:c8:00:18:4d:af:ad:c2:08:00 SRC= 192.168.1.253 DST=192.168.1.254 LEN=78 TOS=0x00 PREC=0x00 TTL=64 ID=1717 PROTO=UDP SPT=2581 DPT=137 LEN=58 
Jun 19 10:36:59 fedora kernel: [IPTABLES_DROP]:IN=eth2 OUT= MAC=00:0c:29:8a:87:d2:00:0c:c3:31:db:a9:08:00 SRC= 192.168.2.253 DST=192.168.2.254 LEN=193 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=2057 DPT=1036 LEN=173 
Jun 19 10:37:06 fedora kernel: [IPTABLES_DROP]:IN=eth2 OUT= MAC=00:0c:29:8a:87:d2:00:0c:c3:31:db:a9:08:00 SRC= 134.157.176.20 DST=192.168.2.254 LEN=52 TOS=0x08 PREC=0x40 TTL=50 ID=47205 DF PROTO=TCP SPT=80 DPT=1789 WINDOW=6432 RES=0x00 ACK FIN URGP=0 
Jun 19 10:37:08 fedora kernel: [IPTABLES_DROP]:IN=eth2 OUT= MAC=00:0c:29:8a:87:d2:00:0c:c3:31:db:a9:08:00 SRC= 134.157.176.20 DST=192.168.2.254 LEN=52 TOS=0x08 PREC=0x40 TTL=50 ID=47206 DF PROTO=TCP SPT=80 DPT=1789 WINDOW=6432 RES=0x00 ACK FIN URGP=0 
Jun 19 10:37:11 fedora kernel: [IPTABLES_DROP]:IN=eth2 OUT= MAC=00:0c:29:8a:87:d2:00:0c:c3:31:db:a9:08:00 SRC= 134.157.176.20 DST=192.168.2.254 LEN=52 TOS=0x08 PREC=0x40 TTL=50 ID=47207 DF PROTO=TCP SPT=80 DPT=1789 WINDOW=6432 RES=0x00 ACK FIN URGP=0 
Jun 19 10:37:17 fedora kernel: [IPTABLES_DROP]:IN=eth1 OUT= MAC=00:0c:29:8a:87:c8:00:0c:c3:31:db:a9:08:00 SRC= 134.157.176.20 DST=192.168.2.254 LEN=52 TOS=0x08 PREC=0x40 TTL=50 ID=47208 DF PROTO=TCP SPT=80 DPT=1789 WINDOW=6432 RES=0x00 ACK FIN URGP=0 
Jun 19 10:37:28 fedora kernel: [IPTABLES_DROP]:IN=eth1 OUT= MAC=00:0c:29:8a:87:c8:00:0c:c3:31:db:a9:08:00 SRC= 134.157.176.20 DST=192.168.2.254 LEN=52 TOS=0x08 PREC=0x40 TTL=50 ID=47209 DF PROTO=TCP SPT=80 DPT=1789 WINDOW=6432 RES=0x00 ACK FIN URGP=0 
Jun 19 10:37:51 fedora kernel: [IPTABLES_DROP]:IN=eth1 OUT= MAC=00:0c:29:8a:87:c8:00:0c:c3:31:db:a9:08:00 SRC= 134.157.176.20 DST=192.168.2.254 LEN=52 TOS=0x08 PREC=0x40 TTL=50 ID=47210 DF PROTO=TCP SPT=80 DPT=1789 WINDOW=6432 RES=0x00 ACK FIN URGP=0 
Jun 19 10:37:55 fedora kernel: [IPTABLES_DROP]:IN=eth1 OUT= MAC=00:0c:29:8a:87:c8:00:18:4d:af:ad:c2:08:00 SRC= 192.168.1.253 DST=192.168.1.254 LEN=78 TOS=0x00 PREC=0x00 TTL=64 ID=1719 PROTO=UDP SPT=2583 DPT=137 LEN=58 
Jun 19 10:37:56 fedora kernel: [IPTABLES_DROP]:IN=eth1 OUT= MAC=00:0c:29:8a:87:c8:00:18:4d:af:ad:c2:08:00 SRC= 192.168.1.253 DST=192.168.1.254 LEN=78 TOS=0x00 PREC=0x00 TTL=64 ID=1720 PROTO=UDP SPT=2583 DPT=137 LEN=58 
Jun 19 10:37:57 fedora kernel: [IPTABLES_DROP]:IN=eth1 OUT= MAC=00:0c:29:8a:87:c8:00:18:4d:af:ad:c2:08:00 SRC= 192.168.1.253 DST=192.168.1.254 LEN=78 TOS=0x00 PREC=0x00 TTL=64 ID=1721 PROTO=UDP SPT=2584 DPT=137 LEN=58 
Jun 19 10:37:58 fedora kernel: [IPTABLES_DROP]:IN=eth1 OUT= MAC=00:0c:29:8a:87:c8:00:18:4d:af:ad:c2:08:00 SRC= 192.168.1.253 DST=192.168.1.254 LEN=78 TOS=0x00 PREC=0x00 TTL=64 ID=1722 PROTO=UDP SPT=2584 DPT=137 LEN=58 
Jun 19 10:37:59 fedora kernel: [IPTABLES_DROP]:IN=eth1 OUT= MAC=00:0c:29:8a:87:c8:00:18:4d:af:ad:c2:08:00 SRC= 192.168.1.253 DST=192.168.1.254 LEN=78 TOS=0x00 PREC=0x00 TTL=64 ID=1723 PROTO=UDP SPT=2585 DPT=137 LEN=58 
Jun 19 10:38:25 fedora kernel: [IPTABLES_DROP]:IN=eth2 OUT= MAC=00:0c:29:8a:87:d2:00:0c:c3:31:db:a9:08:00 SRC= 192.168.2.253 DST=192.168.2.254 LEN=193 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=2057 DPT=1036 LEN=173 
Jun 19 10:38:29 fedora kernel: [IPTABLES_DROP]:IN=eth2 OUT= MAC=00:0c:29:8a:87:d2:00:0c:c3:31:db:a9:08:00 SRC= 192.168.2.253 DST=192.168.2.254 LEN=224 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=2057 DPT=1036 LEN=204 
Jun 19 10:39:08 fedora kernel: [IPTABLES_DROP]:IN=eth2 OUT= MAC=00:0c:29:8a:87:d2:00:0c:c3:31:db:a9:08:00 SRC= 192.168.2.253 DST=192.168.2.254 LEN=193 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=2057 DPT=1036 LEN=173 
Jun 19 10:39:16 fedora kernel: [IPTABLES_DROP]:IN=eth1 OUT= MAC=00:0c:29:8a:87:c8:00:18:4d:af:ad:c2:08:00 SRC= 192.168.1.253 DST=192.168.1.254 LEN=78 TOS=0x00 PREC=0x00 TTL=64 ID=1724 PROTO=UDP SPT=2586 DPT=137 LEN=58 
Jun 19 10:39:18 fedora kernel: [IPTABLES_DROP]:IN=eth1 OUT= MAC=00:0c:29:8a:87:c8:00:18:4d:af:ad:c2:08:00 SRC= 192.168.1.253 DST=192.168.1.254 LEN=78 TOS=0x00 PREC=0x00 TTL=64 ID=1725 PROTO=UDP SPT=2586 DPT=137 LEN=58 
Jun 19 10:39:19 fedora kernel: [IPTABLES_DROP]:IN=eth1 OUT= MAC=00:0c:29:8a:87:c8:00:18:4d:af:ad:c2:08:00 SRC= 192.168.1.253 DST=192.168.1.254 LEN=78 TOS=0x00 PREC=0x00 TTL=64 ID=1726 PROTO=UDP SPT=2587 DPT=137 LEN=58 
Jun 19 10:39:21 fedora kernel: [IPTABLES_DROP]:IN=eth1 OUT= MAC=00:0c:29:8a:87:c8:00:18:4d:af:ad:c2:08:00 SRC= 192.168.1.253 DST=192.168.1.254 LEN=78 TOS=0x00 PREC=0x00 TTL=64 ID=1727 PROTO=UDP SPT=2588 DPT=137 LEN=58 
Jun 19 10:39:55 fedora kernel: [IPTABLES_DROP]:IN=eth2 OUT= MAC=00:0c:29:8a:87:d2:00:0c:c3:31:db:a9:08:00 SRC= 192.168.2.253 DST=192.168.2.254 LEN=193 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=2057 DPT=1036 LEN=173 
Jun 19 10:40:00 fedora kernel: [IPTABLES_NETBIOS_DROP]:IN=eth2 OUT= MAC=ff:ff:ff:ff:ff:ff:00:16:ec:f3:eb:88:08:00 SRC= 192.168.0.40 DST=192.168.0.255 LEN=229 TOS=0x00 PREC=0x00 TTL=128 ID=7228 PROTO=UDP SPT=138 DPT=138 LEN=209 
Jun 19 10:40:00 fedora kernel: [IPTABLES_NETBIOS_DROP]:IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:00:16:ec:f3:eb:88:08:00 SRC= 192.168.0.40 DST=192.168.0.255 LEN=229 TOS=0x00 PREC=0x00 TTL=128 ID=7228 PROTO=UDP SPT=138 DPT=138 LEN=209 
Jun 19 10:40:00 fedora kernel: [IPTABLES_NETBIOS_DROP]:IN=eth1 OUT= MAC=ff:ff:ff:ff:ff:ff:00:16:ec:f3:eb:88:08:00 SRC= 192.168.0.40 DST=192.168.0.255 LEN=229 TOS=0x00 PREC=0x00 TTL=128 ID=7228 PROTO=UDP SPT=138 DPT=138 LEN=209 
Jun 19 10:40:31 fedora kernel: [IPTABLES_NETBIOS_DROP]:IN=eth2 OUT= MAC=ff:ff:ff:ff:ff:ff:00:50:fc:70:3f:56:08:00 SRC= 192.168.0.50 DST=192.168.0.255 LEN=229 TOS=0x00 PREC=0x00 TTL=128 ID=57858 PROTO=UDP SPT=138 DPT=138 LEN=209 
Jun 19 10:40:31 fedora kernel: [IPTABLES_NETBIOS_DROP]:IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:00:50:fc:70:3f:56:08:00 SRC= 192.168.0.50 DST=192.168.0.255 LEN=229 TOS=0x00 PREC=0x00 TTL=128 ID=57858 PROTO=UDP SPT=138 DPT=138 LEN=209 
Jun 19 10:40:31 fedora kernel: [IPTABLES_NETBIOS_DROP]:IN=eth1 OUT= MAC=ff:ff:ff:ff:ff:ff:00:50:fc:70:3f:56:08:00 SRC= 192.168.0.50 DST=192.168.0.255 LEN=229 TOS=0x00 PREC=0x00 TTL=128 ID=57858 PROTO=UDP SPT=138 DPT=138 LEN=209 
Jun 19 10:40:38 fedora kernel: [IPTABLES_DROP]:IN=eth2 OUT= MAC=00:0c:29:8a:87:d2:00:0c:c3:31:db:a9:08:00 SRC= 192.168.2.253 DST=192.168.2.254 LEN=193 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=2057 DPT=1036 LEN=173 
Jun 19 10:40:38 fedora kernel: [IPTABLES_DROP]:IN=eth1 OUT= MAC=00:0c:29:8a:87:c8:00:18:4d:af:ad:c2:08:00 SRC= 192.168.1.253 DST=192.168.1.254 LEN=78 TOS=0x00 PREC=0x00 TTL=64 ID=1728 PROTO=UDP SPT=2589 DPT=137 LEN=58 
Jun 19 10:40:40 fedora kernel: [IPTABLES_DROP]:IN=eth1 OUT= MAC=00:0c:29:8a:87:c8:00:18:4d:af:ad:c2:08:00 SRC= 192.168.1.253 DST=192.168.1.254 LEN=78 TOS=0x00 PREC=0x00 TTL=64 ID=1729 PROTO=UDP SPT=2590 DPT=137 LEN=58 
Jun 19 10:40:42 fedora kernel: [IPTABLES_DROP]:IN=eth1 OUT= MAC=00:0c:29:8a:87:c8:00:18:4d:af:ad:c2:08:00 SRC= 192.168.1.253 DST=192.168.1.254 LEN=78 TOS=0x00 PREC=0x00 TTL=64 ID=1730 PROTO=UDP SPT=2591 DPT=137 LEN=58 
Jun 19 10:40:44 fedora kernel: [IPTABLES_DROP]:IN=eth1 OUT= MAC=00:0c:29:8a:87:c8:00:18:4d:af:ad:c2:08:00 SRC= 192.168.1.253 DST=192.168.1.254 LEN=78 TOS=0x00 PREC=0x00 TTL=64 ID=1731 PROTO=UDP SPT=2591 DPT=137 LEN=58 
Jun 19 10:41:03 fedora kernel: [IPTABLES_NETBIOS_DROP]:IN=eth2 OUT= MAC=ff:ff:ff:ff:ff:ff:00:50:fc:70:3f:56:08:00 SRC= 192.168.0.50 DST=192.168.0.255 LEN=243 TOS=0x00 PREC=0x00 TTL=128 ID=57866 PROTO=UDP SPT=138 DPT=138 LEN=223 
Jun 19 10:41:03 fedora kernel: [IPTABLES_NETBIOS_DROP]:IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:00:50:fc:70:3f:56:08:00 SRC= 192.168.0.50 DST=192.168.0.255 LEN=243 TOS=0x00 PREC=0x00 TTL=128 ID=57866 PROTO=UDP SPT=138 DPT=138 LEN=223 
Jun 19 10:41:03 fedora kernel: [IPTABLES_NETBIOS_DROP]:IN=eth1 OUT= MAC=ff:ff:ff:ff:ff:ff:00:50:fc:70:3f:56:08:00 SRC= 192.168.0.50 DST=192.168.0.255 LEN=243 TOS=0x00 PREC=0x00 TTL=128 ID=57866 PROTO=UDP SPT=138 DPT=138 LEN=223
Pourrais-tu me décrire un peu plus en détail ton architecture physique ?
Parce que je comprends pas trop pourquoi des paquets ayant pour IP source 192.168.0.xxx sont rejetés sur les trois interfaces en même temps, par exemple.
Passerelle 3 Cartes réseaux
eth0:
IP 192.168.0.254
Mask 255.255.255.0
Passerelle NULL

eth1:
IP 192.168.1.254
Mask 255.255.255.0
Passerelle 192.168.1.253

eth2:
IP 192.168.2.254
Mask 255.255.255.0
Passerelle 192.168.2.253

DNS 1 : 192.168.1.253
DNS 2 : 192.168.2.253

Routeur 1: 192.168.1.253
Routeur 2: 192.168.1.253

FAI_1(routeur_1) ----------eth1\
Passerelle-eth0----------Client
FAI_2(routeur_2)-----------eth2/


Client :
IP 192.168.0.50
Mask 255.255.255.0
Passerelle 192.168.0.254
DNS 192.168.0.254
je viens juste d'installer un fedora toute fraiche et j'ai toujours le même probleme snif, snif, j'pète les plombs, j'pète les plombs
:-x
Les routeurs et le client sont bien connectés à la passerelle directement et pas via un hub ?!?
Je ne vois pas trop où ça poserait un problème, mais ça me paraît quand même extrêmement bizarre cette histoire de paquets rejetés sur les 3 interfaces à la fois...

On va descendre encore un peu plus bas.
Sur 3 terminaux différents tu vas lancer les 3 commandes suivantes :
tcpdump -i eth0 -n -nn -q | grep ICMP
tcpdump -i eth1 -n -nn -q | grep ICMP
tcpdump -i eth2 -n -nn -q | grep ICMP
Puis tu relances un ping vers chacun des routeurs depuis le client.
Cleint:
ping 192.168.1.253
Delai d'attente de la demande dépassé
...

ping 192.168.2.253
Delai d'attente de la demande dépassé
...

Passerelle:

après 3 minutes d'attente
tcpdump -i eth0 -n -nn -q | grep ICMP
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0 link-type EN10MP (Ethernet), capture size 96 bytes
12:36:34.996632 IP 192.168.0.50 > 192.168.0.254: ICMP 192.168.0.50 udp port 1440 unreacharable, lench 80
12:36:34.997081 IP 192.168.2.254 > 192.168.2.253: ICMP 192.168.2.254 udp port 1440 unreacharable, lench 80
tcpdump -i eth1 -n -nn -q | grep ICMP
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1 link-type EN10MP (Ethernet), capture size 96 bytes
12:36:34.996599 IP 192.168.0.50 > 192.168.0.254: ICMP 192.168.0.50 udp port 1440 unreacharable, lench 80
12:36:34.997181 IP 192.168.2.254 > 192.168.2.253: ICMP 192.168.2.254 udp port 1440 unreacharable, lench 80
tcpdump -i eth2 -n -nn -q | grep ICMP
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth2 link-type EN10MP (Ethernet), capture size 96 bytes
12:36:34.996562 IP 192.168.0.50 > 192.168.0.254: ICMP 192.168.0.50 udp port 1440 unreacharable, lench 80
12:36:34.996683 IP 192.168.2.254 > 192.168.2.253: ICMP 192.168.2.254 udp port 1440 unreacharable, lench 80
le client est connecté sur un switch le routeur aussi
j'ai fait un reset sur mes deux routeurs et reconfiguré, j'ai testé le net ok
j'ai testé le script sur une autre distribution centos5 idem.
J'ai fai un test avec config-gateway --router-1 toujours rien idem avec --router-2 et --load-balance !?!
remarque quand le script est lancé je n'ai plus acces au net sur la passerelle
PRIVATE_NETWORK_ODD_IPS=192.168.0.1/255.255.255.1 # Odd IPs to be routed via Internet access #1
PRIVATE_NETWORK_EVEN_IPS=192.168.0.2/255.255.255.1 # Even IPs to be routed via Internet access #2
Quesaco ? PRIVATE_NETWORK_ODD_IPS et PRIVATE_NETWORK_EVEN_IPS
c'est normal que le client trouve pas le routeur t'es pas sur le bonne plage
ton client est sur 192.168.0.50 ton routeur sur 192.168.1.253 et 192.168.2.253
c'est bon j'ai ma fedora en virtuel.
J'ai le même problme que toi paguira
en revanche si je fais un ping sur public_interface soit ping 192.168.1.254 j'ai un reponse idem pour le 192.168.2.254.
c'est pas normal et pourtant ca passe.
quand je fait un ping sur google de mon poste client j'ai bien l'adresse ip de google mais j'ai délai dépassé
@bilbong : Sympa tes liens, merci 😉
Les variables PRIVATE_NETWORK_ODD_IPS et PRIVATE_NETWORK_EVEN_IPS de mon script permettent de partager les clients qui sont sur le réseau interne en deux selon qu'ils ont une IP qui se finit par un chiffre pair ou impair.
Ainsi, ceux qui ont une IP impaire utilisent l'accès 1 et ceux qui ont une IP paire l'accès 2. Si un accès tombe, tout le monde utilise l'accès restant.
C'est un partage statique qui peut être remplacé par un autre. Par exemple : tout le traffic FTP sur un lien et le reste sur l'autre.

Concernant ta dernière remarque, il est tout à fait normal que son client ne soit pas sur le même sous-réseau que les routeurs, puisque c'est la machine Linux qui fait office de passerelle afin de router les paquets sur l'un ou l'autre des routeurs.

@paguira : Es-tu sûr que ton switch est bien un switch et pas un hub ?
De quel type de switch s'agit-il ?
Pourquoi ne pas connecter les routeurs directement sur la passerelle ?

Ce qui me surprend, c'est qu'aucun paquet n'arrive sur ton interface eth0 quand tu fais un ping et aucun n'est rejeté non plus...
Je soupçonne que ton poste client envoie sa requête directement au routeur sans passer par la passerelle.
Le routeur ne pouvant pas atteindre le sous-réseau 192.168.0.0/24, ses réponses sont perdues dans la nature.
Ca expliquerait pourquoi quand tu fais un tracert, tu ne reçois pas de réponse de la passerelle en premier lieu, alors que ça devrait être le cas.
Essaies donc de connecter tes routeurs directement sur les cartes réseaux eth1 et eth2 de ta passerelle et je pense qu'on devrait avancer.
Si ça ne marche toujours pas, tu devrais au moins voir passer du traffic sur eth0 quand tu fais un tcpdump.
bilbong wrote:c'est bon j'ai ma fedora en virtuel.
J'ai le même problme que toi paguira
en revanche si je fais un ping sur public_interface soit ping 192.168.1.254 j'ai un reponse idem pour le 192.168.2.254.
c'est pas normal et pourtant ca passe.
quand je fait un ping sur google de mon poste client j'ai bien l'adresse ip de google mais j'ai délai dépassé
Peux-tu nous décrire ton architecture ?
Merci bilbong,

Tu m'a mis la puce à l'oreille, je suis aussi en virtuel avec vmware apres 2 install de FC7 et une centos5 j'ai toujours le même probleme.
Je suis passé en hard et la nickel ca marche.
te casse pas la tête et pass en hard.
merci a toi aussi gyokuran, je t'ais fait perdre du temps désolé, néanmoins tu m'as donner pas mal d'astuces 😉

la route est encore long pour moi il faut que je modifie internet-link-monitor, en effet il ne prend en compte que la reponse des routeurs et non de la réel disponibilité du net.
je modifie le script et je post apres
Je suis rassuré... et je comprends mieux tes logs maintenant 😉
Si tu modifies le script internet-link-monitor, ça m'intéresse.
Si tu fais d'autres modifs, tiens-moi au courant aussi.
Voila le script modifié, je n'ai pas encore testé, j'ai trop de boulot aujourd'hui

#!/bin/sh

# The time to wait between two ping sessions
SLEEP_TIME="2"

# The addresses to ping to make sure the links are available
ADDRESS_ROUTER_1="192.168.1.253"
ADDRESS_ROUTER_2="192.168.2.253"
ADDRESS_GOOGLE="google.fr"

# The script to launch if one link fails or comes back to life
SCRIPT_FILE=/path/to/config-gateway

# Options to provide to the config-gateway script
BOTH_ROUTERS_OPTION=--load-balance
ROUTER_1_OPTION=--router-1
ROUTER_2_OPTION=--router-2
NO_ROUTER_OPTION=--off

# Status of the Internet links
STATUS_LINK_1=unknown
STATUS_LINK_2=unknown
STATUS_LINK_GOOGLE=unknown

while true; do
# New status right after ping
NEW_STATUS_LINK_1=up
NEW_STATUS_LINK_2=up
NEW_STATUS_LINK_GOOGLE=up

ping -c 5 $ADDRESS_ROUTER_1 > /dev/null
if [ $? != 0 ]; then
NEW_STATUS_LINK_1=down
fi

ping -c 5 $ADDRESS_ROUTER_2 > /dev/null
if [ $? != 0 ]; then
NEW_STATUS_LINK_2=down
fi

ping -c 5 $ADDRESS_GOOGLE > /dev/null
if [ $? != 0 ]; then
NEW_STATUS_LINK_GOOGLE=down
fi

if [ $ADDRESS_GOOGLE != $STATUS_LINK_GOOGLE ]; then
if [ $NEW_STATUS_LINK_1 != $STATUS_LINK_1 ] || [ $NEW_STATUS_LINK_2 != $STATUS_LINK_2 ]; then
# At least one status has changed
if [ $NEW_STATUS_LINK_1 = $NEW_STATUS_LINK_2 ]; then
if [ $NEW_STATUS_LINK_1 = up ]; then
# Both routers are up
$SCRIPT_FILE $BOTH_ROUTERS_OPTION
else
# Both routers are down
$SCRIPT_FILE $NO_ROUTER_OPTION
fi

elif [ $NEW_STATUS_LINK_1 = up ]; then
# Router #1 is up and router #2 is down
$SCRIPT_FILE $ROUTER_1_OPTION

elif [ $NEW_STATUS_LINK_2 = up ]; then
# Router #1 is down and router #2 is up
$SCRIPT_FILE $ROUTER_2_OPTION
fi

STATUS_LINK_1=$NEW_STATUS_LINK_1
STATUS_LINK_2=$NEW_STATUS_LINK_2
STATUS_LINK_GOOGLE=$NEW_STATUS_LINK_GOOGLE
fi
fi
sleep $SLEEP_TIME
done