Salut, j’aimerais avoir un coup de main sur iptables s’il vous plais !
Sur mon réseau, j’ais 2 types de personnes, ceux qui payent internet et ceux qui ne payent pas.
Pour l’instant, tout la politique est à DROP et je fais une boucle avec un ACCEPT pour toutes les chambres inscrites dans le fichier /etc/internet…ça donne ce qui suis :
...
# Seuls les residents qui payent pour internet(ils sont identifies par leurs numeros de chambre : c'est leur nom d'hote) y ont acces :
for CHAMBRE in `cat /etc/internet`; do
$IPTABLES -A FORWARD -s $CHAMBRE -i $RINTERFACE -o $IINTERFACE -m state --state NEW -j ULOG --ulog-prefix "NAT :";
$IPTABLES -A FORWARD -s $CHAMBRE -i $RINTERFACE -o $IINTERFACE -j ACCEPT;
done
...
Ceci fonctionne bien…
MAINTENANT, j’aimerais un peu compliquer la chose, j’aimerais que tout ceux qui ne payent pas internet, sois redirigés vers le site http qui est installé sur la même machine qui fais passerelle/firewall
J’ais donc fais comme ceci :
[code]…
#Pour tout le monde on les redirige vers le serveur http qui est sur la passerelle/firewall
$IPTABLES -A PREROUTING -t nat -i $RINTERFACE -d ! 172.20.0.1 -p tcp --dport 80 -j REDIRECT --to-port 80
Seuls les residents qui payent pour internet(ils sont identifies par leurs numeros de chambre : c’est leur nom d’hote) y ont acces :
#Pour chaque chambre dans /etc/internet :
for CHAMBRE in cat /etc/internet; do
#On annule la redirection pour toutes les chambres qui sont dans /etc/internet
$IPTABLES -A PREROUTING -t nat -i $RINTERFACE -s $CHAMBRE -j ACCEPT
#On log tout leur traffic
$IPTABLES -A FORWARD -s $CHAMBRE -i $RINTERFACE -o $IINTERFACE -m state --state NEW -j ULOG --ulog-prefix "NAT :";
#On autorise leur accés a internet
$IPTABLES -A FORWARD -s $CHAMBRE -i $RINTERFACE -o $IINTERFACE -j ACCEPT;
done
…
[/code]
Le problème c’est que avec cette dernière méthode, tout le monde est redirigé vers le site, même ceux qui payent internet… Et je ne vois pas comment régler ce problème…
Pouvez vous m’aider ?
Merci d’avance


