Guide pratique de l'IP masquerade simplifi�

Nouvelles versions de ce document

Version fran�aise du Masquerading made simple HOWTO

John Tapsell

Thomas Spellman

Matthias Grimm

Version : 0.09.fr.1.0

10 octobre 2007

Revision History
Revision 0.09.fr.1.0 2007-10-07 Revised by: EM
Premi�re traduction fran�aise
Revision 0.09 2004-07-21 Revised by: TS
Revision 0.08 2002-07-11 Revised by: JPT
Revision 0.07 2002-02-27 Revised by: JPT
Revision 0.06 2001-09-08 Revised by: JPT
Revision 0.05 2001-09-07 Revised by: JPT
Revision 0.04 2001-09-01 Revised by: JPT
Revision 0.03 2001-07-06 Revised by: JPT

Ce guide pratique NE REMPLACE PAS le 'guide pratique de l'IP masquerade', mais le compl�te. Ces deux documents devraient �tre lus en parall�le. Je n'y ai inclu aucun �l�ment d�j� d�taill� dans cet autre guide pratique, ni aucune explication sur leur fonctionnement et leur signification. Veuillez vous reporter � l'adresse http://ipmasq.webhop.net/ et lisez le 'guide pratique du masquerade standard', pour une bien meilleure aide.

R�sum�

Ce document d�crit l'activation du dispositif dIP Masquerading sur une machine h�te Linux. Le masquage d'adresse IP est une forme de traduction d'adresse r�seau ( Network Address Translation ou NAT en anglais ),permettant aux ordinateurs d'un r�seau priv� n'ayant aucune adresse IP d'acc�der � Internet via l'adresser IP unique d'une machine Linux.

Tous les auteurs sont joignables sur le canal #debian sur irc.opensource.net

John Tapsell (JohnFlux) est le responsable officiel.

Contactez-moi (John Tapsell) pour toutes demandes, r�actions, r�clamations, rendez-vous, etc. !!!!!!!!!

Impudemment tir� du travail de David Ranch -

Ce document est plac� sous la GNU Free Documentation License, consultable sur

http://www.gnu.org/copyleft/fdl.html pour la version originale. La version fran�aise est consultable sur //="http://www.rodage.org/gpl-3.0.fr.html"> http://www.rodage.org/gpl-3.0.fr.html. Attention! La version fran�aise de la Gnu Free Documentation License est une version non officielle, traduite afin d'am�liorer la compr�hension de cette licence. Elle ne fait pas foi au-niveau juridique!


Introduction

Cette introduction est volontairement courte et cibl�e.

Admettons que vous aviez un r�seau que vous voulez raccorder � l'ext�rieur:


Sommaire (J'aime bien d�buter par un sommaire!)

Consid�rons que l'interface r�seau externe est eth0, l'adresse IP 123.12.23.43 et l'interface r�seau interne est eth1 :

$> modprobe ipt_MASQUERADE # Si cela �choue, essayez tout-de-m�me de continuer
$> iptables -F; iptables -t nat -F; iptables -t mangle -F
$> iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 123.12.23.43
$> echo 1 > /proc/sys/net/ipv4/ip_forward

Ou pour une connexion par modem:

$> modprobe ipt_MASQUERADE # Si cela �choue, essayez tout-de-m�me de continuer
$> iptables -F; iptables -t nat -F; iptables -t mangle -F
$> iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
$> echo 1 > /proc/sys/net/ipv4/ip_forward

Pour s�curiser cela:

$> iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$> iptables -A INPUT -m state --state NEW -i ! eth0 -j ACCEPT
$> iptables -P INPUT DROP   #seulement si les deux commandes pr�c�dentes ont abouties
$> iptables -A FORWARD -i eth0 -o eth0 -j REJECT

Ou pour une connexion par modem (avec eth0 comme interface r�seau interne):

$> iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$> iptables -A INPUT -m state --state NEW -i ! ppp0 -j ACCEPT
$> iptables -P INPUT DROP   #seulement si les deux commandes pr�c�dentes ont abouties
$> iptables -A FORWARD -i ppp0 -o ppp0 -j REJECT

Et voil�! Pour visualiser les r�gles tapez "iptables -t nat -L"


Version un peu plus d�taill�e

Compilation du noyau: (Utilisez un noyau 2.4.x ou sup�rieur)

Le noyau doit inclure les supports suivants:

Tout d'abord, si les modules iptables et masq ne sont pas compil�s dans le noyau ni install�s, mais pr�sents en tant que modules, il faut les installer. Si vous chargez le module ipt_MASQUERADE,les modules ip_tables, ip_conntrack et iptable_nat seront aussi charg�s.

$> modprobe ipt_MASQUERADE

Que votre r�seau interne soit vaste, ou bien que vous vouliez connecter deux ou trois machines sur Internet, cela ne fera aucune diff�rence dans tous les cas.

Ok, je vais suppposer que vous n'avez aucune autre r�gle � rajouter, donc vous tapez:

$> iptables -F; iptables -t nat -F; iptables -t mangle -F

Si vous obtenez un message d'erreur indiquant "can't find iptables", t�l�chargez-le et installez-le. Si le message d'erreur indique "no such table 'nat'", recompilez le noyau avec le support nat. Si le message d'erreur indique "no such table as 'mangle'", ne vous inqui�tez pas, cette table n'est pas n�cessaire pour le Masquerading. Si le message d'erreur indique "iptables is incompatible with your kernel", t�l�chargez une version de noyau sup�rieure � 2.4 et compilez-le avec le support iptables.

Ensuite si vous avez une adresse IP statique(Par exemple une interface r�seau n'utilisant pas le DHCP):

$> iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 123.12.23.43

ou pour une adresse dynamique (Par exemple un modem rtc - vous devez appelez un num�ro tout d'abord):

$> iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

Enfin, afin d'indiquer au noyau que vous voulez activer le routage de packets : ( A faire apr�s chaque red�marrage de la session - pas trop contraignant)

$> echo 1 > /proc/sys/net/ipv4/ip_forward

Une fois v�rifi� que tout fonctionne (voir section Post-install) vous n'allez autoriser l'IP masquerade que pour le r�seau interne - vous ne souhaitez pas autoriser des personnes sur Internet � l'utiliser apr�s tout :)

En premier lieu, autorisez toutes les connections existantes, ou les connections en d�pendant ( par exemple un serveur ftp vous renvoyant une r�ponse)

$> iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Si vous obtenez une erreur, vous n'avez probablement pas activ� le marquage d'�tat sur les paquets dans le noyau - vous devrez le recompiler avec cette option. Nous allons ensuite n'autoriser que les nouvelles connections venant de notre r�seau interne (r�seau interne ou local). Remplacez ppp0 par eth0, ou par le nom de votre interface r�seau externe (Le caract�re ! signifie "tout sauf")

$> iptables -A INPUT -m state --state NEW -i ! ppp0 -j ACCEPT

Et bloquez maintenant tout le reste:

$> iptables -P INPUT DROP   #seulement si les deux commandes pr�c�dentes ont abouties

Si l'une des deux premi�res commandes �choue, cette r�gle emp�chera le masquerading de fonctionner Pour annuler cette r�gle : "iptables -P INPUT ACCEPT".


Instructions post-installation

Cela devrait fonctionner maintenant. N'oubliez pas de :

Pour le tester:

O� eth0 est l'interface r�seau externe, et 123.12.23.43 est l'adresse ip de ce client.


FAQ - Foire aux r�clama**** Questions