LOCAL="eth0"
INTERNET="eth1"
PRIVATE="192.168.0.0/24"
SERVEUR="192.168.0.10"
# La on logue et on refuse le paquet
iptables -N LOG_DROP
iptables -A LOG_DROP -j LOG --log-level debug --log-prefix 'RULE 1 -- DROP '
iptables -A LOG_DROP -j DROP
# ici, on logue et on accepte le paquet
iptables -N LOG_ACCEPT
iptables -A LOG_ACCEPT -j LOG --log-level debug --log-prefix 'RULE 2 -- ACCEPT '
iptables -A LOG_ACCEPT -j ACCEPT ###################
# Regles par defaut:
# on reffuse les connexions entrantes
iptables -P INPUT DROP
# on refuse les connexions destinées à être forwardées
iptables -P FORWARD DROP
# les connexions sortantes sont refusées par défaut
iptables -P OUTPUT DROP
###################
# Translation d'adresse pour tout ce qui sort vers l'internet iptables -A POSTROUTING -t nat -o $INTERNET -j MASQUERADE
# On accepte tout ce qui entre et sort de l'interface de loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# On accepte les packets entrants relatifs à des connexions déjà établies sur l'interface connecté au net
iptables -A INPUT -i $INTERNET -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o $INTERNET -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# On accepte les packets entrants relatifs à des connexions déjà établies sur l'interface connecté au lan
iptables -A INPUT -i $LOCAL -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o $LOCAL -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# on autorise le trafique web de partout
iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -p tcp --dport 443 -j ACCEPT
# Redirection du port 80 vers le port 3128 ( celui du poxy squid ) iptables -t nat -A PREROUTING -i $LOCAL -p tcp --dport 80 -j DNAT --to-destination $SERVEUR:3128 # Ici on refuse les entrantes et les paquets invalides
iptables -A INPUT -i $INTERNET -m state --state NEW,INVALID -j LOG_DROP
iptables -A OUTPUT -o $INTERNET -m state --state INVALID -j LOG_DROP
# Toutes les règles qui n'ont pas passé les règles du firewall seront refusées et loguées...
iptables -A FORWARD -j LOG_DROP
iptables -A INPUT -j LOG_DROP
iptables -A OUTPUT -j LOG_DROP
|