#!/bin/sh

# REMISE à ZERO des règles de filtrage
iptables -F
iptables -t nat -F

# Mise en place des régles par défaut
iptables -P INPUT DROP
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

# On enlève le firewall sur le loopback et le reseau local
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth0 -j ACCEPT

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 

## Pour forwader les paquets d'une interface à uine autre si vous avez 2 interfaces sur le serveur
## eth0 est l'interface connectée au web
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 

# Ouverture de ports
# Exemple pour un port TCP (ici 80)
# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# Exemple pour un port UDP (ici 110)
# iptables -A INPUT -p udp --dport 110 -j ACCEPT
# Exemple d'un ensemble de ports (de 2072 a 2080 inclus)
# iptables -A INPUT -p tcp --dport 2072:2080 -j ACCEPT

# J'accepte le protocole ICMP (i.e. le "ping")
iptables -A INPUT -p icmp -j ACCEPT

# J'accepte le protocole IGMP (pour le multicast)
iptables -A INPUT -p igmp -j ACCEPT

# J'accepte les packets entrants relatifs à des connexions déjà établies
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# Décommentez les deux lignes suivantes pour que le serveur FTP éventuel
# soit joignable de l'extérieur
#iptables -A INPUT -p tcp --dport 20 -j ACCEPT
#iptables -A INPUT -p tcp --dport 21 -j ACCEPT

# Décommentez la ligne suivante pour que le serveur SSH éventuel
# soit joignable de l'extérieur
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# A placer en FIN DU FICHIER
iptables -A INPUT -j DROP