Iptables accès Lan mais je veux pas au WEB

Salut tout le monde,
Est-il possible de ne pas autoriser l’accès au web d’un client mais qu’il puisse toujours avoir l’accès sur le LAN au serveur ? ( Je souhaite que mon client 192.168.30.11 est accès au serveur et aux autres client du LAN et inversement mais qu’il n’est plus d’accès au WEB, INTERDIT ! :wink: :smiley:
Voiçi mon script Iptables:

[code]iptables -F
iptables -X
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

iptables -t nat -F
iptables -t nat -X
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT

iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P INPUT ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
iptables -t mangle -P FORWARD ACCEPT
iptables -t mangle -P POSTROUTING ACCEPT

autoriser le trafic local

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

suivi de connexion

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

autoriser les connexions sortantes vers internet

iptables -A OUTPUT -o eth0 -j ACCEPT

autoriser les connexions entrantes depuis le LAN

iptables -A INPUT -i eth1 -m state --state NEW -j ACCEPT

autoriser les connexions VNC sortantes vers le LAN

iptables -A OUTPUT -o eth1 -m state --state NEW -p tcp --dport 5900 -j ACCEPT

Ports sepciaux a ouvrir

iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 58400 -j ACCEPT
iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 58410 -j ACCEPT

autoriser les connexions entrantes HTTP et FTP depuis internet

FTP requiert le module de suivi de connexion ip_conntrack_ftp ou nf_conntrack_ftp

iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 21 -j ACCEPT

autoriser les connexions routees du LAN vers internet

iptables -A FORWARD -i eth1 -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT

masquage source necessaire si le routeur amont n’a pas de route de retour vers le LAN

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

[/code]
Issue de ce topic : http://forum.debian-fr.org/viewtopic.php?f=3&t=13602

Merçi…

Oui, bien sûr. Les paquets destinés à la machine passent par la chaîne INPUT alors que les paquets destinés à être retransmis passent par la chaîne FORWARD. Il faut donc filtrer dans la chaîne FORWARD.

Au web ou à internet ? Le web n’est qu’une partie d’internet, l’ensemble des serveurs web (HTTP, port TCP 80, toussa). Les autres services (courrier électronique, Usenet…) ne font pas partie du web.

Pour bloquer l’accès à internet d’une machine du LAN, il suffit d’insérer avant la règle qui autorise le trafic sortant dans la chaîne FORWARD une règle qui bloque les paquets sortants avec l’adresse IP source de cette machine (avec un REJECT au lieu de DROP, c’est plus sympa, on n’est pas des brutes) :

[code]# bloquer l’acces a internet depuis xx.xx.xx.xx
iptables -A FORWARD -i eth1 -o eth0 -s xx.xx.xx.xx -j REJECT --reject-with admin-prohib

autoriser les connexions routees du LAN vers internet

iptables -A FORWARD -i eth1 -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT[/code]
Si c’est pour le web seulement, ajouter "-p tcp -m multiport --dports 80,443"
PS: “merci” n’a pas (besoin) de cédille.