Fedora-Fr - Communauté francophone Fedora - Linux

Communauté francophone des utilisateurs de la distribution Linux Fedora.

  

Dernière news : Fedora 34 Beta est disponible

#1 15/06/2007 16:58:53

paguira
Membre
Lieu : Ducos, Martinique
Inscription : 06/11/2006
Messages : 84

2 WAN ou plus avec IPTABLE

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 ? big_smile

Hors ligne

#2 15/06/2007 17:16:47

scvo0ne
lambda user
Lieu : PdC
Inscription : 25/03/2005
Messages : 208
Site Web

Re : 2 WAN ou plus avec IPTABLE

Pour le lien multiple aucune idée, par contre pour la qos j'utilise le script wondershaper ( http://lartc.org/wondershaper/ ). A moins que quelqu'un ait mieux...

Hors ligne

#3 15/06/2007 17:25:42

gyokuran
Membre
Inscription : 02/11/2006
Messages : 44

Re : 2 WAN ou plus avec IPTABLE

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.

Hors ligne

#4 15/06/2007 18:23:28

gyokuran
Membre
Inscription : 02/11/2006
Messages : 44

Re : 2 WAN ou plus avec IPTABLE

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. wink

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.

Hors ligne

#5 15/06/2007 18:33:00

paguira
Membre
Lieu : Ducos, Martinique
Inscription : 06/11/2006
Messages : 84

Re : 2 WAN ou plus avec IPTABLE

Un grand merci,

J'étudie ces scripts, je test  et je vous tiens au courant. big_smile

Hors ligne

#6 15/06/2007 19:20:19

Anvil
Vieille Enclume
Inscription : 08/08/2005
Messages : 2 884

Re : 2 WAN ou plus avec IPTABLE

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.

Hors ligne

#7 15/06/2007 22:21:58

paguira
Membre
Lieu : Ducos, Martinique
Inscription : 06/11/2006
Messages : 84

Re : 2 WAN ou plus avec IPTABLE

Ca ne fonctionne pas sad
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 !?! hmm

Dernière modification par paguira (15/06/2007 22:24:16)

Hors ligne

#8 15/06/2007 23:22:38

paguira
Membre
Lieu : Ducos, Martinique
Inscription : 06/11/2006
Messages : 84

Re : 2 WAN ou plus avec IPTABLE

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

Hors ligne

#9 16/06/2007 00:29:18

paguira
Membre
Lieu : Ducos, Martinique
Inscription : 06/11/2006
Messages : 84

Re : 2 WAN ou plus avec IPTABLE

Remarque le ping fonctionne quand le script est sur off  et aussi quand j'ai Gateway disabled

Hors ligne

#10 16/06/2007 01:21:20

paguira
Membre
Lieu : Ducos, Martinique
Inscription : 06/11/2006
Messages : 84

Re : 2 WAN ou plus avec IPTABLE

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 ?!

Hors ligne

#11 16/06/2007 14:58:08

paguira
Membre
Lieu : Ducos, Martinique
Inscription : 06/11/2006
Messages : 84

Re : 2 WAN ou plus avec IPTABLE

Après quelques recherche j'ai déniché d'autres script, que j'étudie.

P.S: un petit coup de main sera le bien venu

Hors ligne

#12 18/06/2007 12:39:47

gyokuran
Membre
Inscription : 02/11/2006
Messages : 44

Re : 2 WAN ou plus avec IPTABLE

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. big_smile
Désolé de t'avoir créé un problème.

Hors ligne

#13 18/06/2007 16:15:38

paguira
Membre
Lieu : Ducos, Martinique
Inscription : 06/11/2006
Messages : 84

Re : 2 WAN ou plus avec IPTABLE

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!

Hors ligne

#14 18/06/2007 16:26:30

gyokuran
Membre
Inscription : 02/11/2006
Messages : 44

Re : 2 WAN ou plus avec IPTABLE

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

Hors ligne

#15 18/06/2007 21:03:20

paguira
Membre
Lieu : Ducos, Martinique
Inscription : 06/11/2006
Messages : 84

Re : 2 WAN ou plus avec IPTABLE

Merci,
mais ca marche toujours pas, je fais déjà un partage simple d'une connexion apres je passe à deux connexions.

Hors ligne

#16 19/06/2007 11:38:48

gyokuran
Membre
Inscription : 02/11/2006
Messages : 44

Re : 2 WAN ou plus avec IPTABLE

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.

Dernière modification par gyokuran (19/06/2007 11:42:42)

Hors ligne

#17 19/06/2007 13:07:40

paguira
Membre
Lieu : Ducos, Martinique
Inscription : 06/11/2006
Messages : 84

Re : 2 WAN ou plus avec IPTABLE

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

Hors ligne

#18 19/06/2007 14:34:18

gyokuran
Membre
Inscription : 02/11/2006
Messages : 44

Re : 2 WAN ou plus avec IPTABLE

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.

Hors ligne

#19 19/06/2007 15:28:49

paguira
Membre
Lieu : Ducos, Martinique
Inscription : 06/11/2006
Messages : 84

Re : 2 WAN ou plus avec IPTABLE

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

>

Hors ligne

#20 19/06/2007 15:39:51

gyokuran
Membre
Inscription : 02/11/2006
Messages : 44

Re : 2 WAN ou plus avec IPTABLE

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

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' ?

Hors ligne

#21 19/06/2007 16:18:24

paguira
Membre
Lieu : Ducos, Martinique
Inscription : 06/11/2006
Messages : 84

Re : 2 WAN ou plus avec IPTABLE

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     *        *

Hors ligne

#22 19/06/2007 16:49:13

gyokuran
Membre
Inscription : 02/11/2006
Messages : 44

Re : 2 WAN ou plus avec IPTABLE

hmm 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...

Hors ligne

#23 19/06/2007 17:39:54

paguira
Membre
Lieu : Ducos, Martinique
Inscription : 06/11/2006
Messages : 84

Re : 2 WAN ou plus avec IPTABLE

/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

Hors ligne

#24 19/06/2007 18:03:48

gyokuran
Membre
Inscription : 02/11/2006
Messages : 44

Re : 2 WAN ou plus avec IPTABLE

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.

Hors ligne

#25 19/06/2007 18:12:59

paguira
Membre
Lieu : Ducos, Martinique
Inscription : 06/11/2006
Messages : 84

Re : 2 WAN ou plus avec IPTABLE

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

Hors ligne

Pied de page des forums