qui connait iptables c trop un truc de jean informaticien
#!/bin/sh
# Nettoyage complet des règles existantes
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X
# Interfaces réseau
LAN_IF="eth1"
WAN_IF="eth0"
# Activer le NAT pour le réseau LAN
iptables -t nat -A POSTROUTING -o $WAN_IF -s 192.168.150.0/24 -j MASQUERADE
# Autoriser le trafic LAN -> WAN
iptables -A FORWARD -i $LAN_IF -o $WAN_IF -j ACCEPT
iptables -A FORWARD -i $WAN_IF -o $LAN_IF -m state --state ESTABLISHED,RELATED -j ACCEPT
# Politiques par défaut
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
# Autoriser le trafic établi/relatif (entrant & forward)
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# Bloquer paquets invalides et fragmentés
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A FORWARD -m state --state INVALID -j DROP
iptables -A INPUT -f -j DROP
iptables -A FORWARD -f -j DROP
# Loopback : autoriser tout trafic local
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# DHCP : autoriser trafic DHCP **uniquement si serveur DHCP**
iptables -A INPUT -i $LAN_IF -p udp --sport 68 --dport 67 -j ACCEPT
iptables -A OUTPUT -o $LAN_IF -p udp --sport 67 --dport 68 -j ACCEPT
# DNS : autoriser uniquement si la machine fait serveur DNS
# (sinon, supprimer les 2 lignes suivantes)
iptables -A INPUT -i $LAN_IF -p udp --dport 53 -j ACCEPT
iptables -A INPUT -i $LAN_IF -p tcp --dport 53 -j ACCEPT
# SSH : autoriser connexions depuis le LAN avec contrôle de l'état
iptables -A INPUT -i $LAN_IF -p tcp --dport 22 --syn -m state --state NEW -s 192.168.150.0/24 -j ACCEPT
# Anti-spoofing sur le WAN
iptables -A INPUT -i $WAN_IF -s 192. 168. 0 . 0 /16 -j DROP
iptables -A INPUT -i $WAN_IF -s 10. 0. 0 .0 /8 -j DROP
iptables -A INPUT -i $WAN_IF -s 172. 16. 0. 0 /12 -j DROP
# ICMP - Bloquer les types ICMP inutiles ou suspects
iptables -A INPUT -p icmp --icmp-type redirect -j DROP
iptables -A INPUT -p icmp --icmp-type timestamp-request -j DROP
iptables -A INPUT -p icmp --icmp-type timestamp-reply -j DROP
iptables -A INPUT -p icmp --icmp-type address-mask-request -j DROP
iptables -A INPUT -p icmp --icmp-type address-mask-reply -j DROP
# ICMP - Autoriser les types utiles
iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
iptables -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT
iptables -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT
iptables -A INPUT -p icmp --icmp-type parameter-problem -j ACCEPT
# Bloquer les pings (ICMP echo-request)
iptables -A INPUT -i $LAN_IF -p icmp --icmp-type echo-request -j DROP
iptables -A INPUT -i $WAN_IF -p icmp --icmp-type echo-request -j DROP
# Journaliser les paquets bloqués en INPUT (avant DROP final)
iptables -A INPUT -j LOG --log-prefix "IPTABLES INPUT DROP: " --log-level 4
# Bloc WAN explicite (tout ce qui vient du WAN et n’a pas été accepté)
iptables -A INPUT -i $WAN_IF -j DROP
Afficher uniquement les messages de l'auteur du topic