#!/bin/sh
LOCALE_IF=eth0
PUBLIC_IF=eth1
IP_LAN=192.168.0.2
# Nous vidons les chaînes :
iptables -F
# Nous supprimons d'éventuelles chaînes personnelles :
iptables -X
# Nous les faisons pointer par défaut sur DROP
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
# Nous faisons de même avec toutes les autres tables,
# à savoir "nat" et "mangle", mais en les faisant pointer
# par défaut sur ACCEPT. Ca ne pose pas de problèmes
# puisque tout est bloqué au niveau "filter"
iptables -t nat -F
iptables -t nat -X
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P INPUT ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
iptables -t mangle -P FORWARD ACCEPT
iptables -t mangle -P POSTROUTING ACCEPT
# Nous considérons que la machine elle même est sûre
# et que les processus locaux peuvent communiquer entre eux
# via l'interface locale :
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# Nous considérons que notre réseau local est
# également sûr (ce qui n'est pas forcément vrai, d'ailleurs).
iptables -A INPUT -i $LOCALE_IF -j ACCEPT
iptables -A OUTPUT -o $LOCALE_IF -j ACCEPT
#J'ai besoin de l'aide a partir d'ici
#on autorise les requetes vers internet et leurs réponses.
iptables -t filter -A FORWARD -i $PUBLIC_IF -o $LOCALE_IF -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t filter -A FORWARD -i $PRIVATE_IF -o $PUBLIC_IF -m state --state RELATED,ESTABLISHED,NEW -j ACCEPT
#####################################
#on redirige les paquets venant de l internet vers la machine destination $IP_LAN
iptables –t nat –I PREROUTING –i $PUBLIC_IF –p tcp --dport 4661 –j DNAT --to-destination $IP_LAN:4661
iptables –t nat –I PREROUTING –i $PUBLIC_IF –p tcp --dport 4881 –j DNAT --to-destination $IP_LAN:4881
iptables –t nat –I PREROUTING –i $PUBLIC_IF –p tcp --dport 4242 –j DNAT --to-destination $IP_LAN:4242
iptables –t nat –I PREROUTING –i $PUBLIC_IF –p tcp --dport 4662 –j DNAT --to-destination $IP_LAN:4662
iptables –t nat –I PREROUTING –i $PUBLIC_IF –p udp --dport 4665 –j DNAT --to-destination $IP_LAN:4665
iptables –t nat –I PREROUTING –i $PUBLIC_IF –p udp --dport 4672 –j DNAT --to-destination $IP_LAN:4672
#on accepte les connexions entrantes (provenant de l'internet) sur les ports spécifiés
iptables -t filter -A FORWARD -i $PUBLIC_IF -o $LOCALE_IF -p tcp --dport 4661 -m state --state NEW -j ACCEPT
iptables -t filter -A FORWARD -i $PUBLIC_IF -o $LOCALE_IF -p tcp --dport 4881 -m state --state NEW -j ACCEPT
iptables -t filter -A FORWARD -i $PUBLIC_IF -o $LOCALE_IF -p tcp --dport 4242 -m state --state NEW -j ACCEPT
iptables -t filter -A FORWARD -i $PUBLIC_IF -o $LOCALE_IF -p tcp --dport 4662 -m state --state NEW -j ACCEPT
iptables -t filter -A FORWARD -i $PUBLIC_IF -o $LOCALE_IF -p udp --dport 4665 -m state --state NEW -j ACCEPT
iptables -t filter -A FORWARD -i $PUBLIC_IF -o $LOCALE_IF -p udp --dport 4672 -m state --state NEW -j ACCEPT
#iptable et Bittorrent :
iptables –t nat –I PREROUTING –i $PUBLIC_IF –p tcp --dport 6881:6999 –j DNAT --to-destination $IP_LAN
iptables – I FORWARD –i $PUBLIC_IF –p tcp --dport 6881:6999 –j DNAT --to-destination $IP_LAN
iptables -t filter -A FORWARD -i $PUBLIC_IF -o $LOCALE_IF -p udp --dport 6881:6999 -m state --state NEW -j ACCEPT
Partager