Je possède un reseau qui a à peu pres cette tete :
Donc en gros, tous les pc qui veulent aller sur le net, passent par le routeur. Sur ce routeur, les regles iptables suivantes sont définies :
Code :
- #!/bin/bash
- . /lib/lsb/init-functions
- case $1 in
- start)
- log_begin_msg "Configuring Iptables..."
- # Initialisation...
- /sbin/iptables -F && \
- /sbin/iptables -X && \
- /sbin/iptables -P INPUT DROP && \
- /sbin/iptables -P OUTPUT DROP && \
- /sbin/iptables -P FORWARD DROP && \
- /sbin/iptables -t nat -F && \
- /sbin/iptables -t nat -X && \
- /sbin/iptables -t nat -P PREROUTING ACCEPT && \
- /sbin/iptables -t nat -P POSTROUTING ACCEPT && \
- /sbin/iptables -t nat -P OUTPUT ACCEPT && \
- /sbin/iptables -t mangle -F && \
- /sbin/iptables -t mangle -X && \
- /sbin/iptables -t mangle -P PREROUTING ACCEPT && \
- /sbin/iptables -t mangle -P INPUT ACCEPT && \
- /sbin/iptables -t mangle -P OUTPUT ACCEPT && \
- /sbin/iptables -t mangle -P FORWARD ACCEPT && \
- /sbin/iptables -t mangle -P POSTROUTING ACCEPT && \
- # On autorise la boucle locale
- /sbin/iptables -A INPUT -i lo -j ACCEPT && \
- /sbin/iptables -A OUTPUT -o lo -j ACCEPT && \
- # On autorise le LAN
- /sbin/iptables -A INPUT -i eth1 -j ACCEPT && \
- /sbin/iptables -A OUTPUT -o eth1 -j ACCEPT && \
- # Définition des regles de sécurité...
- /sbin/iptables -t nat -A POSTROUTING -s 192.168.1.0/255.255.255.0 -o eth0 -j MASQUERADE && \
- /sbin/iptables -A FORWARD -i eth1 -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT && \
- /sbin/iptables -A FORWARD -i eth0 -o eth1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT && \
- /sbin/iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT && \
- # Définition des regles entre la passerelle et la Freebox
- /sbin/iptables -A INPUT -i eth0 -s 192.168.0.1 -j ACCEPT && \
- /sbin/iptables -A OUTPUT -o eth0 -j ACCEPT && \
- /sbin/iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT && \
- # Ecoute de certains ports
- /sbin/iptables -A INPUT -p tcp --dport 22 -i eth0 -j ACCEPT && \
- /sbin/iptables -A INPUT -p tcp --dport 80 -i eth0 -j ACCEPT && \
- # Routage des ports écoutés
- /sbin/iptables -t nat -I PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.3:80 && \
- /sbin/iptables -t nat -I PREROUTING -i eth0 -p tcp --dport 22 -j DNAT --to-destination 192.168.1.3:22 \
- &> /dev/null
- log_end_msg $?
- ;;
- stop)
- log_begin_msg "Flushing Iptables..."
- /sbin/iptables -F && \
- /sbin/iptables -X \
- &> /dev/null
- log_end_msg $?
- ;;
- restart)
- $0 stop
- $0 start
- ;;
- *)
- log_success_msg "Usage: {start|stop|restart}"
- exit 1
- esac
- exit 0
|
Je voudrais savoir, comment restreindre l'acces a internet pour certains pc sur certains ports ? par exemple... 192.168.1.4 ne pourrait aller que sur les site web (donc sortir sur le port 80) ? ou alors.. 192.168.1.6 ne pourrait pas utiliser ftp (port 21). merci d'avance..
PS: Est ce que l'ordre des regles iptables sont importantes ? merci
Message édité par rclsilver le 13-03-2006 à 17:17:14