cela ne fonctionne plus avec iptable sinon voici ce qui
devrais fonctionner
-------------------------------------------------------------------------------------------------------
#!/bin/sh
#
# Configuration iptables de double partage de connexion c�le tvcablenet.be (12 
Mbits) et adsl Scarlet.be (4 Mbits)
# et firewall par on4hu 05/01/2007

# D�laration des variables

# Interfaces externes

# Pour l'acc� [EMAIL PROTECTED] ETHERNET-0
TVCABLE_IP="192.168.0.2"
TVCABLE_IFACE="eth0"

# Pour l'accc� SCARLET ETHERNET-1
SCARLET_IP="192.168.2.2"
SCARLET_IFACE="eth1"

# Adresses du LAN
LAN_IP=`ifconfig | grep inet | grep 192 |grep B | cut -d : -f 2 | cut -d B -f 
1`
LAN_IP_RANGE="192.168.1.0/24"
LAN_BCAST_ADDRESS="192.168.1.255"
LAN_IFACE="eth0"

# Localhost
LO_IFACE="lo"
LO_IP="127.0.0.1"

# D�inition du chemin d'iptables
IPTABLES="/sbin/iptables"

# Modules �utiliser
/sbin/depmod -a

# Modules n�essaires
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_state
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_irc
/sbin/modprobe ip_nat_irc

# Modules non n�essaires
# /sbin/modprobe ipt_owner
# /sbin/modprobe ipt_REJECT
# /sbin/modprobe ipt_MASQUERADE

# Activation du routage
echo 1 > /proc/sys/net/ipv4/ip_forward

# Activation de l'anti spoofing
echo 2 > /proc/sys/net/ipv4/conf/all/rp_filter 

# Interdiction des pings en broadcast
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

# Interdit le source routing
#echo 0 > /proc/sys/net/ipv4/accept_source_route

# Interdire les timestamps
echo 0 > /proc/sys/net/ipv4/tcp_timestamps

# Autoriser les SYN Cookies
echo 1 > /proc/sys/net/ipv4/tcp_syncookies

# Interdire les redirects
echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects

# Logger les martians source (adresses impossibles)
echo 1 > /proc/sys/net/ipv4/conf/all/log_martians

# Activation du proxy ARP
#echo "1" > /proc/sys/net/ipv4/conf/all/proxy_arp

# Activation de l'utilisation d'IPs dynamiques
#echo "1" > /proc/sys/net/ipv4/ip_dynaddr

# R�uire les timeouts pour �iter les DOS
echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
echo 1800 > /proc/sys/net/ipv4/tcp_keepalive_time
echo 1 > /proc/sys/net/ipv4/tcp_window_scaling
echo 0 > /proc/sys/net/ipv4/tcp_sack
echo 1280 > /proc/sys/net/ipv4/tcp_max_syn_backlog

# Mise en place des r�les

###########################################################
#Mise en place de la table FILTER (input, forward, output)#
###########################################################

# Mise en place de la politique DROP pour toutes les tables
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -t mangle -F
$IPTABLES -P INPUT DROP 
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT DROP

# Cr�tion des tables personnalis�s
$IPTABLES -X log-and-drop
$IPTABLES -N log-and-drop
$IPTABLES -X rfc-compliant
$IPTABLES -N rfc-compliant
$IPTABLES -X icmp-ok
$IPTABLES -N icmp-ok
$IPTABLES -X lan-vers-lan
$IPTABLES -N lan-vers-lan
$IPTABLES -X net-vers-net
$IPTABLES -N net-vers-net
$IPTABLES -X lan-vers-net
$IPTABLES -N lan-vers-net
$IPTABLES -X net-vers-lan
$IPTABLES -N net-vers-lan
$IPTABLES -X vient-du-lan
$IPTABLES -N vient-du-lan
$IPTABLES -X vient-du-net
$IPTABLES -N vient-du-net

# On autorise le dialogue de ou avec l'interface loopback
$IPTABLES -A INPUT -i $LO_IFACE -d $LO_IP -j ACCEPT
$IPTABLES -A OUTPUT -o $LO_IFACE -s $LO_IP -j ACCEPT

# Chaine log-and-drop
# On log et on drop !
# Cette chaine sera appel� par d�aut d� qu'un paquet ne match pas les autres 
r�les
$IPTABLES -A log-and-drop -j 
LOG --log-tcp-options --log-ip-options --log-prefix '[IPTABLES DROP] : '
$IPTABLES -A log-and-drop -j DROP 

# Chaine RFC-1918
# On refuse tout ce qui a une adresse RFC 1918

$IPTABLES -A rfc-compliant -s 10.0.0.0/8 -j log-and-drop
$IPTABLES -A rfc-compliant -s 127.0.0.0/8 -j log-and-drop
$IPTABLES -A rfc-compliant -s 172.16.0.0/12 -j log-and-drop
$IPTABLES -A rfc-compliant -s 192.168.1.0/16 -j log-and-drop

