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