Modérateur: modos Ixus
KOJ:
Salut,
Pour un particulier on peut avoir 1 ligne FT avec 2 numero different pour avoir 2 compte DSLAM different ? Car sinon ca taxe 2 abo FT et 2 abo DSL.
Koj
Manuellement, cela oblige a surveiller la machine en permanence donc si on peut le faire en auto c'est mieux
#!/bin/bash
ROUTE='ip route add default scope global '
IPTABLES=/sbin/iptables
## On vide la table pour le masquerading,
## Je n'utilise pas le module Masquerade car peu pratique pour les diagnostiques
$IPTABLES -t nat -F POSTROUTING
## test si l'interface de ma freebox est up (IP assignée par DHCP)
if (ifconfig eth4 |grep UP) then
## Si oui, alors j'inclus la freebox dans les routes dispo avec un poid de 3 (1,5Mbps)
## J ai décidé qu un poid de 1 valait 512kbps. Je donne les poids en fonctions des debits maxi
## que j ai reussi a avoir grace a un test de bande passante.
ROUTE=$ROUTE' nexthop via yy.yy.yy.yy dev eth4 weight 3'
## Je met en place le masquerading
$IPTABLES -t nat -I POSTROUTING -o eth4 -j SNAT --to-source xx.xx.xx.xx
fi
## ou xx.xx.xx.xx est l'Ip free et yy.yy.yy.yy est la passerelle
##Test si mon adsl wanadoo 1 est UP
if (/sbin/adsl-status /etc/ppp/pppoe-ppp1.conf) then
## Si oui, alors je l'inclus dans la route avec un poid de 10, c'est du 5Mbps
ROUTE=$ROUTE' nexthop via '`adsl-status /etc/ppp/pppoe-ppp1.conf |grep inet |awk '{print $2;}' |awk --field-separator : '{print $2;}'`
ROUTE=$ROUTE' dev '`adsl-status /etc/ppp/pppoe-ppp1.conf |grep Point|awk '{print $1;}'`' weight 10'
## Mise en place du masquerading
IPTABLESPPP1='/sbin/iptables -t nat -I POSTROUTING -o '`adsl-status /etc/ppp/pppoe-ppp1.conf |grep Point|awk '{print $1;}'`' -j SNAT --to-source '`adsl-status /etc/ppp/pppoe-ppp1.conf |grep inet |awk '{print $2;}' |awk --field-separator : '{print $2;}'`
$IPTABLESPPP1
fi
##Idem avec mon deuxieme ADSL
## A noter que mes fichiers de conf sont dans /etc/ppp mais qu'on peut les trouver aussi
## dans /etc/sysconfig/network-script
if (/sbin/adsl-status /etc/ppp/pppoe-ppp0.conf) then
ROUTE=$ROUTE' nexthop via '`adsl-status /etc/ppp/pppoe-ppp0.conf |grep inet |awk '{print $2;}' |awk --field-separator : '{print $2;}'`
IPTABLESPPP0='/sbin/iptables -t nat -I POSTROUTING -o '`adsl-status /etc/ppp/pppoe-ppp0.conf |grep Point|awk '{print $1;}'`' -j SNAT --to-source '`adsl-status /etc/ppp/pppoe-ppp0.conf |grep inet |awk '{print $2;}' |awk --field-separator : '{print $2;}'`
$IPTABLESPPP0
ROUTE=$ROUTE' dev '`adsl-status /etc/ppp/pppoe-ppp0.conf |grep Point|awk '{print $1;}'`' weight 10'
fi
## Gestion de la connexion Oleane (IP fixe xx.xx.xx.xx, routeur yy.yy.yy.yy)
if (ifconfig eth1 |grep UP) then
ROUTE=$ROUTE' nexthop via yy.yy.yy.yy dev eth1 weight 2'
$IPTABLES -t nat -I POSTROUTING -o eth1 -j SNAT --to-source xx.xx.xx.xx
fi
ip route del default
$ROUTE
ip route flush cache
echo "--------- Changement de route --------" >> /root/route.log
date >> /etc/route.log
echo $ROUTE >> /etc/route.log
#
# reserved values
#
#255 local
#254 main
#253 default
#0 unspec
#
# local
#
#1 inr.ruhep
1 T1
2 T2
3 T3
4 T4
ip rule add from xx.xx.xx.xx table T1
ip route add default via yy.yy.yy.yy dev eth1 table T1
ip rule add from xx.xx.xx.xx table T4
ip route add default via yy.yy.yy.yy dev eth4 table T4
#!/bin/bash
## On utilise les infos fournies en parametres par pppd , $1 est l'interface, $4 l'IP assignee, etc etc
INTERFACE=$1
#IP local de l'ADSL
IP=$4
IPTABLES=/sbin/iptables
# Fixe l'interface sur la meme table de routage
if [ "$1" = 'ppp0' ]; then
TABLE='T2';
fi
if [ "$INTERFACE" = 'ppp1' ]; then
TABLE='T3';
fi
## Forcer le routage de retour sur le routage aller
ip rule add from $IP table $TABLE
ip route add default via $IP dev $INTERFACE table $TABLE
#Reinitialiser les routes (script precedent)
/etc/ppp/route
ip route
donne
default
nexthop via yy.yy.yy.yy dev eth4 weight 3
nexthop via yy.yy.yy.yy dev ppp0 weight 10
nexthop via yy.yy.yy.yy dev ppp1 weight 10
nexthop via yy.yy.yy.yy dev eth1 weight 2
ou yy.yy.yy.yy sont les differents passerelles des connexions des FAI
ip rule
donne
0: from all lookup local
32684: from xx.xx.xx.xx lookup T2
32685: from xx.xx.xx.xx lookup T3
32763: from all fwmark 0x1 lookup T1
32764: from xx.xx.xx.xx lookup T4
32765: from xx.xx.xx.xx lookup T1
32766: from all lookup main
32767: from all lookup default
Ou xx.xx.xx.xx sont les IPs des connexions ADSL (a verifier avec ifconfig)
iptables -t nat -L POSTROUTING -n -v
donne
Chain POSTROUTING (policy ACCEPT 56326 packets, 3732K bytes)
pkts bytes target prot opt in out source destination
117K 6744K SNAT all -- * eth1 0.0.0.0/0 0.0.0.0/0 to:xx.xx.xx.xx
211K 11M SNAT all -- * ppp1 0.0.0.0/0 0.0.0.0/0 to:xx.xx.xx.xx
224K 11M SNAT all -- * ppp0 0.0.0.0/0 0.0.0.0/0 to:xx.xx.xx.xx
85262 6219K SNAT all -- * eth4 0.0.0.0/0 0.0.0.0/0 to:xx.xx.xx.xx
ou xx.xx.xx.xx sont les differents IPs assignées aux connexions (a comparer avec ifconfig)
$IPTABLES -t mangle -A PREROUTING -i eth0 -s 10.0.0.0/8 -p tcp --dport 25 -j MARK --set-mark 1
ip rule add fwmark 1 table T1
modprobe ip_conntrack_ftp
COMBY a écrit:Je dispose d'une solution simple, plug & play, avec 2 liens supervisés
si cela vous interesse, merci de me contacter
fcomby@soluce-telecom.com
Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité