All pastes #34476 Raw Edit

iptables

public text v1 · immutable
#34476 ·published 2005-12-21 14:26 UTC
rendered paste body
	echo "[Démarrage du firewall]"

	############################### REGLES PAR DEFAUT ###########################

	echo "[Initialisation de la table filter]"
	# Nous vidons les chaînes :
	iptables -F
	# Nous supprimons d'éventuelles chaînes personnelles :
	iptables -X
	
	# On ignore tout ce qui entre ou transite  par la passerelle
	iptables -P INPUT DROP
	iptables -P FORWARD DROP

	# On accepte tout ce qui sort
	##############################!!!!!!!
	iptables -P OUTPUT ACCEPT


	############################### LOCAL ###########################

	echo "[Initialisation de l'acces local]"
	
	# Nous considérons que la machine elle même est sûre 
	# et que les processus locaux peuvent communiquer entre eux 
	# via l'interface locale :
	
	iptables -A INPUT -i lo -j ACCEPT
	iptables -A OUTPUT -o lo -j ACCEPT
	
	# Nous considérons que notre réseau local est 
	# également sûr (ce qui n'est pas forcément vrai, d'ailleurs).
	
	iptables -A INPUT -i eth1 -j ACCEPT
	iptables -A OUTPUT -o eth1 -j ACCEPT

	############################### TABLES NAT ET MANGLE #############################

	echo "[Initialisation des tables nat et mangle]"

	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 INPUT ACCEPT
	iptables -t mangle -P PREROUTING ACCEPT
	iptables -t mangle -P OUTPUT ACCEPT
	iptables -t mangle -P FORWARD ACCEPT

	#################################### LE MASQUERADING ########################################

	# Translation d'adresses pour tout ce qui traverse la passerelle
	echo "[Mise en place du NAT]"
	iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE


	# Toutes les connexions qui sortent du LAN vers le Net
	# sont acceptées
	iptables -A FORWARD -i eth1 -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

	# Seules les connexions déjà établies ou en relation avec
	# des connexions établies sont acceptées venant du Net vers le LAN
	iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT


	################################# ACTIVATION DE LA PASSERELLE ##################

	# On déverrouille le "forwarding"
	echo "[Activation de la passerelle]"
	echo 1 > /proc/sys/net/ipv4/ip_forward
	
	#Le déverrouillage du "forwarding" est également volatile par défaut. Pour remédier à ce problème, éditez le fichier  /etc/sysconfig/network . Dedans, il y a une ligne FORWARD_IPV4="no" . Mettez "yes" à la place de "no". 
	#Au prochain redémarrage de votre machine, le routage sera activé par défaut.


	################################## PAS DE PING ###############################

	#Modifie pour autoriser le ping depuis le local
	iptables -A INPUT -i eth0 -p icmp  -m state --state RELATED -j ACCEPT
	iptables -A INPUT -i eth1 -p icmp  -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

	##Bloquer tous les paquets icmp
	#echo "[Pas de ping]"
	#echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
	#echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
	#if [ -e /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses ] ; then
	#	echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
	#fi

	############################ Fonctionnalités serveurs #####################################

	echo "[Etude des fonctionalités serveurs, visibles depuis internet ]"

	# A ce stade, tous vos clients du réseau local et de la passerelle ont accès à internet. Mieux,
	# vos clients du réseau local, ont accès à vos serveurs apache, proftp ... localement. Mais personne
	# depuis internet ne peux accéder à l'un des serveurs que vous hébergés.

	echo "[autorisation du serveur ssh(22) ...]"
	iptables -A INPUT -p tcp --dport 22 -j ACCEPT
	iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

	echo "[autorisation du serveur http(80) ...]"
	iptables -A INPUT -p tcp --dport 80 -j ACCEPT
	iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT

	echo "[autorisation du serveur https(443) ...]"
	iptables -A INPUT -p tcp --dport 443 -j ACCEPT
	iptables -A OUTPUT -p tcp --sport 443 -j ACCEPT
	
	echo "[autorisation du serveur FTP(21) ...]"
	iptables -A INPUT -p tcp --dport 21 -j ACCEPT
	iptables -A OUTPUT -p tcp --sport 21 -j ACCEPT

	#echo "[autorisation du serveur smtp(25) ...]"
	#iptables -A INPUT -p tcp --dport smtp -j ACCEPT

	#echo "[autorisation du serveur DNS(53) ...]"
	#iptables -A INPUT -p udp --dport domain -j ACCEPT
	#iptables -A INPUT -p tcp --dport domain -j ACCEPT

	#echo "[autorisation du serveur irc(6667) ...]"
	#iptables -A INPUT -p tcp --dport ircd -j ACCEPT

	#echo "[autorisation du serveur cvs (2401) ...]"
	#iptables -A INPUT -p tcp --dport cvspserver -j ACCEPT

	# Ne pas décommenter les 3 lignes qui suivent.
	# Plus généralement :
	#echo "[autorisation du serveur Mon_truc(10584) ...]"
	#iptables -A INPUT -p tcp --dport 10584 -j ACCEPT


	############################ Routage #####################################

	#Emule, Bittorrent et autres
	#INdiquer bonne IP pour -d

	#6683
	iptables -t nat -A PREROUTING -d momo.servegame.org -p tcp --dport 6683 -j DNAT --to-destination 192.168.0.100:6683