shorewall_code/docs-fr/two-interface_fr.xml

1169 lines
57 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="ISO-8859-15"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!-- $Id$ -->
<article id="two-interface_fr" lang="fr">
<articleinfo>
<title>Firewall <20> deux interfaces</title>
<subtitle>Version Fran<61>aise de <foreignphrase lang="en"><ulink
url="http://www.shorewall.net/two-interface.htm">Basic Two-Interface
Firewall</ulink></foreignphrase></subtitle>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Eastep</surname>
</author>
<othercredit role="translator">
<firstname>Patrice</firstname>
<surname>Vetsel</surname>
<contrib>Traduction fran<61>aise initiale</contrib>
</othercredit>
<othercredit role="translator">
<firstname>Fabien</firstname>
<surname>Demassieux</surname>
<contrib>Adaptation fran<61>aise version 2.0</contrib>
</othercredit>
<othercredit role="translator">
<firstname>Guy</firstname>
<surname>Marcenac</surname>
<contrib>Adaptation fran<61>aise version 3.0</contrib>
</othercredit>
</authorgroup>
<pubdate><?dbtimestamp format="Y/m/d"?></pubdate>
<copyright>
<year>2002-2006</year>
<holder>Thomas M. Eastep</holder>
<holder>Patrice Vetsel</holder>
<holder>Fabien Demassieux</holder>
<holder>Guy Marcenac</holder>
</copyright>
<legalnotice>
<para>Permission est accord<72>e de copier, distribuer et/ou modifier ce
document selon les termes de la Licence de Documentation Libre GNU (GNU
Free Documentation License), version 1.2 ou toute version ult<6C>rieure
publi<6C>e par la Free Software Foundation ; sans section Invariables, sans
premi<6D>re de Couverture, et sans texte de quatri<72>me de couverture. Une
copie de la pr<70>sente Licence est incluse dans la section intitul<75>e. Une
traduction fran<61>aise de la licence se trouve dans la section
<quote><ulink url="http://cesarx.free.fr/gfdlf.html">Licence de
Documentation Libre GNU</ulink></quote>. Ce paragraphe est une
traduction fran<61>aise pour aider <20> votre compr<70>hension. Seul le texte
original en anglais pr<70>sent<6E> ci-dessous fixe les conditions
d'utilisation de cette documentation.</para>
<para>Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version
1.2 or any later version published by the Free Software Foundation; with
no Invariant Sections, with no Front-Cover, and with no Back-Cover
Texts. A copy of the license is included in the section entitled <quote>
<ulink url="GnuCopyright.htm">GNU Free Documentation
License</ulink></quote>.</para>
</legalnotice>
</articleinfo>
<note>
<para><emphasis role="underline">Notes du traducteur :</emphasis> Le guide
initial a <20>t<EFBFBD> traduit par <ulink
url="mailto:vetsel.patrice@wanadoo.fr">VETSEL Patrice</ulink> et la pour
la version 2 de Shorewall a <20>t<EFBFBD> effectu<74>e par <ulink
url="mailto:fd03x@wanadoo.fr">Fabien Demassieux</ulink>. J'ai assur<75> la
r<>vision pour l'adapter <20> la version 3 de Shorewall. Si vous trouvez des
erreurs ou des am<61>liorations <20> y apporter vous pouvez <ulink
url="mailto:guy@posteurs.com">me contacter</ulink>.</para>
</note>
<caution>
<para><emphasis role="bold">Cet article s'applique <20> Shorewall 3.0 et <20>
ses versions ult<6C>rieures. Si vous utilisez une version plus ancienne de
Shorewall, r<>f<EFBFBD>rez-vous <20> la documentation s'appliquant <20> votre
version</emphasis>.</para>
</caution>
<section>
<title>Introduction</title>
<para>Mettre en place un syst<73>me Linux en tant que firewall pour un petit
r<>seau est une chose assez simple, si vous comprenez les bases et que vous
suivez la documentation.</para>
<para>Ce guide ne pr<70>tend pas vous apprendre tous les rouages de
Shorewall. Il se concentre sur ce qui est n<>cessaire pour configurer
Shorewall dans son utilisation la plus courante:</para>
<itemizedlist mark="bullet" spacing="compact">
<listitem>
<para>Un syst<73>me Linux utilis<69> en tant que firewall/routeur pour un
petit r<>seau local.</para>
</listitem>
<listitem>
<para><emphasis role="bold">Une seule adresse IP
publique.</emphasis><note>
<para>Si vous avez plus d'une adresse IP publique, ce n'est pas le
guide qui vous convient -- regardez plut<75>t du cot<6F> du <ulink
url="shorewall_setup_guide_fr.htm">Guide de Configuration
Shorewall</ulink>.</para>
</note></para>
</listitem>
<listitem>
<para>Une connexion passant par un modem c<>ble,
<acronym>ADSL</acronym>, <acronym>ISDN-RNIS</acronym>, Frame Relay,
<acronym>RTC</acronym>...</para>
</listitem>
</itemizedlist>
<para>Voici le sch<63>ma d'une installation typique:<figure label="1">
<title>Configuration standard d'un firewall avec deux
interfaces</title>
<mediaobject>
<imageobject>
<imagedata align="center" fileref="images/basics.png" format="PNG" />
</imageobject>
</mediaobject>
</figure> <caution>
<para>Si vous <20>ditez vos fichiers de configuration sur un syst<73>me
<trademark>Windows</trademark>, vous devez les enregistrer comme des
fichiers <trademark>Unix</trademark> si votre <20>diteur supporte cette
option sinon vous devez les convertir avec <command>dos2unix</command>
avant d'essayer de les utiliser. De la m<>me mani<6E>re, si vous copiez un
fichier de configuration depuis votre disque dur
<trademark>Windows</trademark> vers une disquette, vous devez lancer
<command>dos2unix</command> sur la copie avant de l'utiliser avec
Shorewall.<itemizedlist>
<listitem>
<para><ulink
url="http://www.simtel.net/pub/pd/51438.html"><trademark>Windows</trademark>
Version of <command>dos2unix</command></ulink></para>
</listitem>
<listitem>
<para><ulink
url="http://www.megaloman.com/%7Ehany/software/hd2u/">Linux
Version of <command>dos2unix</command></ulink></para>
</listitem>
</itemizedlist></para>
</caution></para>
<section>
<title>Pr<EFBFBD>-requis Syst<73>me</title>
<para>Shorewall a besoin que le package
<command><command>iproute</command></command>/<command><command>iproute2</command></command>
soit install<6C> (avec la distribution <trademark>RedHat</trademark>, le
package s'appelle <command><command>iproute</command></command>). Vous
pouvez v<>rifier que le package est install<6C> en contr<74>lant la pr<70>sence du
programme <command><command>ip</command></command> sur votre firewall.
En tant que <systemitem class="username">root</systemitem>, vous pouvez
utiliser la commande <command><command>which</command></command> pour
cela: <programlisting>[root@gateway root]# <command>which ip</command>
/sbin/ip
[root@gateway root]#</programlisting></para>
<para>Je vous recommande de commencer par une lecture compl<70>te du guide
afin de vous familiariser avec les concepts mis en oeuvre, puis de
recommencer la lecture et seulement alors d'appliquer vos modifications
de configuration.</para>
</section>
<section>
<title>Conventions</title>
<para>Les points o<> des modifications s'imposent sont indiqu<71>s par
<inlinegraphic fileref="images/BD21298_.gif" format="GIF" />.</para>
<para>Les notes de configuration qui sont propres <20> LEAF/Bering sont
marqu<71>es avec <inlinegraphic fileref="images/leaflogo.gif"
format="GIF" />.</para>
</section>
</section>
<section>
<title>PPTP/ADSL</title>
<para><inlinegraphic fileref="images/BD21298_.gif" format="GIF" /></para>
<para>Si vous <20>tes <20>quip<69> d'un modem
<acronym><acronym>ADSL</acronym></acronym> et que vous utilisez
<acronym><acronym>PPTP</acronym></acronym> pour communiquer avec un
serveur <20> travers ce modem, vous devez faire les changements <ulink
url="PPTP.htm#PPTP_ADSL">suivants</ulink> en plus de ceux d<>crits
ci-dessous. <acronym><acronym>ADSL</acronym></acronym> avec
<acronym><acronym>PPTP</acronym></acronym> est r<>pandu en Europe,
notamment en Autriche.</para>
</section>
<section>
<title>Les Concepts de Shorewall</title>
<para><inlinegraphic fileref="images/BD21298_.gif" format="GIF" /></para>
<para>Les fichiers de configuration pour Shorewall sont situ<74>s dans le
r<>pertoire <filename class="directory">/etc/shorewall</filename> -- pour
de simples param<61>trages, vous n'aurez <20> faire qu'avec quelques-uns d'entre
eux comme d<>crit dans ce guide.</para>
<para><warning>
<para><emphasis role="bold">Note aux utilisateurs de Debian et de
Ubuntu</emphasis></para>
<para>Si vous vous servez du .deb pour installer, vous vous rendrez
compte que votre r<>pertoire <filename
class="directory">/etc/shorewall</filename> est vide. Ceci est voulu.
Les squelettes des fichiers de configuration se trouvent sur votre
syst<73>me dans le r<>pertoire <filename
class="directory">/usr/share/doc/shorewall/default-config</filename>.
Copiez simplement les fichiers dont vous avez besoin depuis ce
r<>pertoire dans <filename class="directory">/etc/shorewall</filename>,
puis modifiez ces copies.</para>
<para>Remarquez que vous devez copier<filename>
/usr/share/doc/shorewall/default-config/shorewall.conf</filename> et
<filename>/usr/share/doc/shorewall/default-config/modules</filename>
dans <filename
class="directory"><filename>/etc/shorewall</filename></filename> m<>me
si vous ne modifiez pas ces fichiers.</para>
</warning><important>
<para>Apr<EFBFBD>s avoir <ulink url="Install_fr.html">install<EFBFBD>
Shorewall</ulink>, vous pourrez trouver les exemples de la mani<6E>re
suivante:</para>
<para><orderedlist>
<listitem>
<para>Si vous avez install<6C> en utilisant un
<acronym>RPM</acronym>, les exemples seront dans le
sous-r<>pertoire <filename
class="directory">Samples/two-interfaces/</filename> du
r<>pertoire de la documentation de Shorewall. Si vous ne savez
pas o<> se trouve le r<>pertoire de la documentation de Shorewall,
vous pouvez trouver les exemples en utilisant cette
commande:</para>
<para><programlisting>~# rpm -ql shorewall | fgrep two-interfaces
/usr/share/doc/packages/shorewall/Samples/two-interfaces
/usr/share/doc/packages/shorewall/Samples/two-interfaces/interfaces
/usr/share/doc/packages/shorewall/Samples/two-interfaces/masq
/usr/share/doc/packages/shorewall/Samples/two-interfaces/policy
/usr/share/doc/packages/shorewall/Samples/two-interfaces/routestopped
/usr/share/doc/packages/shorewall/Samples/two-interfaces/rules
/usr/share/doc/packages/shorewall/Samples/two-interfaces/zones
~#</programlisting></para>
</listitem>
<listitem>
<para>Si vous avez install<6C> depuis le tarball, les exemples sont
dans le r<>pertoire <filename>Samples/two-interfaces</filename>
du tarball.</para>
</listitem>
<listitem>
<para>Si vous avez install<6C> en utilisant un .deb, les exemples
sont dans
<filename>/usr/share/doc/shorewall/examples/two-interfaces</filename>.</para>
</listitem>
</orderedlist></para>
</important></para>
<para>Au fur et <20> mesure de la pr<70>sentation de chaque fichier, je vous
sugg<67>re de jeter un oeil <20> ceux physiquement pr<70>sents sur votre syst<73>me --
chacun des fichiers contient des instructions de configuration d<>taill<6C>es
et des entr<74>es par d<>faut.</para>
<para>Shorewall voit le r<>seau o<> il fonctionne, comme <20>tant compos<6F> d'un
ensemble de zones. Dans une configuration avec deux interfaces, les noms
de zone suivants sont utilis<69>s:<programlisting>#ZONE TYPE OPTIONS IN OUT
# OPTIONS OPTIONS
fw firewall
net ipv4
loc ipv4</programlisting></para>
<para>Les zones de Shorewall sont d<>finies dans le fichier <ulink
url="Documentation.htm#Zones"><filename>/etc/shorewall/zones</filename></ulink>.</para>
<para>Remarquez que Shorewall reconna<6E>t le syst<73>me de firewall comme sa
propre zone. Quand le fichier <filename>/etc/shorewall/zones</filename>
est trait<69>, le nom de la zone firewall est stock<63> dans la variable
d'environnement <emphasis>$FW</emphasis>, qui peut <20>tre utilis<69>e depuis
l'ensemble des autres fichiers de configuration de Shorewall pour faire
r<>f<EFBFBD>rence au firewall lui-m<>me.</para>
<para>Les r<>gles <20> propos du trafic <20> autoriser et <20> interdire sont
exprim<69>es en utilisant le terme de zones.<itemizedlist spacing="compact">
<listitem>
<para>Vous exprimez votre politique par d<>faut pour les connexions
d'une zone vers une autre zone dans le fichier <ulink
url="Documentation.htm#Policy"><filename
class="directory">/etc/shorewall/</filename><filename>policy</filename></ulink>.</para>
</listitem>
<listitem>
<para>Vous d<>finissez les exceptions <20> ces politiques pas d<>faut
dans le fichier <ulink
url="Documentation.htm#Rules"><filename>/etc/shorewall/rules</filename></ulink>.</para>
</listitem>
</itemizedlist></para>
<para>Pour chaque connexion demandant <20> entrer dans le firewall, la
requ<71>te est en premier lieu v<>rifi<66>e par rapport au contenu du fichier
<filename>/etc/shorewall/rules</filename>. Si aucune r<>gle dans ce fichier
ne correspond <20> la demande de connexion alors la premi<6D>re politique dans
le fichier <filename>/etc/shorewall/policy</filename> qui y correspond
sera appliqu<71>e. S'il y a une <ulink
url="shorewall_extension_scripts.htm">action commune</ulink> d<>finie pour
cette politique dans <filename>/etc/shorewall/actions</filename> ou dans
<filename>/usr/share/shorewall/actions.std</filename> cette action commune
sera ex<65>cut<75>e avant que la politique ne soit appliqu<71>e. Le but de l'action
commune est double:</para>
<itemizedlist>
<listitem>
<para>Elle ignore (DROP) ou rejete (REJECT) silencieusement le traffic
courant qui n'est pas dangeureux qui sans cela encombrerait votre
fichier journal - les messages de broadcast, par exemple.</para>
</listitem>
<listitem>
<para>Elle garantit que le traffic n<>cessaire <20> un fonctionnement
normal est autoris<69> <20> traverser le firewall &mdash; ICMP
<emphasis>fragmentation-needed</emphasis> par exemple</para>
</listitem>
</itemizedlist>
<para>Le fichier <filename>/etc/shorewall/policy</filename> inclus dans
l'archive d'exemple (two-interface) contient les politiques suivantes:
<programlisting>#SOURCE DEST POLICY LOG LEVEL LIMIT:BURST
loc net ACCEPT
net all DROP info
all all REJECT info</programlisting>Dans le fichier
d'exemple (two-interface), la ligne suivante est incluse mais elle est
comment<6E>e. Si vous voulez que votre firewall puisse avoir un acc<63>s complet
aux serveurs sur internet, d<>-commentez cette ligne.<programlisting>#SOURCE DEST POLICY LOG LEVEL LIMIT:BURST
$FW net ACCEPT</programlisting> Ces politiques vont:
<itemizedlist>
<listitem>
<para>Autoriser (ACCEPT) toutes les demandes de connexion depuis
votre r<>seau local vers internet</para>
</listitem>
<listitem>
<para>Ignorer (DROP) toutes les demandes de connexion depuis
internet vers votre firewall ou votre r<>seau local</para>
</listitem>
<listitem>
<para>Autoriser (ACCEPT) toutes les demandes de connexion de votre
firewall vers internet (si vous avez d<>-comment<6E> la politique
additionnelle)</para>
</listitem>
<listitem>
<para>Rejeter (REJECT) toutes les autres requ<71>tes de
connexion.</para>
</listitem>
</itemizedlist> <inlinegraphic fileref="images/BD21298_.gif"
format="GIF" /></para>
<para>Il est important de remarquer que les politiques Shorewall (ainsi
que les r<>gles) font r<>f<EFBFBD>rence <20> des <emphasis
role="bold">connexions</emphasis> et non pas <20> un flux de paquets. Avec
les politiques d<>finies dans le fichier <filename
class="directory">/etc/shorewall/policy</filename> pr<70>sent<6E> plus haut, les
connexions sont autoris<69>es de la zone <quote>loc</quote> vers la zone
<quote>net</quote> m<>me si les connexions ne sont pas permises de la zone
<quote>loc</quote> vers le firewall lui-m<>me.</para>
<para>A ce point, <20>ditez votre fichier <filename
class="directory">/etc/shorewall/</filename><filename>policy</filename> et
faites-y les changements que vous d<>sirez.</para>
</section>
<section>
<title>Interfaces R<>seau</title>
<mediaobject>
<imageobject>
<imagedata align="center" fileref="images/basics.png" format="PNG" />
</imageobject>
</mediaobject>
<para>Le firewall poss<73>de deux interfaces r<>seau. Lorsque la connexion
internet passe par un <quote>modem</quote> c<>ble ou<acronym>
<acronym>ADSL</acronym></acronym>,<emphasis> l'<emphasis>Interface
Externe</emphasis> </emphasis>sera l'adaptateur ethernet qui est connect<63>
<20> ce <quote>Modem</quote> (par exemple <filename
class="devicefile">eth0</filename>). Par contre, si vous vous connectez
avec <acronym>PPPoE</acronym> (Point-to-Point Protocol over Ethernet) ou
avec <acronym><acronym>PPTP</acronym></acronym> (Point-to-Point Tunneling
Protocol), l'interface externe sera une interface ppp (par exemple
<filename class="devicefile"><filename
class="devicefile">ppp0</filename></filename>). Si vous vous connectez
avec un simple modem <acronym><acronym>RTC</acronym></acronym>, votre
interface externe sera aussi <filename class="devicefile"><filename
class="devicefile">ppp0</filename></filename>. Si vous vous connectez en
utilisant l'<acronym><acronym>ISDN</acronym></acronym>, votre interface
externe sera <filename class="devicefile"><filename
class="devicefile">ippp0</filename></filename>.</para>
<para><inlinegraphic fileref="images/BD21298_.gif" format="GIF" /></para>
<para><emphasis role="bold">Si votre interface vers l'ext<78>rieur est
</emphasis><emphasis role="bold">ppp0</emphasis> ou <emphasis
role="bold">ippp0</emphasis> <emphasis role="bold">alors il faut mettre
<varname>CLAMPMSS=yes</varname> dans le fichier <filename
class="directory">/etc/shorewall/</filename><filename>shorewall.conf</filename></emphasis>.</para>
<para>Votre <emphasis>Interface Interne</emphasis> (interface vers votre
r<>seau local <acronym>LAN</acronym>) sera un adaptateur ethernet
(<filename class="devicefile">eth1</filename> or <filename
class="devicefile">eth0</filename>) et sera connect<63>e <20> un hub ou un
switch. Vos autres ordinateurs seront connect<63>s <20> ce m<>me hub ou switch
(note: Si vous avez un seul ordinateur, vous pouvez y connecter le
firewall directement en utilisant un c<>ble crois<69>). <warning>
<para><emphasis role="bold">Ne connectez pas les interfaces interne et
externe sur le m<>me hub ou le m<>me switch, sauf <20> des fins de
test</emphasis>. Vous pouvez tester en utilisant ce type de
configuration si vous sp<73>cifiez l'option <emphasis
role="bold">arp_filter</emphasis> ou l'option <emphasis
role="bold">arp_ignore</emphasis> dans le fichier <filename
class="directory">/etc/shorewall/</filename><filename>interfaces, et
ce</filename> pour toutes les interfaces connect<63>es au hub/switch
commun. <emphasis role="bold">Il est tr<74>s fortement d<>conseill<6C>
d'utiliser une telle configuration avec un firewall en
production</emphasis>.</para>
</warning> <inlinegraphic fileref="images/BD21298_.gif"
format="GIF" /></para>
<para>Le fichier de configuration d'exemple pour un firewall <20> deux
interfaces suppose que votre interface externe est <filename
class="devicefile">eth0</filename> et que l'interface interne est
<filename class="devicefile">eth1</filename>. Si votre configuration est
diff<66>rente, vous devrez modifier le fichier<filename>
/etc/shorewall/interfaces</filename> en cons<6E>quence. Tant que vous y <20>tes,
vous pourriez parcourir la liste des options qui sont sp<73>cifi<66>es pour les
interfaces. Quelques astuces:<tip>
<para>Si votre interface vers l'ext<78>rieur est <filename
class="devicefile">ppp0</filename> ou <filename
class="devicefile">ippp0</filename>, vous pouvez remplacer le detect
dans la seconde colonne par un <quote>-</quote> (sans
guillemets).</para>
</tip><tip>
<para>Si votre interface vers l'ext<78>rieur est <filename
class="devicefile">ppp0</filename> or <filename
class="devicefile">ippp0</filename> ou si vous avez une adresse
<acronym>IP</acronym> statique, vous pouvez enlever
<varname>dhcp</varname> dans la liste des options .</para>
</tip><tip>
<para>Si votre interface est un bridge utilisant l'utilitaire
<command><command>brctl</command></command> alors <emphasis
role="bold">vous devez ajouter l'option <varname>routeback</varname> <20>
la liste des options</emphasis>.</para>
</tip></para>
</section>
<section>
<title>Adresses IP</title>
<para>Avant d'aller plus loin, nous devons dire quelques mots au sujet des
adresses IP. Normalement, votre Fournisseur d' Acc<63>s Internet
(<acronym>FAI</acronym>) ne vous allouera qu'une seule adresse IP. Cette
adresse peut vous <20>tre allou<6F>e par <acronym>DHCP</acronym> (Dynamic Host
Configuration Protocol), lors de l'<27>tablissement de votre connexion (modem
standard) ou bien lorsque vous <20>tablissez un autre type de connexion
<acronym>PPP</acronym> (<acronym>PPPoA</acronym>,
<acronym>PPPoE</acronym>, etc.). Dans certains cas , votre fournisseur
peut vous allouer une adresse statique IP. Dans ce cas vous devez
configurer l'interface externe de votre firewall afin d'utiliser cette
adresse de mani<6E>re permanente.</para>
<para>Quelle que soit la fa<66>on dont votre adresse externe vous est
attribu<62>e, elle va <20>tre partag<61>e par tous vos syst<73>mes lors de l'acc<63>s <20>
internet. Vous devrez assigner vos propres adresses au machines de votre
r<>seau local (votre interface interne sur le firewall ainsi que les autres
ordinateurs). La RFC 1918 r<>serve des plages d'adresses IP pour
l'utilisation dans les r<>seau priv<69>s:</para>
<programlisting>10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255</programlisting>
<para><inlinegraphic fileref="images/BD21298_.gif" format="GIF" /></para>
<para>Avant de lancer Shorewall, <emphasis role="bold">il faut regarder
l'adresse IP de votre interface externe, et, si elle est dans l'une des
plages pr<70>c<EFBFBD>dentes, vous devez enlever l'option "norfc1918" dans la ligne
concernant l'interface externe dans le fichier
<filename>/etc/shorewall/interfaces</filename></emphasis>.</para>
<para>Vous devrez allouer vos adresses depuis le m<>me sous-r<>seau
(subnet). Pour ce faire, nous pouvons consid<69>rer un sous-r<>seau comme
<20>tant une plage d'adresses <varname>allant de x.y.z.0 <20>
x.y.z.255</varname>. Un tel sous-r<>seau aura un masque (subnet mask)
<systemitem class="netmask">de 255.255.255.0</systemitem>. L'adresse
<varname>x.y.z.0</varname> est r<>serv<72>e comme l'adresse de sous-r<>seau
<emphasis>(Subnet Address</emphasis>) et l'adresse
<varname>x.y.z.255</varname> est r<>serv<72>e en tant qu'adresse de diffusion
(<emphasis>broadcast</emphasis>). Dans Shorewall, un tel sous-r<>seau est
d<>crit en utilisant <ulink url="shorewall_setup_guide_fr.htm#Subnets">la
notation CIDR (Classless InterDomain Routing)</ulink> qui consiste en
l'adresse du sous-r<>seau suivie par<varname> /</varname>24. Le
<quote>24</quote> indiquant le nombre cons<6E>cutif de bits <20>
<quote>1</quote> dans la partie gauche du masque de sous-r<>seau.</para>
<para><table>
<title>Un exemple de sous-r<>seau :</title>
<tgroup cols="2">
<colspec align="left" />
<tbody>
<row>
<entry>Etendue:</entry>
<entry><systemitem class="ipaddress">10.10.10.0</systemitem> -
<systemitem class="ipaddress">10.10.10.255</systemitem></entry>
</row>
<row>
<entry>Adresse de sous-r<>seau:</entry>
<entry><systemitem
class="ipaddress">10.10.10.0</systemitem></entry>
</row>
<row>
<entry>Adresse de diffusion:</entry>
<entry><systemitem
class="ipaddress">10.10.10.255</systemitem></entry>
</row>
<row>
<entry>Notation CIDR:</entry>
<entry><systemitem
class="ipaddress">10.10.10.0/24</systemitem></entry>
</row>
</tbody>
</tgroup>
</table></para>
<para>La convention veut que l'on affecte <20> l'interface interne du
firewall la premi<6D>re adresse utilisable du sous-r<>seau (<systemitem
class="ipaddress">10.10.10.1</systemitem> dans l'exemple pr<70>c<EFBFBD>dent) ou
bien la derni<6E>re adresse utilisable (<systemitem
class="ipaddress">10.10.10.254</systemitem>).</para>
<para>L'un des objectifs de la gestion en sous-r<>seaux est de permettre <20>
tous les ordinateurs du sous-r<>seau de savoir avec quels autres
ordinateurs ils peuvent communiquer directement. Pour communiquer avec des
syst<73>mes en dehors du sous-r<>seau auquel ils appartiennent, les
ordinateurs doivent envoyer leurs paquets par l'interm<72>diaire d'une
passerelle (gateway).</para>
<para><inlinegraphic fileref="images/BD21298_.gif" format="GIF" /></para>
<para>Vos ordinateurs locaux (computer 1 et computer 2 dans le diagramme)
doivent <20>tre configur<75>s avec leur passerelle par d<>faut (default gateway)
pointant sur l'adresse <acronym>IP</acronym> de l'interface interne du
firewall.</para>
<para>Cette br<62>ve pr<70>sentation ne fait qu'effleurer la question des
sous-r<>seaux et du routage. Si vous voulez en apprendre plus sur
l'adressage <acronym>IP</acronym> et le routage, je recommande <quote>IP
Fundamentals: What Everyone Needs to Know about Addressing &amp;
Routing</quote>, Thomas A. Maufer, Prentice-Hall, 1999, ISBN 0-13-975483-0
(<ulink
url="http://www.phptr.com/browse/product.asp?product_id={58D4F6D4-54C5-48BA-8EDD-86EBD7A42AF6}">link</ulink>).</para>
<para>Le reste de ce guide pr<70>juge que vous avez configur<75> votre r<>seau
comme montr<74> ci-dessous :<mediaobject>
<imageobject>
<imagedata align="center" fileref="images/basics1.png" format="PNG" />
</imageobject>
</mediaobject> La passerelle par d<>faut pour les ordinateurs Computer 1
et Computer 2 sera <systemitem
class="ipaddress">10.10.10.254</systemitem>. <warning>
<para>Votre <acronym><acronym>FAI</acronym></acronym> (fournisseur
d'acc<63>s internet) pourrait vous allouer une adresse de la <emphasis
role="bold">RFC 1918</emphasis> pour votre interface externe. Si cette
adresse est le sous-r<>seau <systemitem
class="ipaddress">10.10.10.0/24</systemitem> alors <emphasis
role="bold">vous aurez besoin d'un sous-r<>seau RFC 1918 DIFF<46>RENT pour
votre r<>seau local</emphasis>.</para>
</warning></para>
</section>
<section>
<title>IP Masquerading (SNAT)</title>
<para>Les adresses r<>serv<72>es par la RFC 1918 sont parfois d<>sign<67>es comme
non-routables car les routeurs centraux d'internet (backbone) ne font pas
suivre les paquets qui ont une adresse de destination appartenant <20> la
RFC-1918. Lorsqu'un de vos syst<73>mes en local (supposons Computer 1) envoie
une demande de connexion <20> un serveur internet, le firewall doit effectuer
une traduction d'adresse r<>seau ou <emphasis>Network Address Translation
(</emphasis><acronym><acronym>NAT</acronym></acronym>). Le firewall
r<><72>crit l'adresse source dans le paquet et la remplace par l'adresse de
l'interface externe du firewall; en d'autres termes, le firewall fait
croire que c'est lui m<>me qui initie la connexion. Ceci est n<>cessaire
afin que l'h<>te de destination soit capable de renvoyer les paquets au
firewall (souvenez vous que les paquets qui ont pour adresse de
destination une adresse r<>serv<72>e par la RFC 1918 ne peuvent pas <20>tre
rout<75>s <20> travers internet, donc l'h<>te internet ne peut adresser sa
r<>ponse <20> l'ordinateur 1). Lorsque le firewall re<72>oit le paquet de
r<>ponse, il r<><72>crit l'adresse de destination <20> <systemitem
class="ipaddress">10.10.10.1</systemitem> et fait passer le paquet vers
l'ordinateur Computer 1.</para>
<para>Sur les syst<73>mes Linux, ce proc<6F>d<EFBFBD> est souvent appel<65> <emphasis>IP
Masquerading</emphasis> mais vous verrez aussi le terme de traduction
d'adresses source ou <emphasis>Source Network Address
Translation</emphasis> (<acronym>SNAT</acronym>). Shorewall suit la
convention utilis<69>e avec Netfilter:<itemizedlist>
<listitem>
<para><emphasis>Masquerade</emphasis> d<>signe le cas ou vous laissez
votre firewall d<>tecter automatiquement l'adresse de votre interface
externe.</para>
</listitem>
<listitem>
<para><emphasis><acronym>SNAT</acronym></emphasis> d<>signe le cas o<>
vous sp<73>cifiez explicitement l'adresse source des paquets sortant de
votre r<>seau local.</para>
</listitem>
</itemizedlist>Sous Shorewall, autant le
<emphasis>Masquerading</emphasis> que la
<emphasis><acronym>SNAT</acronym></emphasis> sont configur<75>s avec des
entr<74>es dans le fichier <filename>/etc/shorewall/masq</filename>. Vous
utiliserez normalement le Masquerading si votre adresse
<acronym>IP</acronym> externe est dynamique, et la <acronym>SNAT</acronym>
si votre adresse <acronym>IP</acronym> externe est statique.</para>
<para><inlinegraphic fileref="images/BD21298_.gif" format="GIF" /></para>
<para>Si l'interface externe de votre firewall est <filename
class="devicefile">eth0</filename>, vous n'avez pas besoin de modifier le
fichier fourni avec l'exemple. Dans le cas contraire, <20>ditez
<filename>/etc/shorewall/masq</filename> et changez la premi<6D>re colonne
par le nom de votre interface externe, et la seconde colonne par le nom de
votre interface interne.</para>
<para><inlinegraphic fileref="images/BD21298_.gif" format="GIF" /></para>
<para>Si votre adresse externe <acronym>IP</acronym> est statique, vous
pouvez la mettre dans la troisi<73>me colonne dans <filename
class="directory">/etc/shorewall/</filename><filename>masq</filename> si
vous le d<>sirez. De toutes fa<66>ons votre firewall fonctionnera bien si vous
laissez cette colonne vide. Le fait de mettre votre adresse
<acronym>IP</acronym> statique dans la troisi<73>me colonne permet un
traitement des paquets sortants un peu plus efficace.</para>
<para><inlinegraphic fileref="images/BD21298_.gif" format="GIF" /></para>
<para>Si vous utilisez un paquetage Debian, v<>rifiez dans votre fichier de
configuration <filename>shorewall.conf</filename> que la valeur suivante
est convenablement param<61>tr<74>e, sinon faites les changements
n<>cessaires:<itemizedlist spacing="compact">
<listitem>
<para><varname>IP_FORWARDING=On</varname></para>
</listitem>
</itemizedlist></para>
</section>
<section>
<title>Transfert de ports (DNAT)</title>
<para>Un de vos objectifs est peut-<2D>tre de faire tourner un ou plusieurs
serveurs sur nos ordinateurs locaux. Comme ces ordinateurs ont une adresse
RFC-1918, il n' est pas possible pour les clients sur internet de s'y
connecter directement. Il faudra plut<75>t <20> que ces clients adressent leurs
demandes de connexion au firewall qui r<><72>crira l'adresse de votre serveur
comme adresse de destination, puis lui fera passer le paquet. Lorsque
votre serveur retournera sa r<>ponse, le firewall appliquera
automatiquement une r<>gle <acronym><acronym>SNAT</acronym></acronym> pour
r<><72>crire l'adresse source dans la r<>ponse.</para>
<para>Ce proc<6F>d<EFBFBD> est appel<65> transfert de port (<emphasis>Port
Forwarding)</emphasis> ou traduction d'adresses r<>seau destination ou
<emphasis>Destination Network Address Translation</emphasis>
(<acronym><acronym>DNAT</acronym></acronym>). Vous configurez le transfert
de port en utilisant des r<>gles <acronym><acronym>DNAT</acronym></acronym>
dans le fichier <filename>/etc/shorewall/rules</filename>.</para>
<para>La forme g<>n<EFBFBD>rale d'une simple r<>gle de transfert de port dans
<filename>/etc/shorewall/rules</filename> est: <programlisting>#ACTION SOURCE DEST PROTO DEST PORT(S)
DNAT net loc:<emphasis>&lt;server local ip address&gt;</emphasis>[:<emphasis>&lt;server port&gt;</emphasis>] <emphasis>&lt;protocol&gt;</emphasis> <emphasis>&lt;port&gt;</emphasis></programlisting><important>
<para>Assurez-vous d'ajouter vos r<>gles apr<70>s la ligne contenant
<emphasis role="bold">SECTION NEW.</emphasis></para>
</important>Shorewall poss<73>de des <ulink
url="Macros.html">macros</ulink> pour de nombreuses applications. Regardez
les fichiers <filename>/usr/share/shorewall/macro.*</filename> ou bien la
commande <command>shorewall show macros</command> si vous utilisez une
version 3.0.3 ou ult<6C>rieure de Shorewall pour avoir une liste des macros
comprises dans votre version de Shorewall. Les macros simplifient la
cr<63>ation de r<>gles <acronym>DNAT</acronym> en fournissant directement le
protocole et le(s) port(s) pour un service standard comme on peut le voir
dans les exemples suivants:<example label="1">
<title>Serveur Web</title>
<para>Si vous voulez faire tourner un serveur Web sur l'ordinateur
Computer 2 et que vous voulez faire passer les requ<71>tes
<acronym><acronym>TCP</acronym></acronym> sur le port 80 <20> ce syst<73>me
:</para>
<programlisting>#ACTION SOURCE DEST PROTO DEST PORT(S)
Web/DNAT net loc:10.10.10.2</programlisting>
</example> <example label="2">
<title>Serveur FTP</title>
<para>Si vous faites tourner un serveur <acronym>FTP</acronym> sur
l'ordinateur Computer 1 et que vous voulez re-diriger les requ<71>tes
<acronym>TCP</acronym> entrantes sur le port 21 vers ce syst<73>me:
<programlisting>#ACTION SOURCE DEST PROTO DEST PORT(S)
FTP/DNAT net loc:10.10.10.1 </programlisting>Pour
<acronym><acronym>FTP</acronym></acronym>, vous aurez aussi besoin
d'avoir le support du suivi de connexion et du <acronym>NAT</acronym>
pour <acronym><acronym>FTP </acronym></acronym>dans votre noyau
(kernel). Pour les noyaux fournis dans une distribution, cela veut
dire que les modules <filename
class="libraryfile">ip_conntrack_ftp</filename> et <filename
class="libraryfile">ip_nat_ftp</filename> doivent <20>tre disponibles.
Shorewall chargera automatiquement ces modules si ils sont disponibles
<20> leur emplacement habituel <filename
class="directory">/lib/modules/&lt;kernel
version&gt;/kernel/net/ipv4/netfilter</filename>.</para>
</example> Deux points importants sont <20> garder en m<>moire
:<itemizedlist>
<listitem>
<para>Vous devez tester les r<>gles pr<70>c<EFBFBD>dentes depuis un client <20>
l'ext<78>rieur de votre r<>seau local (c.a.d., ne pas tester depuis un
navigateur tournant sur l'ordinateur Computer 1 ou Computer 2 ni sur
le firewall). Si vous voulez avoir la possibilit<69> d'acc<63>der <20> votre
serveur web ou <acronym>FTP</acronym> depuis l'int<6E>rieur de votre
firewall en utilisant l'adresse de l'interface externe
<acronym>IP</acronym>, consultez <ulink
url="FAQ_fr.html#faq2">Shorewall FAQ #2</ulink>.</para>
</listitem>
<listitem>
<para>Quelques Fournisseurs d'Acc<63>s Internet
(<acronym>FAI</acronym>) bloquent les requ<71>tes de connexion
entrantes sur le port 80. Si vous avez des probl<62>mes pour vous
connecter <20> votre serveur web, essayez la r<>gle suivante et
connectez vous sur le port 5000 (c.a.d., connectez vous <20>
<literal>http://w.x.y.z:5000 ou w.x.y.z</literal> est votre IP
externe).</para>
<programlisting>#ACTION SOURCE DEST PROTO DEST PORT(S)
DNAT net loc:10.10.10.2:80 tcp 5000</programlisting>
</listitem>
</itemizedlist> <inlinegraphic fileref="images/BD21298_.gif"
format="GIF" /></para>
<para>Maintenant, modifiez <filename>/etc/shorewall/rules</filename> pour
ajouter les r<>gles <acronym>DNAT</acronym> dont vous avez besoin.</para>
<important>
<para>Quand vous testez des r<>gles <acronym>DNAT</acronym> telles que
celles pr<70>sent<6E>es plus haut, <emphasis role="bold">vous devez les tester
depuis un client A L'EXT<58>RIEUR DE VOTRE FIREWALL</emphasis> (depuis la
zone <quote>net</quote>). Vous ne pouvez pas tester ces r<>gles de
l'int<6E>rieur !</para>
<para>Pour des astuces en cas de probl<62>me avec la
<acronym>DNAT</acronym>, <ulink url="FAQ_fr.html#faq1a">allez lire les
FAQ 1a et 1b</ulink>.</para>
</important>
</section>
<section>
<title>Service de Noms de Domaines (DNS)</title>
<para>Normalement, quand vous vous connectez <20> votre fournisseur d'acc<63>s
(<acronym>FAI</acronym>), en m<>me temps que vous obtenez votre adresse IP,
votre <quote>resolver</quote> pour le Service des Noms de Domaines ou
<emphasis>Domain Name Service</emphasis>
(<acronym><acronym>DNS</acronym></acronym>) pour le firewall est configur<75>
automatiquement (c.a.d., le fichier <filename>/etc/resolv.conf</filename>
est mis <20> jour). Il arrive que votre fournisseur d'acc<63>s vous donne une
paire d'adresse <acronym><acronym>IP</acronym></acronym> pour les serveurs
<acronym><acronym>DNS</acronym></acronym> afin que vous configuriez
manuellement vos serveurs de noms primaire et secondaire. Quelle que soit
la mani<6E>re dont le <acronym>DNS</acronym> est configur<75> sur votre
firewall, il est de votre responsabilit<69> de configurer le
<quote>resolver</quote> sur chacun de vos syst<73>mes internes. Vous pouvez
proc<6F>der d'une de ces deux fa<66>ons :<itemizedlist spacing="compact">
<listitem>
<para>Vous pouvez configurer votre syst<73>me interne pour utiliser les
serveurs de noms de votre fournisseur d'acc<63>s. Si votre fournisseur
vous donne les adresses de ses serveurs ou si ces adresses sont
disponibles sur son site web, vous pouvez les utiliser pour
configurer vos syst<73>mes internes. Si cette information n' est pas
disponible, regardez dans <filename>/etc/resolv.conf</filename> sur
votre firewall -- les noms des serveurs sont donn<6E>s dans
l'enregistrement "<command>nameserver</command>" de ce
fichier.</para>
</listitem>
<listitem>
<para><anchor id="cachingdns" />Vous pouvez configurer un cache DNS
(<emphasis>Caching Name Server)</emphasis> sur votre firewall.
<trademark>Red Hat</trademark> fournit un
<acronym><acronym>RPM</acronym></acronym> pour serveur cache DNS (ce
<acronym>RPM</acronym> <20> aussi besoin aussi du paquetage<acronym>
RPM</acronym> <command>bind</command>) et pour les utilisateurs de
Bering, il y a le paquetage <command>dnscache.lrp</command>. Si vous
adoptez cette approche, vous configurez vos syst<73>mes internes pour
utiliser le firewall lui m<>me comme <20>tant le seul serveur de noms
primaire. Vous utilisez l'adresse <acronym>IP</acronym> interne du
firewall (<systemitem class="ipaddress">10.10.10.254</systemitem>
dans l'exemple pr<70>c<EFBFBD>dent) pour adresse du serveur de nom. Pour
permettre <20> vos syst<73>mes locaux d'acc<63>der <20> votre serveur cache DNS,
vous devez ouvrir le port 53 (<28> la fois <acronym>UDP</acronym> and
<acronym>TCP</acronym>) depuis le r<>seau local vers le firewall;
vous ferez ceci en ajoutant les r<>gles suivantes dans <filename
class="directory">/etc/shorewall/</filename><filename>rules</filename>.
<programlisting>#ACTION SOURCE DEST PROTO DEST PORT(S)
DNS/ACCEPT loc $FW</programlisting></para>
</listitem>
</itemizedlist></para>
</section>
<section>
<title>Autres Connexions</title>
<para>Les fichiers exemples inclus dans l'archive pour le firewall <20> deux
interfaces (two-interface) contiennent les r<>gles suivantes
:<programlisting>#ACTION SOURCE DEST PROTO DEST PORT(S)
DNS/ACCEPT $FW net</programlisting>Ces r<>gles autorisent l'acc<63>s
<acronym>DNS</acronym> <20> partir de votre firewall et peuvent <20>tre enlev<65>es
si vous avez d<>-comment<6E> la ligne dans <filename
class="directory">/etc/shorewall/</filename><filename>policy</filename>
autorisant toutes les connexions depuis le firewall vers internet.</para>
<para>Dans la r<>gle ci-dessus,
<quote><command>DNS/ACCEPT</command></quote> est un exemple
d'<emphasis>invocation d'une macro</emphasis>. Shorewall offre un certain
nombre de macros pr<70>-d<>finies (voir
<filename>/usr/share/shorewall/macro.*</filename>). Vous pouvez <20>galement
<ulink url="Macros.html">ajouter vos propres macros</ulink>.</para>
<para>Vous n'<27>tes pas oblig<69>s d'utiliser des macros. Vous pouvez aussi
ajouter des r<>gles dans le fichier
<filename>/etc/shorewall/rules</filename>. Shorewall d<>marrera l<>g<EFBFBD>rement
plus rapidement si vous codez directement vos r<>gles que si vous utilisez
les macros. La r<>gle vue ci-dessus aurait <20>galement pu <20>tre cod<6F>e comme
cela:</para>
<programlisting>#ACTION SOURCE DEST PROTO DEST PORT(S)
ACCEPT $FW net udp 53
ACCEPT $FW net tcp 53</programlisting>
<para>Au cas ou Shorewall n'inclue pas de macro pr<70>-d<>finie qui vous
convienne, vous pouvez d<>finir une macro vous-m<>me ou bien coder
directement les r<>gles appropri<72>es.</para>
<para>L'exemple inclue aussi la r<>gle suivante: <programlisting>#ACTION SOURCE DEST PROTO DEST PORT(S)
SSH/ACCEPT loc $FW</programlisting>Cette r<>gle autorise un serveur
<acronym>SSH</acronym> sur votre firewall et la connexion <20> celui-ci
depuis votre r<>seau local.</para>
<para>Si vous souhaitez autoriser d'autre connexions de votre firewall
vers d'autres syst<73>mes, la syntaxe g<>n<EFBFBD>rale d'une macro est:
<programlisting>#ACTION SOURCE DEST PROTO DEST PORT(S)
&lt;macro&gt;/ACCEPT $FW <emphasis>&lt;destination zone&gt;</emphasis></programlisting>La
syntaxe g<>n<EFBFBD>rale lorsqu'on utilise pas de macro est:<programlisting>#ACTION SOURCE DEST PROTO DEST PORT(S)
ACCEPT $FW <emphasis>&lt;destination zone&gt; &lt;protocol&gt; &lt;port&gt;</emphasis></programlisting><example>
<title>Serveur Web sur le Firewall</title>
<para>Si vous voulez ouvrir un serveur web sur votre firewall et que
vous voulez le rendre accessible depuis le r<>seau local et depuis
l'ext<78>rieur: <programlisting>#ACTION SOURCE DEST PROTO DEST PORT(S)
Web/ACCEPT net $FW
Web/ACCEPT loc $FW</programlisting>Ces deux r<>gles devraient <20>videmment
s'ajouter <20> celles list<73>es avant dans <quote><link
linkend="cachingdns">Vous pouvez configurer un cache DNS sur votre
firewall</link></quote>.</para>
</example>Si vous ne savez pas quel port(s) et protocole(s) une
application particuli<6C>re utilise, vous pouvez regarder <ulink
url="ports.htm">ici</ulink>.<important>
<para>Je ne recommande pas d'autoriser
<command><command>telnet</command></command> vers/de internet parce
qu'il utilise du texte en clair (m<>me pour le login !). Si vous voulez
un acc<63>s shell <20> votre firewall, utilisez
<acronym><acronym>SSH</acronym></acronym>:<programlisting>#ACTION SOURCE DEST PROTO DEST PORT(S)
SSH/ACCEPT net $FW</programlisting></para>
</important> <inlinegraphic fileref="images/leaflogo.gif"
format="GIF" />Les utilisateurs de Bering pourront ajouter les deux r<>gles
suivantes pour rester compatible avec la configuration du firewall de
Jacques (Jacques's Shorewall configuration).<programlisting>#ACTION SOURCE DEST PROTO DEST PORT(S)
ACCEPT loc $FW udp 53 #Allow DNS Cache to work
ACCEPT loc $FW tcp 80 #Allow Weblet to work</programlisting>
<inlinegraphic fileref="images/BD21298_.gif" format="GIF" /></para>
<para>Maintenant, <20>ditez votre fichier de configuration <filename
class="directory">/etc/shorewall/</filename><filename>rules</filename>
pour ajouter, modifier ou supprimer d'autres connexions suivant vos
besoins.</para>
</section>
<section>
<title>Quelques Points <20> Garder en M<>moire</title>
<itemizedlist>
<listitem>
<para><emphasis role="bold">Vous ne pouvez pas tester votre firewall
depuis l'int<6E>rieur de votre r<>seau</emphasis>. Envoyer des requ<71>tes <20>
l'adresse IP externe de votre firewall ne signifie pas qu'elle seront
associ<63>es <20> votre interface externe ou <20> la zone <quote>net</quote>.
Tout trafic g<>n<EFBFBD>r<EFBFBD> par le r<>seau local sera associ<63> <20> l'interface
locale et sera trait<69> comme du trafic du r<>seau local vers le firewall
(loc-&gt;fw).</para>
</listitem>
<listitem>
<para><emphasis role="bold">Les adresses IP sont des propri<72>t<EFBFBD>s des
syst<73>mes, pas des interfaces</emphasis>. C'est une erreur de croire
que votre firewall est capable de faire suivre
(<emphasis>forward</emphasis>) des paquets simplement parce que vous
pouvez faire un <command>ping</command> sur l'adresse IP de toutes les
interfaces du firewall depuis le r<>seau local. La seule conclusion que
vous puissiez tirer dans ce cas est que le lien entre le r<>seau local
et le firewall fonctionne et que vous avez probablement la bonne
adresse de passerelle par d<>faut sur votre syst<73>me.</para>
</listitem>
<listitem>
<para><emphasis role="bold">Toutes les adresses IP configur<75>es sur le
firewall sont dans la zone $FW (fw)</emphasis>. Si 192.168.1.254 est
l'adresse IP de votre interface interne, alors vous pouvez <20>crire
<quote><emphasis role="bold">$FW:192.168.1.254</emphasis></quote> dans
une r<>gle mais vous ne devez pas <20>crire <quote><emphasis
role="bold">loc:192.168.1.254</emphasis></quote>. C'est aussi une
absurdit<69> d'ajouter 192.168.1.254 <20> la zone <emphasis
role="bold">loc</emphasis> en utilisant une entr<74>e dans
<filename>/etc/shorewall/hosts</filename>.</para>
</listitem>
<listitem>
<para><emphasis role="bold">Les paquets de retour (reply) ne suivent
PAS automatiquement le chemin inverse de la requ<71>te
d'origine</emphasis>. Tous les paquets sont rout<75>s en se r<>f<EFBFBD>rant <20> la
table de routage respective de chaque h<>te <20> chaque <20>tape du trajet.
Ce probl<62>me se produit en g<>n<EFBFBD>ral lorsque on installe un firewall
Shorewall en parall<6C>le <20> une passerelle existante et qu'on essaye
d'utiliser des r<>gles <acronym>DNAT</acronym> dans Shorewall sans
changer la passerelle par d<>faut sur les syst<73>mes recevant les
requ<71>tes transf<73>r<EFBFBD>es (forwarded). Les requ<71>tes passent dans le
firewall Shorewall o<> l'adresse de destination IP est r<><72>crite, mais
la r<>ponse revient par l'ancienne passerelle qui, elle, ne modifiera
pas le paquet.</para>
</listitem>
<listitem>
<para><emphasis role="bold">Shorewall lui-m<>me n'a aucune notion du
dedans et du dehors</emphasis>. Ces concepts d<>pendent de la fa<66>on
dont Shorewall est configur<75>.</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>D<EFBFBD>marrer et Arr<72>ter Votre Firewall</title>
<para><inlinegraphic fileref="images/BD21298_.gif" format="GIF" /></para>
<para>La <ulink url="Install_fr.html">proc<EFBFBD>dure d'installation</ulink>
configure votre syst<73>me pour lancer Shorewall d<>s le boot du syst<73>me, mais
le lancement est d<>sactiv<69>, de fa<66>on <20> ce que votre syst<73>me ne tente pas
de lancer Shorewall avant que la configuration ne soit termin<69>e. Une fois
que vous en avez fini avec la configuration du firewall, vous devez <20>diter
/etc/shorewall/shorewall.conf et y mettre STARTUP_ENABLED=Yes.<important>
<para>Les utilisateurs des paquetages .deb doivent <20>diter <filename
class="directory">/etc/default/</filename><filename>shorewall</filename>
et mettre <varname>startup=1</varname>.</para>
</important></para>
<para>Le firewall est activ<69> en utilisant la commande
<quote><command>shorewall start</command></quote> et arr<72>t<EFBFBD> avec la
commande <quote><command>shorewall stop</command></quote>. Lorsque le
firewall est arr<72>t<EFBFBD>, le routage est autoris<69> sur les h<>tes qui poss<73>dent
une entr<74>e dans <filename class="directory"><ulink
url="Documentation.htm#Routestopped">/etc/shorewall/routestopped</ulink></filename>.
Un firewall qui tourne peut <20>tre relanc<6E> en utilisant la commande
<quote><command>shorewall restart</command></quote>. Si vous voulez
enlever toute trace de Shorewall sur votre configuration de Netfilter,
utilisez <quote><emphasis role="bold">shorewall
clear</emphasis></quote></para>
<para><inlinegraphic fileref="images/BD21298_.gif" format="GIF" /></para>
<para>Les fichier de l'exemple Firewall <20> Deux Interfaces (two-interface)
supposent que vous voulez autoriser le routage depuis ou vers <filename
class="devicefile">eth1</filename> (le r<>seau local) lorsque Shorewall est
arr<72>t<EFBFBD>. Si votre r<>seau local n' est pas connect<63> <20> <filename
class="devicefile">eth1</filename> ou que vous voulez permettre l'acc<63>s
depuis ou vers d'autres h<>tes, modifiez <filename
class="directory">/etc/shorewall/</filename><filename><ulink
url="Documentation.htm#Routestopped">routestopped</ulink></filename> en
cons<6E>quence. <warning>
<para>Si vous <20>tes connect<63> <20> votre firewall depuis internet,
n'essayez pas d'ex<65>cuter une commande <quote><command>shorewall
stop</command></quote> tant que vous n'avez pas ajout<75> une entr<74>e dans
<filename><filename
class="directory">/etc/shorewall/</filename><filename>routestopped</filename></filename>
pour l'adresse IP <20> partir de laquelle vous <20>tes connect<63> . De la m<>me
mani<6E>re, je vous d<>conseille d'utiliser <quote><command>shorewall
restart</command></quote>; il est plus int<6E>ressant de cr<63>er <ulink
url="configuration_file_basics.htm#Configs">une configuration
alternative</ulink> et de la tester en utilisant la commande
<quote><ulink url="starting_and_stopping_shorewall.htm">shorewall
try</ulink></quote></para>
</warning></para>
</section>
<section>
<title>Si cela ne marche pas</title>
<itemizedlist>
<listitem>
<para>V<EFBFBD>rifiez <20> nouveau chacun des points rep<65>r<EFBFBD>s par un fl<66>che
rouge.</para>
</listitem>
<listitem>
<para>V<EFBFBD>rifiez vos <ulink
url="shorewall_logging.html">journaux</ulink>.</para>
</listitem>
<listitem>
<para>V<EFBFBD>rifiez le <ulink url="troubleshoot.htm">Troubleshooting
Guide</ulink>.</para>
</listitem>
<listitem>
<para>V<EFBFBD>rifiez la <ulink url="FAQ_fr.html">FAQ</ulink>.</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>Autres Lectures Recommand<6E>es</title>
<para>Je vous recommande vivement de lire la <ulink
url="configuration_file_basics.htm">page des Fonctionnalit<69>s G<>n<EFBFBD>rales des
Fichiers de Configuration</ulink> -- elle contient des astuces sur des
possibilit<69>s de Shorewall qui peuvent rendre plus ais<69>e l'administration
de votre firewall Shorewall.</para>
</section>
<section>
<title>Ajouter un Segment Sans-fil <20> votre Firewall <20> deux
interfaces</title>
<para>Maintenant que vous avez une configuration <20> deux interfaces qui
marche, l'<27>tape suivante logique est d'ajouter un r<>seau sans-fil. La
premi<6D>re chose <20> faire est d'ajouter une carte <20> votre firewall, soit une
carte sans-fil soit une carte ethernet reli<6C>e <20> un point d'acc<63>s
sans-fil.<caution>
<para>Quant vous ajoutez une carte r<>seau <20> un machine, il se peut
qu'elle ne soit pas d<>tect<63>e comme celle suivant la plus haute
interface. Par exemple, si vous avez deux cartes sur votre syst<73>me
(<filename class="devicefile">eth0</filename> and <filename
class="devicefile">eth1</filename>) et que vous en ajoutez une
troisi<73>me qui utilise le m<>me driver qu'une des deux autres, cette
troisi<73>me carte ne sera pas obligatoirement d<>tect<63>e en tant que
<filename class="devicefile">eth2</filename>. Elle peut tr<74>s bien <20>tre
d<>tect<63>e en tant que <filename class="devicefile">eth0</filename> ou
<filename class="devicefile">eth1</filename>!</para>
<para>Vous pouvez soit faire avec, soit intervertir les cartes dans
les slots jusqu'<27> obtenir la valeur <filename class="devicefile">eth2
</filename>pour la nouvelle carte.</para>
</caution></para>
<para>Votre nouveau r<>seau ressemblera <20> la figure ci-dessous.<graphic
fileref="images/basics2.png" /></para>
<para><inlinegraphic fileref="images/BD21298_.gif" format="GIF" /></para>
<para>La premi<6D>re chose <20> remarquer est que les ordinateurs sur votre
r<>seau sans-fil seront sur un sous-r<>seau diff<66>rent de celui de votre
r<>seau local c<>bl<62> LAN. Dans l'exemple, nous avons choisi de lui attribuer
le r<>seau 10.10.11.0/24. Les ordinateurs Computer 3 et Computer 4 seront
configur<75>s avec une passerelle par d<>faut dont l'adresse IP sera
10.10.11.254.</para>
<para>Ensuite, nous avons choisi d'inclure le r<>seau sans-fil <20> la zone
local. Puisque Shorewall autorise le trafic intra-zone par d<>faut, le
trafic pourra circuler librement entre le r<>seau local c<>bl<62> et le r<>seau
sans-fil.</para>
<para><inlinegraphic fileref="images/BD21298_.gif" format="GIF" /></para>
<para>Il n'y a que deux changements <20> effectuer <20> la configuration de
Shorewall:</para>
<itemizedlist>
<listitem>
<para>Une entr<74>e doit <20>tre ajout<75> au fichier d'interfaces
<filename>/etc/shorewall/interfaces</filename> pour l'interface du
r<>seau sans-fil. Si l'interface du r<>seau sans-fil est <filename
class="devicefile">wlan0</filename>, l'entr<74>e correspondante devrait
ressembler <20>:</para>
<programlisting>#ZONE INTERFACE BROADCAST OPTIONS
loc wlan0 detect maclist</programlisting>
<para>Comme montr<74> dans l'entr<74>e ci-dessus, je recommande d'utiliser
l'<ulink url="MAC_Validation.html">option maclist</ulink> pour le
segment sans-fil. En ajoutant les entr<74>es pour les ordinateurs
Computer 3 et Computer 4 dans le fichier
<filename>/etc/shorewall/maclist</filename>, vous contribuez <20> vous
assurer que vos voisins n'utiliseront pas votre connexion internet.
Commencez sans cette option. Lorsque tout fonctionne, ajoutez l'option
et configurez votre fichier
<filename>/etc/shorewall/maclist</filename>.</para>
</listitem>
<listitem>
<para>Vous devez ajouter une entr<74>e au fichier
<filename>/etc/shorewall/masq</filename> afin de permettre le trafic
de votre r<>seau sans-fil vers internet. Si votre interface internet
est <filename class="devicefile">eth0</filename> et votre interface
sans-fil est <filename class="devicefile">wlan0</filename>, l'entr<74>e
sera:</para>
<programlisting>#INTERFACE SUBNET ADDRESS
eth0 wlan0</programlisting>
</listitem>
</itemizedlist>
<para>Autre chose. Pour que le r<>seau <trademark>Microsoft</trademark>
fonctionne entre r<>seau filaire et sans-fil, vous avez besoin d'un serveur
WINS ou bien d'un PDC. Personnellement, j'utilise Samba configur<75> en
serveur WINS sur mon firewall. Utiliser un serveur WINS sur le firewall
n<>cessite de configurer les r<>gles n<>cessaires list<73>es dans le <ulink
url="samba.htm">document Shorewall/Samba</ulink>.</para>
</section>
</article>