Bonjour
J’ai écrit ce script iptables pour un pc avec 4 interfaces. Une vers internet en passerelle et 3 autres déservant 3 lans. Tout fonctionne sauf que le lan ne peu pas accéder à msn messenger malgré une règle iptables -A FORWARD -i eth1 -o eth0 -p tcp --dport 1863 -m state --state NEW -j ACCEPT. Comme ca fait 2 semaines que je cherche une solution, j’en ai marre de chercher tout seul. Si quelqu’un à une idée.
#!/bin/bash
###################################################
ARCHITECTURE POUR UN FIREWALL A 4 INTERFACES
lan2=eth2
|
routeur net=eth0 ----- lan3=eth3
|
lan1=eth1
###################################################
#On vide les tables
iptables -F
iptables -t nat -F
iptables -X
iptables -t nat -X
modprobe ip_tables
modprobe ip_nat_ftp
modprobe iptable_filter
modprobe iptable_nat
modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc
#Fonction de nat
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#Ignorer les broadcasts
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
#Forwarder le réseau
echo 1 > /proc/sys/net/ipv4/ip_forward
#On ferme tout
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
#Boucle locale ouverte
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
#On élimine les paquets ayant tous les flags TCP activés ainsi que ceux
#avec aucun flag activé (souvent utilisé par les scans de Nmap)
iptables -A FORWARD -p tcp --tcp-flags ALL ALL -j DROP
iptables -A FORWARD -p tcp --tcp-flags ALL NONE -j DROP
#ICMPs acceptés
iptables -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT
iptables -A INPUT -p icmp --icmp-type source-quench -j ACCEPT
iptables -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
#Augmentation de la qualité du web
iptables -A PREROUTING -t mangle -p tcp --sport www -j TOS --set-tos Minimize-Delay
############################## net ################################################
iptables -A INPUT -i eth0 -m state --state ! INVALID -j ACCEPT
iptables -A OUTPUT -o eth0 -m state --state ! INVALID -j ACCEPT
iptables -A FORWARD -m state --state INVALID -j DROP
#on accepte le net
iptables -A OUTPUT -o eth0 -p tcp --dport http -m state --state NEW -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --dport https -m state --state NEW -j ACCEPT
#dns
iptables -A OUTPUT -o eth0 -p udp --dport domain -m state --state NEW -j ACCEPT
#accès au serveur http
iptables -A INPUT -i eth0 -p tcp --dport http -m state --state NEW -j ACCEPT
############################## lan 1 ################################################
#Accès au net pour les connections sures
iptables -A FORWARD -i eth0 -o eth1 -m state --state ! INVALID,NEW -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -m state --state ! INVALID,NEW -j ACCEPT
#Dns
iptables -A FORWARD -i eth1 -o eth0 -p udp --dport domain -m state --state NEW -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -p tcp --dport domain -m state --state NEW -j ACCEPT
#Http
iptables -A FORWARD -i eth1 -o eth0 -p tcp --dport http -m state --state NEW -j ACCEPT
#Msn
iptables -A FORWARD -i eth1 -o eth0 -p tcp --dport 1863 -m state --state NEW -j ACCEPT
#icmp
iptables -A INPUT -p icmp -j ACCEPT
#ftp
iptables -A FORWARD -i eth1 -o eth0 -p tcp --dport 20 -m state --state NEW -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -p tcp --dport 21 -m state --state NEW -j ACCEPT
############################## lan 2 ################################################
#accès au net pour les connections sures
iptables -A FORWARD -i eth0 -o eth2 -m state --state ! INVALID,NEW -j ACCEPT
iptables -A FORWARD -i eth2 -o eth0 -m state --state ! INVALID,NEW -j ACCEPT
#dns
iptables -A FORWARD -i eth2 -o eth0 -p udp --dport domain -m state --state NEW -j ACCEPT
iptables -A FORWARD -i eth2 -o eth0 -p tcp --dport domain -m state --state NEW -j ACCEPT
#http
iptables -A FORWARD -i eth2 -o eth0 -p tcp --dport http -m state --state NEW -j ACCEPT
#msn
iptables -A FORWARD -i eth2 -o eth0 -p tcp --dport 1863 -m state --state NEW -j ACCEPT
#icmp
iptables -A INPUT -p icmp -j ACCEPT
#ftp
iptables -A FORWARD -i eth2 -o eth0 -p tcp --dport 20 -m state --state NEW -j ACCEPT
iptables -A FORWARD -i eth2 -o eth0 -p tcp --dport 21 -m state --state NEW -j ACCEPT
#aim
iptables -A FORWARD -i eth2 -o eth0 -p tcp --dport 5190 -m state --state NEW -j ACCEPT
#snmp
iptables -A FORWARD -i eth2 -o eth0 -p tcp --dport 161 -m state --state NEW -j ACCEPT
iptables -A FORWARD -i eth2 -o eth0 -p udp --dport 161 -m state --state NEW -j ACCEPT
############################## lan 3 ################################################
#accès au net pour les connections sures
iptables -A FORWARD -i eth0 -o eth3 -m state --state ! INVALID,NEW -j ACCEPT
iptables -A FORWARD -i eth3 -o eth0 -m state --state ! INVALID,NEW -j ACCEPT
#dns
iptables -A FORWARD -i eth3 -o eth0 -p udp --dport domain -m state --state NEW -j ACCEPT
iptables -A FORWARD -i eth3 -o eth0 -p tcp --dport domain -m state --state NEW -j ACCEPT
#http
iptables -A FORWARD -i eth3 -o eth0 -p tcp --dport http -m state --state NEW -j ACCEPT
#msn
iptables -A FORWARD -i eth3 -o eth0 -p tcp --dport 1863 -m state --state NEW -j ACCEPT
#icmp
iptables -A INPUT -p icmp -j ACCEPT
#ftp
iptables -A FORWARD -i eth3 -o eth0 -p tcp --dport 20 -m state --state NEW -j ACCEPT
iptables -A FORWARD -i eth3 -o eth0 -p tcp --dport 21 -m state --state NEW -j ACCEPT[/i]