# Chaine icmp-ok
# Que les icmp dont on a besoin (RFC compliant)
$IPTABLES -A icmp-ok -m state --state RELATED -p icmp -j ACCEPT
$IPTABLES -A icmp-ok -p icmp --icmp-type destination-unreachable -j ACCEPT
$IPTABLES -A icmp-ok -p icmp --icmp-type source-quench -j ACCEPT
$IPTABLES -A icmp-ok -p icmp --icmp-type time-exceeded -j ACCEPT
$IPTABLES -A icmp-ok -p icmp --icmp-type echo-request -j ACCEPT
$IPTABLES -A icmp-ok -p icmp --icmp-type echo-reply -j ACCEPT
$IPTABLES -A icmp-ok -j log-and-drop

# Chaine vient-du-lan
# On accepte les icmp-ok et tout le reste
$IPTABLES -A vient-du-lan -p icmp -j icmp-ok
$IPTABLES -A vient-du-lan -j ACCEPT

# Chaine vient-du-net
# On n'accepte que les icmp-ok, le SSH, et le HTTP/S
$IPTABLES -A vient-du-net -m state --state ESTABLISHED,RELATED -p tcp -j 
ACCEPT
$IPTABLES -A vient-du-net -m state --state ESTABLISHED,RELATED -p udp -j 
ACCEPT
$IPTABLES -A vient-du-net -m state --state NEW -p tcp --dport ssh --syn -j 
ACCEPT
$IPTABLES -A vient-du-net -m state --state NEW -p tcp --dport 80 --syn -j 
ACCEPT
$IPTABLES -A vient-du-net -m state --state NEW -p tcp --dport 443 --syn -j 
ACCEPT
$IPTABLES -A vient-du-net -p icmp -j icmp-ok
$IPTABLES -A vient-du-net -j log-and-drop

# Chaine lan-vers-lan
# On autorise les rebonds en interne
$IPTABLES -A lan-vers-lan -j LOG --log-prefix "ipt Rebond lan " 
$IPTABLES -A lan-vers-lan -j ACCEPT

# Chaine net-vers-net
# On n'autorise pas les rebonds depuis le net
$IPTABLES -A net-vers-net -j LOG --log-prefix "ipt Rebond net " 
$IPTABLES -A net-vers-net -j DROP

# Chaine lan-vers-net
# On autorise tout en sortie
$IPTABLES -A lan-vers-net -j ACCEPT

# Chaine net-vers-lan
# On autorise les flux serveur de l'interne (Warcraft3, P2P etc.)
$IPTABLES -A net-vers-lan -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A net-vers-lan -m state --state NEW -p tcp --dport 6112 -j ACCEPT
$IPTABLES -A net-vers-lan -m state --state NEW -p tcp --dport 4662 -j ACCEPT
$IPTABLES -A net-vers-lan -m state --state NEW -p tcp --dport 4672 -j ACCEPT
$IPTABLES -A net-vers-lan -j log-and-drop

# R�les de la table INPUT
# On appelle les chaines pr��emment cr�es selon la provenance

$IPTABLES -A INPUT -m state --state INVALID -j log-and-drop
$IPTABLES -A INPUT -i $TVCABLE_IFACE -j vient-du-net
$IPTABLES -A INPUT -i $SCARLET_IFACE -j vient-du-net
$IPTABLES -A INPUT -i $LAN_IFACE -j vient-du-lan

# R�les de la chaine OUTPUT

$IPTABLES -A OUTPUT -o $TVCABLE_IFACE -j vient-du-net
$IPTABLES -A OUTPUT -o $SCARLET_IFACE -j vient-du-net
$IPTABLES -A OUTPUT -o $LAN_IFACE -j vient-du-lan

# R�les de la chaine FORWARD

$IPTABLES -A FORWARD -m state --state INVALID -j log-and-drop
$IPTABLES -A FORWARD -i $SCARLET_IFACE -o $LAN_IFACE -j net-vers-lan
$IPTABLES -A FORWARD -i $TVCABLE_IFACE -o $LAN_IFACE -j net-vers-lan
$IPTABLES -A FORWARD -i $LAN_IFACE -o $SCARLET_IFACE -j lan-vers-net
$IPTABLES -A FORWARD -i $LAN_IFACE -o $TVCABLE_IFACE -j lan-vers-net
$IPTABLES -A FORWARD -i $TVCABLE_IFACE -o $TVCABLE_IFACE -j net-vers-net
$IPTABLES -A FORWARD -i $TVCABLE_IFACE -o $SCARLET_IFACE -j net-vers-net
$IPTABLES -A FORWARD -i $SCARLET_IFACE -o $TVCABLE_IFACE -j net-vers-net
$IPTABLES -A FORWARD -i $SCARLET_IFACE -o $SCARLET_IFACE -j net-vers-net
$IPTABLES -A FORWARD -i $LAN_IFACE -o $LAN_IFACE -j lan-vers-lan

###########################################################
#         Mise en place de la table MANGLE                #
###########################################################

# R�le d'ajout d'un au TTL pour plus de furtivit�du firewall (traceroute)
# SEMBLE GENERER DES ERREURS !!! A VOIR !!!
# $IPTABLES -t mangle -A PREROUTING -i $INET_IFACE -j TTL --ttl-inc 1

# Marquage des paquets rout� diff�emment selon le port destination
# La marque est prise en compte par iproute2
$IPTABLES -t mangle -A PREROUTING -i eth0 -p tcp --dport 80 -j MARK --set-mark 
80
$IPTABLES -t mangle -A PREROUTING -i eth0 -p tcp --dport 21 -j MARK --set-mark 
21
$IPTABLES -t mangle -A PREROUTING -i eth0 -p tcp --dport 443 -j 
MARK --set-mark 443
$IPTABLES -t mangle -A PREROUTING -i eth0 -p tcp --dport 6112 -j 
MARK --set-mark 6112

###########################################################
#            Mise en place de la table NAT                #
###########################################################

# SNAT des @IP internes
$IPTABLES -t nat -A POSTROUTING -o $TVCABLE_IFACE -j SNAT --to-source 
$TVCABLE_IP
$IPTABLES -t nat -A POSTROUTING -o $SCARLET_IFACE -j SNAT --to-source 
$SCARLET_IP

# Mise en place de port forwarding pour les applis TCP, remplacer le --dport 
XX
# par le port de l'appli, et le --to-destination XXX.XXX.XXX.XXX par l'adresse 
de la becane 
# interne et enlever le # s'il y en a un
$IPTABLES -t nat -A PREROUTING -p tcp -d $TVCABLE_IP --dport 6112 -j 
DNAT --to-destination 192.168.1.1 
$IPTABLES -t nat -A PREROUTING -p tcp -d $SCARLET_IP --dport 6112 -j 
DNAT --to-destination 192.168.1.1 
$IPTABLES -t nat -A PREROUTING -p tcp -d $TVCABLE_IP --dport 4662 -j 
DNAT --to-destination 192.168.1.87 
$IPTABLES -t nat -A PREROUTING -p tcp -d $SCARLET_IP --dport 4662 -j 
DNAT --to-destination 192.168.1.87 

# Mise en place de port forwarding pour les applis UDP
$IPTABLES -t nat -A PREROUTING -p udp -d $TVCABLE_IP --dport 4672 -j 
DNAT --to-destination 192.168.1.87 
$IPTABLES -t nat -A PREROUTING -p udp -d $SCARLET_IP --dport 4672 -j 
DNAT --to-destination 192.168.1.87 

# That's all folks...












Le mercredi 10 janvier 2007 16:39, Bernard Siaud a écrit :
> on4hu a écrit :
> > j'ai installé un double Wan avec ma Mandriva 2007 simplement
> > en modifiant quelques fichiers notament dans /etc/shorewall/providers
> > les interfaces proviennent de 2 routeurs Linksys ayant chacun un accès
> > internet
> >
> >
> > #NAME   NUMBER  MARK    DUPLICATE       INTERFACE       GATEWAY        
> > OPTIONS         COPY ISP1    1       1       main    eth0    192.168.1.1 
> >    track,balance           none ISP2    2       2       main    eth2   
> > 192.168.2.1     track,balance           none #LAST LINE -- ADD YOUR
> > ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
> >
> > cela fonctionne mais au redémarrage j'ai un problème de 'balance' c.a.d
> > que l'un des deux FAI (ISP)  est très désavantager mais je ne sais pas
> > suivant quel critère car un démarrage c'est ISP1 a un autre ISP2
> >
> > une idée serais la bienvenue - merci
> >
> > André ON4HU
>
> En langage moins informatique, c'est pour avoir 2 accès internet sur un
> PC, donc pallier à la rupture d'un de ces deux accès. C'est ça ?
> Ça donne quoi en Iptables ?

-- 
WEB server: http://on4hu.dyndns.org/
FTP server: ftp://on4hu.dyndns.org/
COMPUTERS ARE LIKE AIR-CONDITIONERS THEY STOP WORKING
PROPERLY AS SOON AS YOU OPEN WINDOWS
=========================================
Vous souhaitez acquerir votre pack ou des services Mandriva?
Rendez-vous sur "http://store.mandriva.com";.
Rejoignez le club Mandriva : http://club.mandriva.com
=========================================

Répondre à