Bonjour à tous,
Comme toujours dans mon cas, au bout du bout je me tourne vers vous …
MON PERIMETRE :
Une debian stable 3.1R2 noyau 2.6.8-2-386
Trois cartes reseau.
LAN : 89.0.7.0 (oui je sais mais bon c’est comme ca !)
WAN1 : 192.168.100.0 -> routeur0 192.168.100.1
WAN2 : 192.168.101.0 -> routeur1 192.168.101.1
-> routeur2 192.168.101.2
MA PROBLEMATIQUE :
Le LAN sort sur le net via le routeur par defaut routeur0 : 192.168.100.1.
Si la liaison routeur0 tombe je veux basculer mon trafic sur routeur1 et routeur2 en separant les flux …
Jusque là tout va bien. J’ai donc :
INTERFACES :
auto eth0
iface eth0 inet static
address 89.0.7.7
netmask 255.255.255.0
network 89.0.7.0
broadcast 89.0.7.255
auto eth1
iface eth1 inet static
address 192.168.100.254
netmask 255.255.255.0
broadcast 192.168.100.255
gateway 192.168.100.1
auto eth2
iface eth2 inet static
address 192.168.101.254
netmask 255.255.255.0
broadcast 192.168.101.255
auto eth2:1
iface eth2:1 inet static
address 192.168.101.101
netmask 255.255.255.0
broadcast 192.168.101.255
IPRULES :
#*************************
Debut des definitions.
#-------------------------
#clear
ip route flush cache
ip rule del fwmark 1
ip rule del fwmark 2
ip rule del fwmark 3
ip route del table 1
ip route del table 2
ip route del table 3
Regle de transmission aux bonnes tables de routages
Regle bouygues
ip rule add fwmark 1 table 1
Regle orange1
ip rule add fwmark 2 table 2
Regle orange2
ip rule add fwmark 3 table 3
Creation des tables de routages pour les differentes lignes XDSL
Vers bouygues
ip route add default via 192.168.100.1 dev eth1 table 1
Autres flux
ip route add default via 192.168.101.1 dev eth2 table 2
Backup
ip route add default via 192.168.101.2 dev eth2 table 3
ip route flush cache
Puis IPTABLES :
#*************************
Debut des definitions.
#-------------------------
clear
IPTABLES=“iptables”
FILTERPOLICYDEFAULT_INPUT="ACCEPT"
FILTERPOLICYDEFAULT_OUTPUT="ACCEPT"
FILTERPOLICYDEFAULT_FORWARD="ACCEPT"
NATPOLICYDEFAULT_PREROUTING="ACCEPT"
NATPOLICYDEFAULT_POSTROUTING="ACCEPT"
PORTS_UN=“1024:65535”
Passerelles
On flush la table de FORWARD, INPUT et OUTPUT
$IPTABLES -F
$IPTABLES -X
$IPTABLES -F FORWARD
$IPTABLES -F INPUT
$IPTABLES -F OUTPUT
On flush la table de nat
$IPTABLES -t nat -F
$IPTABLES -t nat -X
$IPTABLES -t mangle -F
$IPTABLES -t mangle -X
#on flush log_and_drop
$IPTABLES -X log_and_drop
$IPTABLES -N log_and_drop
echo "#--------------------------------"
echo “# Regles par defaut”
echo “Regle FILTER INPUT : $FILTERPOLICYDEFAULT_INPUT”
$IPTABLES -t filter -P INPUT $FILTERPOLICYDEFAULT_INPUT
echo “Regle FILTER OUTPUT : $FILTERPOLICYDEFAULT_OUTPUT”
$IPTABLES -t filter -P OUTPUT $FILTERPOLICYDEFAULT_OUTPUT
echo “Regle FILTER FORWARD : $FILTERPOLICYDEFAULT_FORWARD”
$IPTABLES -t filter -P FORWARD $FILTERPOLICYDEFAULT_FORWARD
echo "#--------------------------------"
echo "# Translation d adresse"
echo “Regle PREROUTING : $NATPOLICYDEFAULT_PREROUTING”
$IPTABLES -t nat -P PREROUTING $NATPOLICYDEFAULT_PREROUTING
echo “Regle POSTROUTING : $NATPOLICYDEFAULT_POSTROUTING”
$IPTABLES -t nat -P POSTROUTING $NATPOLICYDEFAULT_POSTROUTING
#*************************
Debut des commandes.
#-------------------------
On active le routage
echo 1 > /proc/sys/net/ipv4/ip_forward
Enregistrement dans syslog des paquets rejetes pas rp_filter
#echo 1 > /proc/sys/net/ipv4/conf/all/log_martians
Un paquet revient par le meme chemin
for f in /proc/sys/net/ipv4/conf/*/rp_filter; do
echo 0 > $f
done
Definition de log_and_drop
#$IPTABLES -A log_and_drop -j LOG --log-level debug --log-prefix "filter drop "
#$IPTABLES -A log_and_drop -j ACCEPT
#*************************
Debut des regles.
#-------------------------
$IPTABLES -A PREROUTING -t mangle -s 89.0.7.0/8 -d 89.31.147.47 -p all -j MARK --set-mark 1
$IPTABLES -A PREROUTING -t mangle -s 89.0.7.0/8 -d 62.97.236.181 -p all -j MARK --set-mark 1
Bon -> si vous êtes arrivé là c’est que mon post vous passionne !!!
J’ajoute un petit ip route list table main :
89.0.7.0/24 dev eth0 proto kernel scope link src 89.0.7.7
192.168.100.0/24 dev eth1 proto kernel scope link src 192.168.100.254
192.168.101.0/24 dev eth2 proto kernel scope link src 192.168.101.254
default via 192.168.100.1 dev eth1
Ben voila mon soucis :
POURQUOI J’AI PAS MES TABLES 1 ET 2 … ??
Pourquoi mes preroutings ne fonctionnent pas ?
MAIS par moment cela fonctionne …???
Merci de vos avis.