mirror of
https://gitlab.com/shorewall/code.git
synced 2024-12-01 03:53:40 +01:00
86bbae3111
git-svn-id: https://shorewall.svn.sourceforge.net/svnroot/shorewall/trunk@1463 fbd18981-670d-0410-9b5c-8dc0c1a9a2bb
828 lines
50 KiB
XML
828 lines
50 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!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">
|
|
<articleinfo>
|
|
<title>Firewall standard à deux interfaces</title>
|
|
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>Tom</firstname>
|
|
|
|
<surname>Eastep</surname>
|
|
</author>
|
|
|
|
<author>
|
|
<firstname>Patrice</firstname>
|
|
|
|
<surname>Vetsel</surname>
|
|
</author>
|
|
|
|
<author>
|
|
<firstname>Fabien</firstname>
|
|
|
|
<surname>Demassieux</surname>
|
|
</author>
|
|
</authorgroup>
|
|
|
|
<pubdate>2004-07-10</pubdate>
|
|
|
|
<copyright>
|
|
<year>2002</year>
|
|
|
|
<year>2003</year>
|
|
|
|
<year>2004</year>
|
|
|
|
<holder>Thomas M. Eastep</holder>
|
|
</copyright>
|
|
|
|
<legalnotice>
|
|
<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 été traduit par <ulink url="mailto:vetsel.patrice@wanadoo.fr">VETSEL
|
|
Patrice</ulink> que je remercie. J'en ai assuré la révision pour
|
|
l'adapter à la version 2 de Shorewall. J'espère vous faciliter
|
|
l'accès et la prise en main d'un firewall performant, efficace,
|
|
adaptable et facile d'utilisation. Donc félicitations pour la qualité
|
|
du travail et la disponibilité offerte par Thomas M. Eastep. Si vous
|
|
trouvez des erreurs ou des améliorations à apporter vous pouvez me
|
|
contacter <ulink url="mailto:fd03x@wanadoo.fr">Fabien Demassieux</ulink></para>
|
|
</note>
|
|
|
|
<section>
|
|
<title>Introduction</title>
|
|
|
|
<para>Mettre en place un système Linux en tant que firewall pour un petit
|
|
réseau est une chose assez simple, si vous comprenez les bases et suivez
|
|
la documentation.</para>
|
|
|
|
<para>Ce guide ne prétend pas vous apprendre tous les rouages de
|
|
Shorewall. Il se focalise 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ème Linux utilisé 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, ce n'est pas le guide qui
|
|
vous convient -- regrdez plutôt du coté du <ulink
|
|
url="shorewall_setup_guide_fr.htm">Guide de Configuration Shorewall</ulink>.</para></note></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Une connexion Internet par le biais d'un modem câble, ADSL,
|
|
ISDN, "Frame Relay", RTC ...</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Voici un sché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>
|
|
<tip><title>Shorewall and <trademark>Mandrake</trademark> 9.0+</title><para>Si
|
|
vous utilisez <trademark>Mandrake</trademark> 9.0 ou version postérieure,
|
|
vous pouvez facilement utiliser l'utilitaire <trademark>Mandrake</trademark>
|
|
<quote>Partage de Connexion Internet</quote>. Dans le
|
|
<emphasis><interface>Centre de Contrôle Mandrake</interface></emphasis>,
|
|
selectionner <quote><guimenuitem>Réseau </guimenuitem>&
|
|
<guisubmenu>Internet</guisubmenu></quote> puis <quote><interface>Partage
|
|
de Connexion</interface></quote>.</para><para>Cependant, la configuration
|
|
de Shorewall générée par le <emphasis>Partage de Connexion Internet
|
|
Mandrake</emphasis> est étrange et peut rendre confus l'utilisation de
|
|
la suite de cette documentation (elle paramètre deux zones;
|
|
<varname>loc</varname> and <varname>masq</varname> ou <varname>loc</varname>
|
|
est vide; Cela est en conflit avec la documentation basée sur une unique
|
|
zone <varname>loc</varname>). Nous recommandons qu'une fois configuré
|
|
ce partage, de désinstaller le paquet RPM de Shorewall
|
|
<trademark>Mandrake</trademark> et d'installer celui de la page de
|
|
<ulink url="download.htm">download</ulink> avant de suivre
|
|
l'utilisation de ce Guide.</para></tip><note><para><emphasis
|
|
role="bold">Le problème précédent est résolu à partir de la version 10.0
|
|
et supérieure de Mandrake.</emphasis></para></note> <caution><para>Si vous
|
|
éditez vos fichiers de configuration sur un système
|
|
<trademark>Windows</trademark>, vous devez les sauver comme des fichiers
|
|
<trademark>Unix</trademark> si votre éditeur supporte cette option sinon
|
|
vous devez les convertir avec <command>dos2unix</command> avant
|
|
d'essayer de les utiliser. De la même maniè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é-requis</title>
|
|
|
|
<para>Shorewall a besoin que le package <command>iproute</command>/<command>iproute2</command>
|
|
soit installé (avec la distribution <trademark>RedHat</trademark>, le
|
|
package s'appelle <command>iproute</command>). Vous pouvez vérifier
|
|
si le package est installé par la présence du programme
|
|
<command>ip</command> sur votre firewall. En tant que <systemitem
|
|
class="username">root</systemitem>, vous pouvez utiliser la commande
|
|
<command>which</command> pour cela: <programlisting>[root@gateway root]# <command>which ip</command>
|
|
/sbin/ip
|
|
[root@gateway root]#</programlisting>Je recommande en premier la lecture
|
|
complète du guide afin de se familiariser avec les tenants et
|
|
aboutissants puis de revenir sur les modifications de votre
|
|
configuration adapté à votre système.</para>
|
|
</section>
|
|
|
|
<section>
|
|
<title>Conventions</title>
|
|
|
|
<para>Les points ou les modifications s'imposent sont indiqués par
|
|
<inlinegraphic fileref="images/BD21298_.gif" format="GIF" />.</para>
|
|
|
|
<para>Les notes de configuration qui sont propres à LEAF/Bering sont
|
|
marqués 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 êtes équipé d'un modem <acronym>ADSL</acronym> et
|
|
utilisez <acronym>PPTP</acronym> pour communiquer avec un serveur à
|
|
travers ce modem, vous devez faire le changement <ulink
|
|
url="PPTP.htm#PPTP_ADSL">suivant</ulink> en plus de ceux ci-dessous.
|
|
<acronym>ADSL</acronym> avec <acronym>PPTP</acronym> est commun en Europe,
|
|
ainsi qu'en Australie.</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és dans le
|
|
répertoire /etc/shorewall -- pour de simples paramétrages, vous n'avez
|
|
à faire qu'avec quelques un d'entre eux comme décris dans ce
|
|
guide.<tip><para>Après avoir <ulink url="Install.htm">installé Shorewall</ulink>,
|
|
téléchargez <ulink url="http://www1.shorewall.net/pub/shorewall/Samples/">l'exemple
|
|
two-interface</ulink>, décompressez le (<command>tar <option>-zxvf</option>
|
|
<filename>two-interfaces.tgz</filename></command>) et copiez les fichiers
|
|
dans <filename class="directory">/etc/shorewall</filename> <emphasis
|
|
role="bold">(ces fichiers remplaceront les initiaux)</emphasis>.</para></tip>Parallèlement
|
|
à la présentation, je vous suggère de jeter un oeil à ceux physiquement
|
|
présents sur votre système -- chacun des fichiers contient des
|
|
instructions de configuration détaillées et des entrées par défaut.</para>
|
|
|
|
<para>Shorewall voit le réseau où il fonctionne, comme un ensemble de
|
|
zones. Dans une configuration avec deux interfaces, les noms des zones
|
|
suivantes sont utilisés:<informaltable frame="all" pgwide="0"><tgroup
|
|
align="left" cols="2"><thead valign="middle"><row valign="middle"><entry
|
|
align="left">Name</entry><entry align="left">Description</entry></row></thead><tbody
|
|
valign="middle"><row valign="middle"><entry align="left"><varname>net</varname></entry><entry
|
|
align="left">The Internet</entry></row><row valign="middle"><entry
|
|
align="left"><varname>loc</varname></entry><entry align="left">Your Local
|
|
Network</entry></row></tbody></tgroup></informaltable>Les zones de
|
|
Shorewall sont définies dans le fichier <ulink
|
|
url="Documentation.htm#Zones"><filename class="directory">/etc/shorewall/</filename><filename>zones</filename></ulink>.</para>
|
|
|
|
<para>Shorewall reconnaît aussi le système de firewall comme sa propre
|
|
zone - par défaut, le firewall est connu comme <emphasis role="bold"><varname>fw</varname></emphasis>.</para>
|
|
|
|
<para>Les règles à propos du trafic à autoriser et à interdire sont
|
|
exprimées en 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 à ces politiques pas défaut dans le fichier
|
|
<ulink url="Documentation.htm#Rules"><filename class="directory">/etc/shorewall/</filename><filename>rules</filename></ulink>.</para></listitem></itemizedlist>Pour
|
|
chaque connexion demandant à entrer dans le firewall, la requête est en
|
|
premier lieu comparée par rapport au fichier <filename class="directory">/etc/shorewall/</filename><filename>rules</filename>.
|
|
Si aucune règle dans ce fichier ne correspond à la demande de connexion
|
|
alors la première politique dans le fichier <filename class="directory">/etc/shorewall/</filename><filename>policy</filename>
|
|
qui y correspond sera appliquée. Si cette politique est
|
|
<varname>REJECT</varname> ou <varname>DROP</varname> la requête est dans
|
|
un premier temps comparée par rapport aux règles contenues dans le fichier
|
|
<filename class="directory">/etc/shorewall/</filename><filename>common</filename>,
|
|
si ce fichier existe; sinon les régles dans le fichier <filename
|
|
class="directory">/etc/shorewall/</filename><filename>common.def</filename>
|
|
sont vérifiées.</para>
|
|
|
|
<para>Le fichier /etc/shorewall/policy 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ée. Si vous voulez que votre firewall puisse avoir un accès complet
|
|
aux serveurs sur Internet, décommentez la ligne.<programlisting>#SOURCE DEST POLICY LOG LEVEL LIMIT:BURST
|
|
fw net ACCEPT</programlisting> Les politiques précédentes
|
|
vont: <itemizedlist><listitem><para>Permettre toutes demandes de connexion
|
|
depuis votre réseau local vers Internet</para></listitem><listitem><para>Drop
|
|
(ignorer) toutes les demandes de connexion depuis l'Internet vers
|
|
votre firewall ou votre réseau local</para></listitem><listitem><para>Accept
|
|
(accepter) facultativement toutes les demandes de connexion de votre
|
|
firewall vers l'Internet (si vous avez décommenté la politique
|
|
additionnelle)</para></listitem><listitem><para>Reject (rejeter) toutes
|
|
les autres requêtes de connexion.</para></listitem></itemizedlist>
|
|
<inlinegraphic fileref="images/BD21298_.gif" format="GIF" /></para>
|
|
|
|
<para>A ce point, éditez votre fichier <filename class="directory">/etc/shorewall/</filename><filename>policy</filename>
|
|
et appliquer 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 a deux interfaces réseau. Lorsque la connexion Internet
|
|
passe par un modem câble ou par un <quote>Routeur</quote><acronym> ADSL
|
|
</acronym>(pas un simple modem), l'<emphasis>Interface Externe</emphasis>
|
|
sera l'adaptateur ethernet qui y est connecté à ce <quote>Modem</quote>
|
|
(e.g., <filename class="devicefile">eth0</filename>) à moins de se que
|
|
vous vous connectiez par <emphasis> Point-to-Point Protocol </emphasis>
|
|
over Ethernet (<acronym>PPPoE</acronym>) ou <emphasis>Point-to-Point
|
|
Tunneling Protocol</emphasis> (<acronym>PPTP</acronym>) dans ce cas
|
|
l'interface externe sera (e.g., <filename class="devicefile">ppp0</filename>).
|
|
Si vous vous connectez par un simple modem (<acronym>RTC</acronym>), votre
|
|
interface externe sera aussi <filename class="devicefile">ppp0</filename>.
|
|
Si vous vous connectez en utilisant l'<acronym>ISDN</acronym>, votre
|
|
interface externe sera <filename class="devicefile">ippp0</filename>.</para>
|
|
|
|
<para><inlinegraphic fileref="images/BD21298_.gif" format="GIF" /></para>
|
|
|
|
<para>Si votre interface vers l'extérieur est <emphasis role="bold">ppp0</emphasis>
|
|
ou <emphasis role="bold">ippp0</emphasis> alors vous mettrez
|
|
<varname>CLAMPMSS=yes</varname> dans le fichier <filename
|
|
class="directory">/etc/shorewall/</filename><filename>shorewall.conf</filename>.</para>
|
|
|
|
<para>Votre <emphasis>Interface Interne</emphasis> (interface vers votre
|
|
réseau local -> LAN) sera un adaptateur Ethernet (<filename
|
|
class="devicefile">eth1</filename> or <filename class="devicefile">eth0</filename>)
|
|
et sera connectée à un hub ou switch (câble droit). Vos autres ordinateurs
|
|
seront connectés à ce même hub/switch (note: Si vous avez un unique
|
|
ordinateur, vous pouvez connecter le firewall directement en utilisant un
|
|
câble croisé). <warning><para>Ne connectez pas l'interface interne et
|
|
externe sur le même hub ou switch, sauf pour tester avec une version
|
|
postérieure à Shorewall 1.4.7. Quand vous utilisez ces versions récentes,
|
|
vous pouvez tester ce type de configuration si vous spécifiez l'option
|
|
arp_filter dans le fichier <filename class="directory">/etc/shorewall/</filename><filename>interfaces</filename>
|
|
pour toutes les interfaces connectées au hub/switch commun. Utiliser une
|
|
telle configuration avec un firewall en production est fortement
|
|
déconseillé.</para></warning> <inlinegraphic fileref="images/BD21298_.gif"
|
|
format="GIF" /></para>
|
|
|
|
<para>Le fichier de configuration d'exemple pour 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érente, vous devrez modifier le fichier<filename
|
|
class="directory"> /etc/shorewall/</filename><filename>interfaces</filename>
|
|
en conséquence. Tant que vous y êtes, vous pourriez parcourir la liste des
|
|
options qui sont spécifiées pour les interfaces. Quelques trucs:<tip><para>Si
|
|
votre interface vers l'exté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 les quotes).</para></tip><tip><para>Si
|
|
votre interface vers l'extérieur est <filename class="devicefile">ppp0</filename>
|
|
or <filename class="devicefile">ippp0</filename> u 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>brctl</command> alors vous devez ajouter l'option
|
|
<varname>routeback</varname> à la liste des options.</para></tip><tip><para>Si
|
|
vous spécifiez <emphasis>norfc1918</emphasis> pour votre interface
|
|
externe, vous pouvez vérifier périodiquement le <ulink url="errata.htm">Shorewall
|
|
Errata</ulink> pour mettre à jour le fichier <filename>/usr/share/shorewall/rfc1918</filename>.
|
|
Sinon, vous pouvez copier le fichier <filename>/usr/share/shorewall/rfc1918</filename>
|
|
vers <filename>/etc/shorewall/rfc1918</filename> et <ulink
|
|
url="myfiles.htm#RFC1918">adapter votre fichier <filename>/etc/shorewall/rfc1918</filename>
|
|
comme je le fais</ulink>.</para></tip></para>
|
|
</section>
|
|
|
|
<section>
|
|
<title>Adresses IP</title>
|
|
|
|
<para>Avant d'aller plus loin, nous devons dire quelques mots au sujet
|
|
des adresses Internet Protocol (<acronym>IP</acronym>). Normalement, votre
|
|
fournisseur Internet <acronym>FAI</acronym> vous assignera une seule
|
|
adresse IP. Cette adresse peut être assignée par le Dynamic Host
|
|
Configuration Protocol (<acronym>DHCP</acronym>) ou lors de
|
|
l'établissement de votre connexion lorsque vous vous connectez (modem
|
|
standard) ou établissez votre connexion <acronym>PPP</acronym>. Dans de
|
|
rares cas , votre provider peut vous assigner une adresse statique
|
|
<acronym>IP</acronym> ; cela signifie que vous devez configurer
|
|
l'interface externe de votre firewall afin d'utiliser cette
|
|
adresse de manière permanente. Votre adresse externe assignée, elle va
|
|
être partagée par tous vos systèmes lors de l'accès à Internet. Vous
|
|
devrez assigner vos propres adresses dans votre réseau local (votre
|
|
interface interne sur le firewall ainsi que les autres ordinateurs). La
|
|
<emphasis role="bold">RFC 1918</emphasis> réserve plusieurs plages
|
|
d'adresses privées <emphasis>Private</emphasis> <acronym>IP</acronym>
|
|
à cet fin: <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> <inlinegraphic
|
|
fileref="images/BD21298_.gif" format="GIF" /></para>
|
|
|
|
<para>Avant de lancer Shorewall, regarder l'adresse IP de votre
|
|
interface externe, et si elle est dans les plages précédentes, vous devez
|
|
enlever l'option 'norfc1918' dans la ligne concernant
|
|
l'interface externe dans le fichier <filename class="directory">/etc/shorewall/</filename><filename>interfaces</filename>.</para>
|
|
|
|
<para>Vous devrez assigner vos adresses depuis le même sous-réseau
|
|
(sub-network-subnet). Pour ce faire, nous pouvons considérer un
|
|
sous-réseau dans une plage d'adresses <varname>x.y.z.0 - x.y.z.255</varname>.
|
|
Chaque sous-réseau aura un masque (Subnet Mask) <systemitem
|
|
class="netmask">255.255.255.0</systemitem>. L'adresse
|
|
<varname>x.y.z.0</varname> est réservée comme l'adresse de sous-réseau
|
|
<emphasis>Subnet Address</emphasis> et <varname>x.y.z.255</varname> est
|
|
réservée en tant qu'adresse de broadcast <emphasis>Subnet Broadcast
|
|
Address</emphasis>. Dans Shorewall, un sous-réseau est décrit en utilisant
|
|
<ulink url="shorewall_setup_guide.htm#Subnets">Classless InterDomain
|
|
Routing (CIDR) notation</ulink> Il consiste en l'adresse du
|
|
sous-réseau suivie par<varname> /24</varname>. Le <quote>24</quote> se
|
|
réfère au nombre consécutif de bits marquant <quote>1</quote> dans la
|
|
partie gauche du masque de sous-réseau. <table><title>Un exemple de
|
|
sous-réseau (sub-network) :</title><tgroup cols="2"><colspec align="left" /><tbody><row><entry>Range:</entry><entry><systemitem
|
|
class="ipaddress">10.10.10.0</systemitem> - <systemitem class="ipaddress">10.10.10.255</systemitem></entry></row><row><entry>Subnet
|
|
Address:</entry><entry><systemitem class="ipaddress">10.10.10.0</systemitem></entry></row><row><entry>Broadcast
|
|
Address:</entry><entry><systemitem class="ipaddress">10.10.10.255</systemitem></entry></row><row><entry>CIDR
|
|
Notation:</entry><entry><systemitem class="ipaddress">10.10.10.0/24</systemitem></entry></row></tbody></tgroup></table>Il
|
|
est de mise d'assigner l'interface interne à la première adresse
|
|
utilisable du sous-réseau (<systemitem class="ipaddress">10.10.10.1</systemitem>
|
|
dans l'exemple précédent) ou la dernière adresse utilisable (<systemitem
|
|
class="ipaddress">10.10.10.254</systemitem>).</para>
|
|
|
|
<para>L'un des buts d'un sous-réseau est de permettre à tous les
|
|
ordinateurs dans le sous-réseau de savoir avec quels autres ordinateurs
|
|
ils peuvent communiquer directement. Pour communiquer avec des systèmes en
|
|
dehors du sous-réseau, les ordinateurs envoient des paquets à travers le
|
|
gateway (routeur).</para>
|
|
|
|
<para><inlinegraphic fileref="images/BD21298_.gif" format="GIF" /></para>
|
|
|
|
<para>Vos ordinateurs en local (ordinateur 1 et ordinateur 2 dans le
|
|
diagramme) doivent être configurés avec leur passerelle par défaut
|
|
(default gateway) pointant sur l'adresse <acronym>IP</acronym> de
|
|
l'interface interne du firewall.</para>
|
|
|
|
<para>La présentation précédente ne fait que d'effleurer la question
|
|
des sous réseaux et du routage. Si vous êtes intéressé pour apprendre plus
|
|
sur l'adressage <acronym>IP</acronym> et le routage, je recommande
|
|
<quote>IP Fundamentals: What Everyone Needs to Know about Addressing &
|
|
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 assumera que vous avez configuré votre réseau
|
|
comme montré ci-dessous :<mediaobject><imageobject><imagedata
|
|
align="center" fileref="images/basics1.png" format="PNG" /></imageobject></mediaobject>
|
|
La passerelle par défaut pour les ordinateurs 1 et 2 devrait être
|
|
<systemitem class="ipaddress">10.10.10.254</systemitem>.
|
|
<warning><para>Votre <acronym>FAI</acronym> (fournisseur d'accés)
|
|
pourrait assigner une adresse <emphasis role="bold">RFC 1918</emphasis> à
|
|
votre interface externe. Si cette adresse est le sous-réseau <systemitem
|
|
class="ipaddress">10.10.10.0/24</systemitem> alors vous aurez besoin
|
|
d'un sous-réseau DIFFERENT RFC 1918 pour votre réseau local.</para></warning></para>
|
|
</section>
|
|
|
|
<section>
|
|
<title>IP Masquerading (SNAT)</title>
|
|
|
|
<para>Les adresses réservées par la RFC 1918 sont parfois désignées comme
|
|
non-routables car les routeurs Internet (backbone) ne font pas circuler
|
|
les paquets qui ont une adresse de destination appartenant à la RFC-1918.
|
|
Lorsqu'un de vos systèmes en local (supposons l'ordinateur1)
|
|
demande une connexion à un serveur par Internet, le firewall doit
|
|
appliquer un <emphasis>Network Address Translation</emphasis> (<acronym>NAT</acronym>).
|
|
Le firewall réécrit l'adresse source dans le paquet, et l'a
|
|
remplacé par l'adresse de l'interface externe du firewall; en
|
|
d'autres mots, 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ée par la RFC 1918 ne pourront pas être routés à travers Internet,
|
|
donc l'hôte Internet ne pourra adresser sa réponse à l'ordinateur
|
|
1). Lorsque le firewall reçoit le paquet de réponse, il remet
|
|
l'adresse de destination à <systemitem class="ipaddress">10.10.10.1</systemitem>
|
|
et fait passer le paquet vers l'ordinateur 1.</para>
|
|
|
|
<para>Sur les systèmes Linux, ce procédé est souvent appelé
|
|
<emphasis>IP Masquerading</emphasis> mais vous verrez aussi le terme de
|
|
<emphasis>Source Network Address Translation</emphasis> (<acronym>SNAT</acronym>).
|
|
Shorewall suit la convention utilisée avec Netfilter:<itemizedlist><listitem><para><emphasis>Masquerade</emphasis>
|
|
désigne le cas ou vous laissez votre firewall détecter automatiquement
|
|
l'adresse de l'interface externe.</para></listitem><listitem><para><emphasis><acronym>SNAT</acronym></emphasis>
|
|
désigne le cas où vous spécifiez explicitement l'adresse source des
|
|
paquets sortant de votre réseau local.</para></listitem></itemizedlist>Sous
|
|
Shorewall, autant le <emphasis>Masquerading</emphasis> et le
|
|
<emphasis><acronym>SNAT</acronym></emphasis> sont configurés avec des
|
|
entrées dans le fichier <filename class="directory">/etc/shorewall/</filename><filename>masq</filename>.
|
|
Vous utiliserez normalement le Masquerading si votre adresse
|
|
<acronym>IP</acronym> externe est dynamique, et <acronym>SNAT</acronym> si
|
|
l'adresse <acronym>IP</acronym> est statique.</para>
|
|
|
|
<para><inlinegraphic fileref="images/BD21298_.gif" format="GIF" /></para>
|
|
|
|
<para>Si votre interface externe du firewall est <filename
|
|
class="devicefile">eth0</filename>, vous n'avez pas besoin de modifier
|
|
le fichier fourni avec l'exemple. Dans le cas contraire, éditez
|
|
<filename class="directory">/etc/shorewall/</filename><filename>masq</filename>
|
|
et changer la premiè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ème colonne dans <filename
|
|
class="directory">/etc/shorewall/</filename><filename>masq</filename> si
|
|
vous le désirez, de toutes façons votre firewall fonctionnera bien si vous
|
|
laissez cette colonne vide. Le fait de mettre votre adresse
|
|
<acronym>IP</acronym> statique dans la troisième colonne permet un
|
|
traitement des paquets sortant un peu plus efficace.</para>
|
|
|
|
<para><inlinegraphic fileref="images/BD21298_.gif" format="GIF" /></para>
|
|
|
|
<para>Si vous utilisez les paquets Debian, vérifiez que votre fichier de
|
|
configuration <filename>shorewall.conf</filename> contient bien les
|
|
valeurs suivantes, si elles n'y sont pas faite les changements
|
|
nécessaires:<itemizedlist spacing="compact"><listitem><para><varname>NAT_ENABLED=Yes</varname>
|
|
(Shorewall versions earlier than 1.4.6)</para></listitem><listitem><para><varname>IP_FORWARDING=On</varname></para></listitem></itemizedlist></para>
|
|
</section>
|
|
|
|
<section>
|
|
<title>Port Forwarding (DNAT)</title>
|
|
|
|
<para>Un de nos buts est de , peut être, faire tourner un ou plusieurs
|
|
serveurs sur nos ordinateurs locaux. Parce que ces ordinateurs on une
|
|
adresse RFC-1918, il n' est pas possible pour les clients sur Internet
|
|
de se connecter directement à eux. Il est nécessaire à ces clients
|
|
d'adresser leurs demandes de connexion au firewall qui réécrit
|
|
l'adresse de destination de votre serveur, et fait passer le paquet à
|
|
celui-ci. Lorsque votre serveur répond, le firewall applique
|
|
automatiquement un <acronym>SNAT</acronym> pour réécrire l'adresse
|
|
source dans la réponse.</para>
|
|
|
|
<para>Ce procédé est appelé <emphasis>Port Forwarding</emphasis> or
|
|
<emphasis>Destination Network Address Translation</emphasis> (<acronym>DNAT</acronym>).
|
|
Vous configurez le port forwarding en utilisant les règles
|
|
<acronym>DNAT</acronym> dans le fichier <filename class="directory">/etc/shorewall/</filename><filename>rules</filename>.</para>
|
|
|
|
<para>La forme générale d'une simple règle de port forwarding dans
|
|
<filename class="directory">/etc/shorewall/</filename><filename>rules</filename>
|
|
est: <programlisting>#ACTION SOURCE DEST PROTO DEST PORT(S)
|
|
DNAT net loc:<emphasis><server local ip address></emphasis>[:<emphasis><server port></emphasis>] <emphasis><protocol></emphasis> <emphasis><port></emphasis></programlisting>
|
|
<example label="1"><title>Web Server</title><para>Vous faites tourner un
|
|
serveur Web sur l'ordinateur 2 et vous voulez faire passer les
|
|
requêtes <acronym>TCP</acronym> sur le port 80 à ce système :
|
|
<programlisting>#ACTION SOURCE DEST PROTO DEST PORT(S)
|
|
DNAT net loc:10.10.10.2 tcp 80</programlisting></para></example>
|
|
<example label="2"><title>FTP Server</title><para>Vous faites tourner un
|
|
serveur <acronym>FTP</acronym>sur l'ordinateur 1 et vous voulez
|
|
rediriger les requêtes <acronym>TCP</acronym> entrantes sur le port 21 à
|
|
ce système: <programlisting>#ACTION SOURCE DEST PROTO DEST PORT(S)
|
|
DNAT net loc:10.10.10.1 tcp 21</programlisting>Concernant
|
|
<acronym>FTP</acronym>, vous aurez aussi besoin d'avoir le support
|
|
<acronym>FTP</acronym> et le <acronym>NAT</acronym> dans votre kernel.
|
|
Pour les fournisseurs de kernels, cela veut dire que les modules <filename
|
|
class="libraryfile">ip_conntrack_ftp</filename> et <filename
|
|
class="libraryfile">ip_nat_ftp</filename> doivent être disponibles.
|
|
Shorewall chargera automatiquement ces modules si ils sont disponibles à
|
|
leur place habituelle <filename class="directory">/lib/modules/<kernel
|
|
version>/kernel/net/ipv4/netfilter</filename>.</para></example> Deux
|
|
points importants à garder en mémoire :<itemizedlist><listitem><para>Vous
|
|
devez tester la règle précédente depuis un client à l'extérieur de
|
|
votre réseau local (c.a.d., ne pas tester depuis un navigateur tournant
|
|
sur l'ordinateur 1 ou 2 ou sur le firewall). Si vous voulez avoir la
|
|
possibilité d'accéder à votre serveur web et/ou <acronym>FTP</acronym>
|
|
de l'intérieur de votre firewall en utilisant l'adresse de
|
|
l'interface externe <acronym>IP</acronym>, regardez <ulink
|
|
url="FAQ.htm#faq2">Shorewall FAQ #2</ulink>.</para></listitem><listitem><para>Quelques
|
|
fournisseurs Internet (Provider/ISP) bloquent les requêtes de connexion
|
|
entrantes sur le port 80. Si vous avez des problèmes pour vous connecter à
|
|
votre serveur web, essayez la règle suivante et connectez vous sur le port
|
|
5000 (c.a.d., connectez vous à <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>A ce point, modifiez <filename class="directory">/etc/shorewall/</filename><filename>rules</filename>
|
|
pour ajouter les règles <acronym>DNAT</acronym> dont vous avez besoin.</para>
|
|
</section>
|
|
|
|
<section>
|
|
<title>Domain Name Server (DNS)</title>
|
|
|
|
<para>Normalement, quand vous vous connectez à votre fournisseur
|
|
(FAI/ISP), une partie consiste à obtenir votre adresse IP, votre
|
|
<emphasis>Domain Name Service</emphasis> (<acronym>DNS</acronym>) pour le
|
|
firewall est configuré automatiquement (c.a.d.,le fichier <filename
|
|
class="directory">/etc/</filename><filename>resolv.conf</filename> sera
|
|
mis à jour). Il arrive que votre provider vous donne une paire
|
|
d'adresse <acronym>IP</acronym> pour les serveurs <acronym>DNS</acronym>
|
|
afin que vous configuriez manuellement votre serveur de nom primaire et
|
|
secondaire. La manière dont le <acronym>DNS</acronym> est configuré sur
|
|
votre firewall est de votre responsabilité. Vous pouvez procéder d'une
|
|
de ses deux façons :<itemizedlist spacing="compact"><listitem><para>Vous
|
|
pouvez configurer votre système interne pour utiliser les noms de serveurs
|
|
de votre provider. Si votre fournisseur vous donne les adresses de leurs
|
|
serveurs ou si ces adresses sont disponibles sur leur site web, vous
|
|
pouvez configurer votre système interne afin de les utiliser. Si cette
|
|
information n' est pas disponible, regardez dans <filename
|
|
class="directory"><filename>/etc/</filename></filename><filename>resolv.conf</filename>
|
|
sur votre firewall -- les noms des serveurs sont donnés dans
|
|
l'enregistrement "nameserver" dans 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> a un <acronym>RPM</acronym> pour serveur
|
|
dns de cache (le <acronym>RPM</acronym> à besoin aussi du paquetage
|
|
<command>bind </command><acronym>RPM</acronym>) et pour les utilisateurs
|
|
de Bering, il y a <command>dnscache.lrp</command>. Si vous adoptez cette
|
|
approche, vous configurez votre système interne pour utiliser le firewall
|
|
lui même comme étant le seul serveur de nom primaire. Vous pouvez utiliser
|
|
l'adresse <acronym>IP</acronym> interne du firewall (<systemitem
|
|
class="ipaddress">10.10.10.254</systemitem> dans l'exemple précédent)
|
|
pour l'adresse de serveur de nom. Pour permettre à vos systèmes locaux
|
|
de discuter avec votre serveur cache de nom, vous devez ouvrir le port 53
|
|
(à la fois <acronym>UDP</acronym> and <acronym>TCP</acronym>) sur le
|
|
firewall vers le réseau local; 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)
|
|
AllowDNS loc fw</programlisting></para></listitem></itemizedlist></para>
|
|
</section>
|
|
|
|
<section>
|
|
<title>Autres Connexions</title>
|
|
|
|
<para>Les fichiers exemples inclus dans l'archive (two-interface)
|
|
contiennent les règles suivantes :<programlisting>#ACTION SOURCE DEST PROTO DEST PORT(S)
|
|
AllowDNS fw net</programlisting>Ces règles autorisent l'accès
|
|
<acronym>DNS</acronym> à partir de votre firewall et peuvent être enlevées
|
|
si vous avez décommenté 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>AllowDNS</quote> est un exemple
|
|
d'action prédéfinie <emphasis>defined action</emphasis>. Shorewall
|
|
inclus un nombre d'actions prédéfinies et vous pouvez <ulink
|
|
url="User_defined_Actions.html">ajouter les vôtres</ulink>. Pour voir les
|
|
actions comprises avec votre version de Shorewall, regardez dans le
|
|
fichier <filename>/usr/share/shorewall/actions.std</filename>. Le nom de
|
|
celles qui acceptent des connexions débutent par <quote>Allow</quote>.</para>
|
|
|
|
<para>Vous n'êtes pas obligés d'utiliser des actions prédéfinies
|
|
quand vous ajoutez des régles dans le fichier <filename>/etc/shorewall/rules</filename>;
|
|
les régles générées par Netfilter sont plus performantes sans actions
|
|
prédéfinies. La régle vue ci-dessus peut aussi être codé comme cela:<programlisting>#ACTION SOURCE DEST PROTO DEST PORT(S)
|
|
ACCEPT fw net udp 53
|
|
ACCEPT fw net tcp 53</programlisting></para>
|
|
|
|
<para>Au cas ou Shorewall n'inclue pas d'actions définies qui vous
|
|
conviennent, vous pouvez les définir vous même ou coder directement les
|
|
régles.</para>
|
|
|
|
<para>L'exemple inclus aussi: <programlisting>#ACTION SOURCE DEST PROTO DEST PORT(S)
|
|
AllowSSH loc fw</programlisting>Cette régle autorise un serveur
|
|
<acronym>SSH</acronym> sur votre firewall et la connexion à celui-ci
|
|
depuis votre réseau local.</para>
|
|
|
|
<para>Si vous souhaitez autoriser d'autre connexions de votre firewall
|
|
vers d'autres systèmes, la sysntaxe générale utilisant l'action
|
|
type <quote>Allow</quote> est: <programlisting>#ACTION SOURCE DEST PROTO DEST PORT(S)
|
|
<action> fw <emphasis><destination zone></emphasis></programlisting>La
|
|
syntaxe générale lorsqu'on utilise pas des actions prédéfinies est:<programlisting>#ACTION SOURCE DEST PROTO DEST PORT(S)
|
|
ACCEPT fw <emphasis><destination zone> <protocol> <port></emphasis></programlisting><example><title>Serveur
|
|
Web sur le Firewall</title><para>Vous voulez ouvrir un serveur Web Server
|
|
sur votre firewall au réseau local et externe:
|
|
<programlisting>#ACTION SOURCE DEST PROTO DEST PORT(S)
|
|
AllowWeb net fw
|
|
AllowWeb loc fw</programlisting>Ces deux régles viennent évidemment
|
|
s'ajouter à celles listées sous <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) requièrent une application
|
|
particulière, vous pouvez regarder <ulink url="ports.htm">ici</ulink>.<important><para>Je
|
|
ne recommande pas d'autoriser <command>telnet</command> vers/de
|
|
l'Internet parce qu'il utilise du texte en clair (même pour le
|
|
login!). Si vous voulez un accés shell à votre firewall, utilisez
|
|
<acronym>SSH</acronym>:</para><programlisting>#ACTION SOURCE DEST PROTO DEST PORT(S)
|
|
AllowSSH net fw</programlisting></important> <inlinegraphic
|
|
fileref="images/leaflogo.gif" format="GIF" />Les utilisateurs de Bering
|
|
pourront ajouter les deux régles suivantes pour être compatible avec la
|
|
configuration du firewall Jacques's Shorewall.<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, éditez votre fichier de configuration <filename
|
|
class="directory">/etc/shorewall/</filename><filename>rules</filename>
|
|
pour ajouter, modifier ou supprimer les autres connexions voulues.</para>
|
|
</section>
|
|
|
|
<section>
|
|
<title>Quelques Points à Garder en Mémoire</title>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><emphasis role="bold">Vous ne pouvez tester votre firewall de
|
|
l'intérieur de votre réseau</emphasis>. Car les requêtes que vous
|
|
envoyez à votre adresse IP ne veux pas dire qu'elle seront
|
|
associées à votre interface externe ou la zone <quote>net</quote>.
|
|
Tout trafic généré par le réseau local sera traité par loc->fw.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><emphasis role="bold">Les adresses IP sont des propriétés des
|
|
systèmes, pas des interfaces</emphasis>. C'est une erreur de
|
|
croire que votre firewall est capable de renvoyer des paquets
|
|
simplement parce que vous pouvez faire un ping sur l'adresse IP de
|
|
toutes les interfaces du firewall depuis le réseau local. La seul
|
|
conclusion est de conclure que le lien entre le réseau local et le
|
|
firewall est établi et que vous avez probablement la bonne adresse de
|
|
la passerelle sur votre système.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><emphasis role="bold">Toutes les adresses IP configuré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 écrire
|
|
<quote><emphasis role="bold">$FW:192.168.1.254</emphasis></quote> dans
|
|
une régle mais vous ne devez pas écrire <quote><emphasis role="bold">loc:192.168.1.254</emphasis></quote>.
|
|
C'est aussi un non-sens d'ajouter 192.168.1.254 à la zone
|
|
<emphasis role="bold">loc</emphasis> en utilisant une entré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ête d'origine</emphasis>.
|
|
Tous les paquets sont routés en se référant à la table de routage
|
|
respective de chaque hôte à chaque étape du trajet. C'est commun
|
|
chez ceux qui installent le firewall Shorewall en parallèle à une
|
|
passerelle existante et essayent d'utiliser DNAT dans Shorewall
|
|
sans changer la passerelle par défaut sur les systèmes recevant le
|
|
retour des requêtes. Les requêtes dont, à travers le firewall
|
|
Shorewall, l'adresse de destination IP est réécrite mais la
|
|
réponse va directement vers l'ancienne passerelle.</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çon
|
|
dont Shorewall est configuré.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</section>
|
|
|
|
<section>
|
|
<title>Démarrer et Arrêter Votre Firewall</title>
|
|
|
|
<para><inlinegraphic fileref="images/BD21298_.gif" format="GIF" /></para>
|
|
|
|
<para>La <ulink url="Install.htm">procédure d'installation</ulink>
|
|
configure votre système pour lancer Shorewall au boot du système, mais au
|
|
début avec la version 1.3.9 de Shorewall le lancement est désactivé,
|
|
n'essayer pas de lancer Shorewall avec que la configuration soit
|
|
finie. Une fois que vous en aurez fini avec la configuration du firewall,
|
|
vous pouvez permettre le lancement de Shorewall en supprimant le fichier
|
|
<filename class="directory">/etc/shorewall/</filename><filename>startup_disabled</filename>.
|
|
<important><para>Les utilisateurs des paquets .deb doivent éditer
|
|
<filename class="directory">/etc/default/</filename><filename>shorewall</filename>
|
|
and set <varname>startup=1</varname>.</para></important>Le firewall est
|
|
activé en utilisant la commande <quote><command>shorewall start</command></quote>
|
|
et arrêté avec <quote><command>shorewall stop</command></quote>. Lorsque
|
|
le firewall est stoppé, le routage est autorisé sur les hôtes qui
|
|
possèdent une entrée dans <filename class="directory">/etc/shorewall/</filename><filename><ulink
|
|
url="Documentation.htm#Routestopped">routestopped</ulink></filename>. Un
|
|
firewall qui tourne peut être relancé en utilisant la commande
|
|
<quote><command>shorewall restart</command></quote> command. Si vous
|
|
voulez enlever toutes traces de Shorewall sur votre configuration de
|
|
Netfilter, utilisez <quote><command>shorewall clear</command></quote>.</para>
|
|
|
|
<para><inlinegraphic fileref="images/BD21298_.gif" format="GIF" /></para>
|
|
|
|
<para>Les exemples (two-interface) supposent que vous voulez permettre le
|
|
routage depuis ou vers <filename class="devicefile">eth1</filename> (le
|
|
réseau local) lorsque Shorewall est stoppé. Si votre réseau local n'
|
|
est pas connecté à <filename class="devicefile">eth1</filename> ou si vous
|
|
voulez permettre l'accès depuis ou vers d'autres hôtes, changez
|
|
<filename class="directory">/etc/shorewall/</filename><filename><ulink
|
|
url="Documentation.htm#Routestopped">routestopped</ulink></filename> en
|
|
conséquence. <warning><para>Si vous êtes connecté à votre firewall depuis
|
|
Internet, n'essayez pas une commande <quote><command>shorewall stop</command></quote>
|
|
tant que vous n'avez pas ajouté une entrée pour votre adresse
|
|
<acronym>IP</acronym> (celle à partir de laquelle vous êtes connectée)
|
|
dans <filename class="directory">/etc/shorewall/</filename><filename>routestopped</filename>.
|
|
De la même manière, je ne vous recommande pas d'utiliser
|
|
<quote><command>shorewall restart</command></quote>; il est plus
|
|
intéressant de créer <ulink url="configuration_file_basics.htm#Configs">une
|
|
configuration alternative</ulink> et de la tester en utilisant la commande
|
|
<quote><command>shorewall try</command></quote>.</para></warning></para>
|
|
</section>
|
|
|
|
<section>
|
|
<title>Autres Lectures Recommandées</title>
|
|
|
|
<para>Je vous recommande vivement de lire la <ulink
|
|
url="configuration_file_basics.htm">page des Fonctionnalités Générales des
|
|
Fichiers de Configuration</ulink> -- elle contient des trucs sur les
|
|
possibilités de Shorewall pour rendre aisé l'administration de votre
|
|
firewall Shorewall.</para>
|
|
</section>
|
|
|
|
<section>
|
|
<title>Ajouter un Segment Sans-fil à votre Firewall à deux interfaces</title>
|
|
|
|
<para>Maintenant que vous avez une configuration deux interfaces qui
|
|
marche, l'étape suivante logique est d'ajouter un Réseau Sans-fil.
|
|
La première étape est d'ajouter une carte à votre firewall, soit une
|
|
carte Sans-fil ou une carte ethernet relié à un Point d'Accés
|
|
Sans-fil.<caution><para>Quant vous ajoutez une carte réseau, il se peut
|
|
qu'elle ne soit pas détecté comme celle suivant la plus haute
|
|
interface. Par exemple, si vous avez deux cartes interfaces sur votre
|
|
système (<filename class="devicefile">eth0</filename> and <filename
|
|
class="devicefile">eth1</filename>) et que vous ajoutez une troisième qui
|
|
utilise le même drivers qu'une des deux autres, cette troisième carte
|
|
ne sera pas obligatoirement détecté en tant que <filename
|
|
class="devicefile">eth2</filename>; elle peut très bien être détecté en
|
|
tant que <filename class="devicefile">eth0</filename> ou <filename
|
|
class="devicefile">eth1</filename>! Vous pouvez faire avec ou intervertir
|
|
les cartes dans les slots jusqu'à obtenir valeur <filename
|
|
class="devicefile">eth2</filename>.</para></caution></para>
|
|
|
|
<para>Votre nouveau réseau ressemblera à la figure ci-dessous.<graphic
|
|
fileref="images/basics2.png" /></para>
|
|
|
|
<para><inlinegraphic fileref="images/BD21298_.gif" format="GIF" /></para>
|
|
|
|
<para>La première chose à noter est que les ordinateurs sur votre réseau
|
|
sans-fil seront sur un sous-réseau différent de celui de votre réseau
|
|
local LAN. Dans l'exemple précédent, nous avons choisi de lui
|
|
attribuer le réseau 10.10.11.0/24. Les ordinateurs 3 et 4 seront
|
|
configuré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 à la
|
|
zone local. Depuis que Shorewall autorise du trafic intra-zone par défaut,
|
|
le trafic pourra circuler librement entre le réseau local et sans-fil.</para>
|
|
|
|
<para><inlinegraphic fileref="images/BD21298_.gif" format="GIF" /></para>
|
|
|
|
<para>Il n'y a que deux changements à effectuer à la configuration de
|
|
Shorewall:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Une entrée doit être ajouté 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ée correspondante
|
|
pourrait être:</para>
|
|
|
|
<programlisting>#ZONE INTERFACE BROADCAST OPTIONS
|
|
loc wlan0 detect maclist</programlisting>
|
|
|
|
<para>Comme montré dans l'entré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ées pour les ordinateurs
|
|
3 et 4 dans le fichier <filename>/etc/shorewall/maclist</filename>,
|
|
vous pouvez vous assurer que vos voisins n'utiliseront pas votre
|
|
connexion internet. Commencez sans cette option; quant tout
|
|
fonctionnera, alors ajouter l'option et configurez votre fichier
|
|
<filename>/etc/shorewall/maclist</filename>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Vous avez besoin d'ajouter une entrée au fichier
|
|
<filename>/etc/shorewall/masq</filename> afin de masquer 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é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 soit
|
|
d'un serveur WINS ou un PDC. J'utilise personnellement Samba
|
|
configuré en serveur WINS qui tourne sur mon firewall. Utiliser un serveur
|
|
WINS sur le firewall nécessite de configurer les régles nécessaires
|
|
listées dans le <ulink url="samba.htm">document Shorewall/Samba</ulink>.</para>
|
|
</section>
|
|
</article> |