+
+
+
Starting and Stopping Your Firewall
+
+
+
- The installation procedure
-configures your system to start Shorewall at system boot but beginning
-with Shorewall version 1.3.9 startup is disabled so that your system
-won't try to start Shorewall before configuration is complete. Once you
-have completed configuration of your firewall, you can enable Shorewall
+ The installation procedure
+ configures your system to start Shorewall at system boot but beginning
+with Shorewall version 1.3.9 startup is disabled so that your system
+won't try to start Shorewall before configuration is complete. Once you
+have completed configuration of your firewall, you can enable Shorewall
startup by removing the file /etc/shorewall/startup_disabled.
-
-
+
+
IMPORTANT: Users of the .deb package must edit /etc/default/shorewall
- and set 'startup=1'.
-
+ color="#ff0000">Users of the .deb package must edit /etc/default/shorewall
+ and set 'startup=1'.
+
+
+
+
+
The firewall is started using the "shorewall start" command
+ and stopped using "shorewall stop". When the firewall is stopped,
+ routing is enabled on those hosts that have an entry in /etc/shorewall/routestopped. A
+ running firewall may be restarted using the "shorewall restart"
+ command. If you want to totally remove any trace of Shorewall from
+ your Netfilter configuration, use "shorewall clear".
-
-
-
The firewall is started using the "shorewall start" command
- and stopped using "shorewall stop". When the firewall is stopped,
- routing is enabled on those hosts that have an entry in /etc/shorewall/routestopped. A
- running firewall may be restarted using the "shorewall restart"
-command. If you want to totally remove any trace of Shorewall from
-your Netfilter configuration, use "shorewall clear".
-
-
-
+
+
- The three-interface sample assumes that you want to enable
- routing to/from eth1 (your local network) and eth2 (DMZ)
- when Shorewall is stopped. If these two interfaces don't connect
-to your local network and DMZ or if you want to enable a different
-set of hosts, modify /etc/shorewall/routestopped accordingly.
-
-
-
+
+
+
WARNING: If you are connected to your firewall from
+ the internet, do not issue a "shorewall stop" command unless you
+ have added an entry for the IP address that you are connected from
+ to /etc/shorewall/routestopped.
+ Also, I don't recommend using "shorewall restart"; it is better to
+create an alternate
+configuration and test it using the "shorewall try" command.
-
-
+
+
Last updated 2/21/2003 - Tom Eastep
-
-
Copyright 2002, 2003
- Thomas M. Eastep
-
+
+
Copyright 2002, 2003
+ Thomas M. Eastep
+
+
diff --git a/Shorewall-docs/three-interface_fr.html b/Shorewall-docs/three-interface_fr.html
index 009f9c4f9..76d9e92d4 100755
--- a/Shorewall-docs/three-interface_fr.html
+++ b/Shorewall-docs/three-interface_fr.html
@@ -1,1204 +1,1212 @@
-
+
-
+
-
+
-
+
Three-Interface Firewall
-
+
-
-
-
+ |
+
+
Three-Interface Firewall
- |
-
-
-
+
+
+
+
-
+
Version 2.0.1 Française
-
+
Notes du traducteur :
- Je ne prétends pas être un vrai traducteur dans le sens ou mon travail
-n?est pas des plus précis (loin de là...). Je ne me suis pas attaché à une
-traduction exacte du texte, mais plutôt à en faire une version française
-intelligible par tous (et par moi). Les termes techniques sont la plupart
-du temps conservés sous leur forme originale et mis entre parenthèses car
-vous pouvez les retrouver dans le reste des documentations ainsi que dans
-les fichiers de configuration. N?hésitez pas à me contacter afin d?améliorer
-ce document VETSEL Patrice
-(merci à JMM pour sa relecture et ses commentaires pertinents, ainsi qu'à
-Tom EASTEP pour son formidable outil et sa disponibilité).
-
+ Je ne prétends pas être un vrai traducteur dans le sens ou mon travail
+n?est pas des plus précis (loin de là...). Je ne me suis pas attaché à une
+traduction exacte du texte, mais plutôt à en faire une version française intelligible
+par tous (et par moi). Les termes techniques sont la plupart du temps conservés
+sous leur forme originale et mis entre parenthèses car vous pouvez les retrouver
+dans le reste des documentations ainsi que dans les fichiers de configuration.
+N?hésitez pas à me contacter afin d?améliorer ce document
VETSEL Patrice (merci à JMM
+pour sa relecture et ses commentaires pertinents, ainsi qu'à Tom EASTEP pour
+son formidable outil et sa disponibilité).
+
- Mettre en place un système linux en tant que firewall pour un petit réseau
-contenant une DMZ est une chose assez simple à réaliser si vous comprenez
-les bases et suivez cette documentation.
-
-
Ce guide ne prétend pas vous mettre au courant de toutes les possibilités
-de Shorewall. Il se focalise sur les besoins pour configurer Shorewall dans
-une de ses utilisations les plus populaire :
-
+ Mettre en place un système linux en tant que firewall pour un petit réseau
+ contenant une DMZ est une chose assez simple à réaliser si vous comprenez
+ les bases et suivez cette documentation.
+
+
Ce guide ne prétend pas vous mettre au courant de toutes les possibilités
+ de Shorewall. Il se focalise sur les besoins pour configurer Shorewall dans
+ une de ses utilisations les plus populaire :
+
- - Un système Linux utilisé en tant que firewall/routeur pour un petit
-réseau local.
- - Une seule adresse IP publique.
- - Une DMZ connectée sur une interface Ethernet séparée.
- - Une connexion passant par l'ADSL, un Modem Câble, ISDN, Frame Relay,
-RTC, ...
-
+ - Un système Linux utilisé en tant que firewall/routeur pour un petit
+ réseau local.
+ - Une seule adresse IP publique.
+ - Une DMZ connectée sur une interface Ethernet séparée.
+ - Une connexion passant par l'ADSL, un Modem Câble, ISDN, Frame Relay,
+ RTC, ...
+
-
+
Voici le schéma d'une installation typique.
-
+
-
-
-
Ce guide suppose que vous avez le paquet iproute/iproute2 d'installé. Vous
-pouvez voir si le paquet est installé en vérifiant la présence du programme
-ip sur votre système de firewall. Sous root, utilisez la commande 'which'
-pour rechercher le programme :
-
+
+
+
Ce guide suppose que vous avez le paquet iproute/iproute2 d'installé.
+Vous pouvez voir si le paquet est installé en vérifiant la présence du programme
+ ip sur votre système de firewall. Sous root, utilisez la commande 'which'
+ pour rechercher le programme :
+
[root@gateway root]# which ip
/sbin/ip
[root@gateway root]#
-
-
Je vous recommande dans un premier temps de parcourir tout le guide pour
-vous familiariser avec ce qu'il va se passer, et de revenir au début en effectuant
-le changements dans votre configuration. Les points où, les changements dans
-la configuration sont recommandées, sont signalés par une
Je vous recommande dans un premier temps de parcourir tout le guide pour
+ vous familiariser avec ce qu'il va se passer, et de revenir au début en
+effectuant le changements dans votre configuration. Les points où, les changements
+dans la configuration sont recommandées, sont signalés par une
-
-
+
+
- Si vous éditez vos fichiers de configuration sur un système Windows, vous
-devez les sauver comme des fichiers Unix si votre éditeur offre cette option
-sinon vous devez les faire passer par dos2unix avant d'essayer de les utiliser.
-De la même manière, si vous copiez un fichier de configuration depuis votre
-disque dur Windows vers une disquette, vous devez lancer dos2unix sur la copie
-avant de l'utiliser avec Shorewall.
-
+ Si vous éditez vos fichiers de configuration sur un système Windows, vous
+ devez les sauver comme des fichiers Unix si votre éditeur offre cette option
+ sinon vous devez les faire passer par dos2unix avant d'essayer de les utiliser.
+ De la même manière, si vous copiez un fichier de configuration depuis votre
+ disque dur Windows vers une disquette, vous devez lancer dos2unix sur la
+copie avant de l'utiliser avec Shorewall.
+
-
+
Les Concepts de Shorewall
-
+
- 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. Après avoir installé Shorewall, téléchargez la configuration
-d'exemple three-interface
-sample, un-tarez la (tar -zxvf three-interfaces.tgz) et copiez
-les fichiers vers /etc/shorewall (Ils remplaceront les fichiers de même nom
-déjà existant dans /etc/shorewall installés lors de l'installation de Shorewall).
-
-
En même temps que chacun des fichiers est présenté, je vous suggère de
-jeter un oeil à ceux qui se trouvent réellement sur votre système -- chacun
-des fichiers contient des instructions de configuration détaillées et des
-entrées par défaut.
-
-
Shorewall voit le réseau où il tourne comme composé par un ensemble de
-zones. Dans les fichiers de configuration fournis pour trois interfaces,
-trois zones sont définies :
-
+ 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. Après avoir
installé Shorewall,
téléchargez la configuration
+ d'exemple three-interface
+ sample, un-tarez la (tar -zxvf three-interfaces.tgz) et copiez
+ les fichiers vers /etc/shorewall (Ils remplaceront les fichiers de même
+nom déjà existant dans /etc/shorewall installés lors de l'installation de
+Shorewall).
+
+
En même temps que chacun des fichiers est présenté, je vous suggère de
+ jeter un oeil à ceux qui se trouvent réellement sur votre système -- chacun
+ des fichiers contient des instructions de configuration détaillées et des
+ entrées par défaut.
+
+
Shorewall voit le réseau où il tourne comme composé par un ensemble de
+ zones. Dans les fichiers de configuration fournis pour trois interfaces,
+ trois zones sont définies :
+
-
-
- Name |
- Description |
-
-
- net |
- The Internet |
-
-
- loc |
- Votre réseau local |
-
-
- dmz |
- Zone Demilitarisée |
-
-
-
+
+
+ Name |
+ Description |
+
+
+ net |
+ The Internet |
+
+
+ loc |
+ Votre réseau local |
+
+
+ dmz |
+ Zone Demilitarisée |
+
+
+
-
-
Les noms de zone sont définis dans /etc/shorewall/zones.
-
-
Shorewall reconnaît aussi le système de firewall comme sa propre zone -
-par défaut, le firewall lui même est connu en tant que fw.
-
-
Les règles concernant le trafic à autoriser ou à interdire sont exprimées
-en utilisant les termes de zones.
-
-
- - Vous exprimez les politiques par défaut pour les connexions d'une
-zone à une autre dans le fichier /etc/shorewall/policy
- .
- - Vous définissez les exceptions à ces règles de politiques par défaut
-dans le fichier /etc/shorewall/rules.
-
-
-
-
Pour chacune des demandes de connexion entrantes dans le firewall, les
-demandes sont en premier lieu comparées par rapport au fichier /etc/shorewall/rules.
-Si aucune des règles dans ce fichier ne correspondent, alors la première politique
-dans /etc/shorewall/policy qui y correspond est appliquée. Si cette politique
-est REJECT ou DROP la requête est alors comparée par rapport aux règles contenues
-dans /etc/shorewall/common (l'archive d'exemple vous fournit ce fichier).
-
-
Le fichier /etc/shorewall/policy d'exemple contenu dans l'archive three-interface
-sample a les politiques suivantes :
-
-
-
-
-
- Source Zone |
- Destination Zone |
- Policy |
- Log Level |
- Limit:Burst |
-
-
- loc |
- net |
- ACCEPT |
-
- |
-
- |
-
-
- net |
- all |
- DROP |
- info |
-
- |
-
-
- all |
- all |
- REJECT |
- info |
-
- |
-
-
-
-
-
-
-
- Dans l'archive three-interface, la ligne suivante est existante mais
-elle est commentée. Si vous souhaitez que votre système de firewall puisse
-avoir un accès complet aux serveurs sur Internet, décommentez la.
+Les noms de zone sont définis dans /etc/shorewall/zones.
+
+Shorewall reconnaît aussi le système de firewall comme sa propre zone
+- par défaut, le firewall lui même est connu en tant que fw.
+
+Les règles concernant le trafic à autoriser ou à interdire sont exprimées
+ en utilisant les termes de zones.
+
+
+ - Vous exprimez les politiques par défaut pour les connexions d'une
+zone à une autre dans le fichier /etc/shorewall/policy
+ .
+ - Vous définissez les exceptions à ces règles de politiques par défaut
+ dans le fichier /etc/shorewall/rules.
+
+
+
+Pour chacune des demandes de connexion entrantes dans le firewall, les
+ demandes sont en premier lieu comparées par rapport au fichier /etc/shorewall/rules.
+ Si aucune des règles dans ce fichier ne correspondent, alors la première
+politique dans /etc/shorewall/policy qui y correspond est appliquée. Si cette
+politique est REJECT ou DROP la requête est alors comparée par rapport aux
+règles contenues dans /etc/shorewall/common (l'archive d'exemple vous fournit
+ce fichier).
+
+Le fichier /etc/shorewall/policy d'exemple contenu dans l'archive three-interface
+ sample a les politiques suivantes :
+
+
-
-
- Source Zone |
- Destination Zone |
- Policy |
- Log Level |
- Limit:Burst |
-
-
- fw |
- net |
- ACCEPT |
-
- |
-
- |
-
-
-
+
+
+ Source Zone |
+ Destination Zone |
+ Policy |
+ Log Level |
+ Limit:Burst |
+
+
+ loc |
+ net |
+ ACCEPT |
+
+ |
+
+ |
+
+
+ net |
+ all |
+ DROP |
+ info |
+
+ |
+
+
+ all |
+ all |
+ REJECT |
+ info |
+
+ |
+
+
+
-
-
+
+
+
+ Dans l'archive three-interface, la ligne suivante est existante mais
+ elle est commentée. Si vous souhaitez que votre système de firewall puisse
+ avoir un accès complet aux serveurs sur Internet, décommentez la.
+
+
+
+
+ Source Zone |
+ Destination Zone |
+ Policy |
+ Log Level |
+ Limit:Burst |
+
+
+ fw |
+ net |
+ ACCEPT |
+
+ |
+
+ |
+
+
+
+
+
+
Les politiques précédentes vont :
-
+
- - permettre toutes demandes de connexion depuis le firewall vers l'Internet
- - drop (ignorer) toutes les demandes de connexion depuis l'Internet
+
- permettre toutes demandes de connexion depuis le firewall vers l'Internet
+ - drop (ignorer) toutes les demandes de connexion depuis l'Internet
vers votre firewall ou vers votre réseau local
- - Facultativement accepter toutes les demandes de connexion depuis
+
- Facultativement accepter toutes les demandes de connexion depuis
votre firewall et vers Internet (si vous decommentez la politique précédente)
- - reject (rejeter) toutes les autres demandes de connexion.
-
+ - reject (rejeter) toutes les autres demandes de connexion.
+
-
+
- A ce point, éditez votre /etc/shorewall/policy et faites y les changements
-que vous désire
-
+ A ce point, éditez votre /etc/shorewall/policy et faites y les changements
+ que vous désire
+
Les Interfaces Réseau
-
+
-
-
-
Le firewall a trois interfaces de réseau. Lorsque la connexion
-Internet passe par le câble ou par un ROUTEUR (pas un simple modem) ADSL (non
-USB), l'interface vers l'extérieur (External Interface) sera l'adaptateur
-sur lequel est connecté le routeur (e.g., eth0) à moins que vous ne vous
-connectiez par Point-to-PointProtocol overEthernet (PPPoE) ou par Point-to-PointTunneling
-Protocol (PPTP), dans ce cas l'interface extérieure sera une interface de
-type ppp (e.g., ppp0). Si vous vous connectez par un simple modem (RTC), votre
-interface extérieure sera aussi ppp0. Si votre connexion passe par Numéris
-(ISDN), votre interface extérieure sera ippp0.
-
+
+
+
Le firewall a trois interfaces de réseau. Lorsque la connexion
+ Internet passe par le câble ou par un ROUTEUR (pas un simple modem) ADSL
+(non USB), l'interface vers l'extérieur (External Interface) sera l'adaptateur
+ sur lequel est connecté le routeur (e.g., eth0) à moins que vous ne vous
+ connectiez par Point-to-PointProtocol overEthernet (PPPoE) ou par Point-to-PointTunneling
+ Protocol (PPTP), dans ce cas l'interface extérieure sera une interface de
+ type ppp (e.g., ppp0). Si vous vous connectez par un simple modem (RTC),
+votre interface extérieure sera aussi ppp0. Si votre connexion passe par
+Numéris (ISDN), votre interface extérieure sera ippp0.
+
- Si votre interface vers l'extérieur est ppp0 ou ippp0 alors vous mettrez
-CLAMPMSS=yes dans /etc/shorewall/shorewall.conf.
-
-
Votre Interface locale sera un adaptateur Ethernet
-(eth0, eth1 ou eth2) et sera connecté à un hub ou un switch. Vos ordinateurs
-locaux seront connectés à ce même switch (note : si vous n'avez qu'un seul
-ordinateur en local, vous pouvez le connecter directement au firewall par
-un câble croisé).
-
-
Votre interface DMZ sera aussi un adaptateur Ethernet
-(eth0, eth1 ou eth2) et sera connecté à un hub ou un switch. Vos ordinateurs
-appartenant à la DMZ seront connectés à ce même switch (note : si vous n'avez
-qu'un seul ordinateur dans la DMZ, vous pouvez le connecter directement au
-firewall par un câble croisé).
-
+ Si votre interface vers l'extérieur est ppp0 ou ippp0 alors vous mettrez
+ CLAMPMSS=yes dans
/etc/shorewall/shorewall.conf.
+
+
Votre Interface locale sera un adaptateur Ethernet
+ (eth0, eth1 ou eth2) et sera connecté à un hub ou un switch. Vos ordinateurs
+ locaux seront connectés à ce même switch (note : si vous n'avez qu'un seul
+ ordinateur en local, vous pouvez le connecter directement au firewall par
+ un câble croisé).
+
+
Votre interface DMZ sera aussi un adaptateur Ethernet
+ (eth0, eth1 ou eth2) et sera connecté à un hub ou un switch. Vos ordinateurs
+ appartenant à la DMZ seront connectés à ce même switch (note : si vous
+n'avez qu'un seul ordinateur dans la DMZ, vous pouvez le connecter directement
+au firewall par un câble croisé).
+
- Ne connectez pas l'interface interne et externe sur le même hub
-ou switch (même pour tester). Cela ne fonctionnera pas et ne croyez pas que
-ce soit shorewall qui ne marche pas.
-
+ Ne connectez pas l'interface interne et externe sur le même hub
+ ou switch (même pour tester). Cela ne fonctionnera pas et ne croyez pas
+que ce soit shorewall qui ne marche pas.
+
- L'exemple de configuration de Shorewall pour trois interfaces suppose que
-l'interface externe est eth0, l'interface locale est eth1 et
-que la DMZ est sur l'interface eth2. Si votre configuration diffère,
-vous devrez modifier le fichier d'exemple /etc/shorewall/interfaces 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 :
-
+ L'exemple de configuration de Shorewall pour trois interfaces suppose
+que l'interface externe est
eth0, l'interface locale est
eth1
+ et que la DMZ est sur l'interface
eth2. Si votre configuration
+diffère, vous devrez modifier le fichier d'exemple /etc/shorewall/interfaces
+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 :
+
- -
-
Si votre interface externe est ppp0 ou ippp0, vous pouvez
-remplacer le "detect" dans la seconde colonne par un "-".
-
- -
-
Si votre interface externe est ppp0 ou ippp0 ou bien si
-vous avez une adresse IP statique, vous pouvez enlever le "dhcp" de la liste
-d'option.
-
-
+ -
+
Si votre interface externe est ppp0 ou ippp0, vous pouvez
+ remplacer le "detect" dans la seconde colonne par un "-".
+
+ -
+
Si votre interface externe est ppp0 ou ippp0 ou bien
+si vous avez une adresse IP statique, vous pouvez enlever le "dhcp" de la
+liste d'option.
+
+
-
+
Adresses IP
-
-
Avant d'aller plus loin, nous devons dire quelques mots au
-sujet du Protocole d'adresse Internet (IP). Normalement, votre fournisseur
-Internet (ISP) vous assignera une seule adresse IP (single Public IP address).
-Cette adresse peut être assignée par le Dynamic Host Configuration Protocol
-(DHCP) ou lors de l'établissement de votre connexion lorsque vous vous connectez
-(modem standard) ou établissez votre connexion PPP. Dans de rares cas , votre
-provider peu vous assigner une adresse statique (staticIP address); cela signifie
-que vous configurez votre interface externe sur votre firewall afin d'utiliser
-cette adresse de manière permanente. Une fois votre adresse externe assignée,
-elle va être partagée par tout vos systèmes lors de l'accès à Internet. Vous
-devrez assigner vos propres adresses à votre réseau local (votre interface
-interne sur le firewall ainsi que les autres ordinateurs). La RFC 1918 réserve
-plusieurs plages d'IP (Private IP address ranges) à cette fin :
-
-
+
+
Avant d'aller plus loin, nous devons dire quelques mots au
+ sujet du Protocole d'adresse Internet (IP). Normalement, votre fournisseur
+ Internet (ISP) vous assignera une seule adresse IP (single Public IP address).
+ Cette adresse peut être assignée par le Dynamic Host Configuration Protocol
+ (DHCP) ou lors de l'établissement de votre connexion lorsque vous vous connectez
+ (modem standard) ou établissez votre connexion PPP. Dans de rares cas ,
+votre provider peu vous assigner une adresse statique (staticIP address);
+cela signifie que vous configurez votre interface externe sur votre firewall
+afin d'utiliser cette adresse de manière permanente. Une fois votre adresse
+externe assignée, elle va être partagée par tout vos systèmes lors de l'accès
+à Internet. Vous devrez assigner vos propres adresses à votre réseau local
+(votre interface interne sur le firewall ainsi que les autres ordinateurs).
+La RFC 1918 réserve plusieurs plages d'IP (Private IP address ranges) à
+cette fin :
+
+
10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255
-
-
-
+
+
+
- Avant de lancer Shorewall, vous devriez regarder l'adresse de votre interface
-externe et si elle est comprise dans une des plages précédentes, vous devriez
-enlever l'option 'norfc1918' dans le fichier /etc/shorewall/interfaces.
-
-
-
-
Vous devrez assigner les adresses locales à un sous-réseau
-(sub-network ou subnet) et les adresse pour la DMZ à un autre
-sous-réseau. Pour ce faire, nous pouvons considérer qu'un sous-réseau consiste
-en une plage d'adresse x.y.z.0 à x.y.z.255. Chacun des sous-réseaux possèdera
-une masque (Subnet Mask) de 255.255.255.0. L'adresse x.y.z.0 est
-réservée comme l'adresse du sous-réseau (Subnet Address) et x.y.z.255
- est réservée en tant qu'adresse de broadcast du sous-réseau (Subnet Broadcast
-Address). Sous Shorewall, un sous-réseau est décrit/désigné en utilisant
-la notation Classless InterDomain
-Routing(CIDR) qui consiste en l'adresse du sous-réseau suivie par
-"/24". Le "24" se réfère au nombre de bits "1" consécutifs dans la partie
-gauche du masque de sous-réseau.
-
-
-
+ Avant de lancer Shorewall, vous devriez regarder l'adresse de votre interface
+ externe et si elle est comprise dans une des plages précédentes, vous devriez
+ enlever l'option 'norfc1918' dans le fichier /etc/shorewall/interfaces.
+
+
+
+
Vous devrez assigner les adresses locales à un sous-réseau
+ (sub-network ou subnet) et les adresse pour la DMZ à un autre
+ sous-réseau. Pour ce faire, nous pouvons considérer qu'un sous-réseau consiste
+ en une plage d'adresse x.y.z.0 à x.y.z.255. Chacun des sous-réseaux possèdera
+ une masque (Subnet Mask) de 255.255.255.0. L'adresse x.y.z.0 est
+ réservée comme l'adresse du sous-réseau (Subnet Address) et x.y.z.255
+ est réservée en tant qu'adresse de broadcast du sous-réseau (Subnet
+Broadcast Address). Sous Shorewall, un sous-réseau est décrit/désigné
+en utilisant la notation Classless
+InterDomain Routing(CIDR) qui consiste en l'adresse du sous-réseau
+suivie par "/24". Le "24" se réfère au nombre de bits "1" consécutifs dans
+la partie gauche du masque de sous-réseau.
+
+
+
Exemple de sous-réseau (subnet) :
-
-
-
+
+
+
-
-
- Plage: |
- 10.10.10.0 - 10.10.10.255 |
-
-
- Subnet Address: |
- 10.10.10.0 |
-
-
- Broadcast Address: |
- 10.10.10.255 |
-
-
- CIDR Notation: |
- 10.10.10.0/24 |
-
-
-
+
+
+ Plage: |
+ 10.10.10.0 - 10.10.10.255 |
+
+
+ Subnet Address: |
+ 10.10.10.0 |
+
+
+ Broadcast Address: |
+ 10.10.10.255 |
+
+
+ CIDR Notation: |
+ 10.10.10.0/24 |
+
+
+
-
-
-
-
-
Il est de convention d'assigner à l'interface interne la première
-adresse utilisable dans le sous-réseau (10.10.10.1 dans l'exemple précédent)
- ou la dernière utilisable (10.10.10.254).
-
-
-
-
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).
-
-
-
+
+
+
+
+
Il est de convention d'assigner à l'interface interne la
+première adresse utilisable dans le sous-réseau (10.10.10.1 dans l'exemple
+précédent) ou la dernière utilisable (10.10.10.254).
+
+
+
+
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).
+
+
+
- Vos ordinateurs locaux (ordinateur local 1 et 2) devraient être configurés
-avec leur passerelle par défaut (default gateway)pointant sur l'adresse
-IP de l'interface interne du firewall, et les ordinateurs de la DMZ devraient
-être configurés avec leur passerelle par défaut (default gateway) pointant
-sur l'adresse IP de l'interface DMZ du firewall.
-
-
-
Cette courte description ne fait que survoler les concepts
-de routage et de sous-réseau. Si vous vous voulez en apprendre plus sur l'adressage
-IP et le routage, je vous recommande chaudement "IP Fundamentals: What
-Everyone Needs to Know about Addressing & Routing", Thomas A.
-Maufer, Prentice-Hall, 1999, ISBN 0-13-975483-0.
-
-
Pour rappel, ce guide supposera que vous avez configuré votre
-réseau comme montrer ci-dessous :
-
+ Vos ordinateurs locaux (ordinateur local 1 et 2) devraient être configurés
+ avec leur passerelle par défaut (
default gateway)pointant sur l'adresse
+ IP de l'interface interne du firewall, et les ordinateurs de la DMZ devraient
+ être configurés avec leur passerelle par défaut (
default gateway)
+pointant sur l'adresse IP de l'interface DMZ du firewall.
+
+
+
Cette courte description ne fait que survoler les concepts
+ de routage et de sous-réseau. Si vous vous voulez en apprendre plus sur
+l'adressage IP et le routage, je vous recommande chaudement "IP Fundamentals:
+ What Everyone Needs to Know about Addressing & Routing", Thomas
+ A. Maufer, Prentice-Hall, 1999, ISBN 0-13-975483-0.
+
+
Pour rappel, ce guide supposera que vous avez configuré votre
+ réseau comme montrer ci-dessous :
+
-
-
-
La passerelle par défaut (default gateway) pour les ordinateurs
-de la DMZ sera 10.10.11.254 et le passerelle par défaut pour les ordinateurs
-en local sera 10.10.10.254.
-
+
+
+
La passerelle par défaut (default gateway) pour les ordinateurs
+ de la DMZ sera 10.10.11.254 et le passerelle par défaut pour les ordinateurs
+ en local sera 10.10.10.254.
+
IP Masquerading (SNAT)
-
-
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 NAT (Network Address
-Translation). Le firewall ré écrit l'adresse source dans le paquet, et l'a
-remplace 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 à 10.10.10.1 et fait passer le paquet vers l'ordinateur
-1.
-
-
Sur les systèmes Linux, ce procédé est souvent appelé de l'IP
-Masquerading mais vous verrez aussi le terme de Source Network Address Translation
-(SNAT) utilisé. Shorewall suit la convention utilisée avec Netfilter :
-
+
+
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 NAT (Network
+Address Translation). Le firewall ré écrit l'adresse source dans le paquet,
+et l'a remplace 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 à 10.10.10.1 et fait passer le paquet vers l'ordinateur
+ 1.
+
+
Sur les systèmes Linux, ce procédé est souvent appelé de
+l'IP Masquerading mais vous verrez aussi le terme de Source Network Address
+Translation (SNAT) utilisé. Shorewall suit la convention utilisée avec Netfilter
+:
+
- -
-
Masquerade désigne le cas ou vous laissez votre firewall
-détecter automatiquement l'adresse de l'interface externe.
-
- -
-
SNAT désigne le cas où vous spécifiez explicitement l'adresse
-source des paquets sortant de votre réseau local.
-
-
+ -
+
Masquerade désigne le cas ou vous laissez votre firewall
+ détecter automatiquement l'adresse de l'interface externe.
+
+ -
+
SNAT désigne le cas où vous spécifiez explicitement l'adresse
+ source des paquets sortant de votre réseau local.
+
+
-
-
Sous Shorewall, autant le Masquerading que le SNAT sont configuré
-avec des entrés dans le fichier /etc/shorewall/masq.
-
+
+
Sous Shorewall, autant le Masquerading que le SNAT sont configuré
+ avec des entrés dans le fichier /etc/shorewall/masq.
+
- Si votre interface externe est eth0, votre interface locale eth1
-et votre interface pour la DMZ eth2 vous n'avez pas besoin de modifier
-le fichier fourni avec l'exemple. Dans le cas contraire, éditez /etc/shorewall/masq
- et changez le en conséquence.
-
+ Si votre interface externe est
eth0, votre interface locale
eth1
+ et votre interface pour la DMZ
eth2 vous n'avez pas besoin de modifier
+ le fichier fourni avec l'exemple. Dans le cas contraire, éditez /etc/shorewall/masq
+ et changez le en conséquence.
+
- Si votre IP externe est statique, vous pouvez la mettre dans la troisième
-colonne dans /etc/shorewall/masq si vous le désirez, de toutes façons votre
-firewall fonctionnera bien si vous laissez cette colonne vide. Le fait de
-mettre votre IP statique dans la troisième colonne permet un traitement des
-paquets sortant un peu plus efficace.
-
-
+ Si votre IP externe est statique, vous pouvez la mettre dans la troisième
+ colonne dans /etc/shorewall/masq si vous le désirez, de toutes façons votre
+ firewall fonctionnera bien si vous laissez cette colonne vide. Le fait de
+ mettre votre IP statique dans la troisième colonne permet un traitement
+des paquets sortant un peu plus efficace.
+
+
- Si vous utilisez les paquets Debian, vérifiez que votre fichier de configuration
-shorewall.conf contient bien les valeurs suivantes, si elles n'y sont pas
-faite les changements nécessaires :
-
-
+ Si vous utilisez les paquets Debian, vérifiez que votre fichier de configuration
+ shorewall.conf contient bien les valeurs suivantes, si elles n'y sont pas
+ faite les changements nécessaires :
+
+
- - NAT_ENABLED=Yes
- - IP_FORWARDING=On
-
-
+ - NAT_ENABLED=Yes
+ - IP_FORWARDING=On
+
+
-
+
Port Forwarding (DNAT)
-
-
Un de nos buts est de, peut être, faire tourner un ou plusieurs
-serveurs sur nos ordinateurs dans la DMZ. 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 SNAT pour ré écrire l'adresse source dans la réponse.
-
-
Ce procédé est appelé Port Forwarding ou Destination Network
-Address Translation(DNAT). Vous configurez le port forwarding en utilisant
-les règles DNAT dans le fichier /etc/shorewall/rules.
-
-
La forme générale d'une simple règle de port forwarding dans /etc/shorewall/rules
-est :
-
-
+
+Un de nos buts est de, peut être, faire tourner un ou plusieurs
+ serveurs sur nos ordinateurs dans la DMZ. 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 SNAT pour ré écrire l'adresse source
+dans la réponse.
+
+Ce procédé est appelé Port Forwarding ou Destination Network
+ Address Translation(DNAT). Vous configurez le port forwarding en utilisant
+ les règles DNAT dans le fichier /etc/shorewall/rules.
+
+La forme générale d'une simple règle de port forwarding dans /etc/shorewall/rules
+ est :
+
+
-
-
- ACTION |
- SOURCE |
- DESTINATION |
- PROTOCOL |
- PORT |
- SOURCE PORT |
- ORIGINAL ADDRESS |
-
-
- DNAT |
- net |
- dmz:<server local ip address> [:<server port>] |
- <protocol> |
- <port> |
-
- |
-
- |
-
-
-
+
+
+ ACTION |
+ SOURCE |
+ DESTINATION |
+ PROTOCOL |
+ PORT |
+ SOURCE PORT |
+ ORIGINAL ADDRESS |
+
+
+ DNAT |
+ net |
+ dmz:<server local ip address> [:<server
+port>] |
+ <protocol> |
+ <port> |
+
+ |
+
+ |
+
+
+
-
-
-Si vous ne spécifiez pas le <server port>, il est supposé
-être le même que <port>.
-
-Exemple - vous faites tourner un serveur Web dans votre DMZ (2) et vous
-voulez faire passer les paquets entrant en TCP sur le port 80 à ce système
-:
-
-
+
+
+Si vous ne spécifiez pas le <server port>, il est supposé
+ être le même que <port>.
+
+Exemple - vous faites tourner un serveur Web dans votre DMZ (2) et vous
+ voulez faire passer les paquets entrant en TCP sur le port 80 à ce système
+ :
+
+
-
-
- ACTION |
- SOURCE |
- DESTINATION |
- PROTOCOL |
- PORT |
- SOURCE PORT |
- ORIGINAL ADDRESS |
-
-
- DNAT |
- net |
- dmz:10.10.11.2 |
- tcp |
- 80 |
- # Fait suivre le port 80 |
- depuis Internet |
-
-
- ACCEPT |
- loc |
- dmz:10.10.11.2 |
- tcp |
- 80 |
- #Permet les connexions |
- depuis le réseau local |
-
-
-
+
+
+ ACTION |
+ SOURCE |
+ DESTINATION |
+ PROTOCOL |
+ PORT |
+ SOURCE PORT |
+ ORIGINAL ADDRESS |
+
+
+ DNAT |
+ net |
+ dmz:10.10.11.2 |
+ tcp |
+ 80 |
+ # Fait suivre le port 80 |
+ depuis Internet |
+
+
+ ACCEPT |
+ loc |
+ dmz:10.10.11.2 |
+ tcp |
+ 80 |
+ #Permet les connexions |
+ depuis le réseau local |
+
+
+
-
-
+
+
Deux points importants à garder en mémoire :
-
+
- - Lorsque vous vous connectez à votre serveur à partir de votre réseau
-local, vous devez utiliser l'adresse IP interne du serveur (10.10.11.2).
- - 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 à
-http://w.x.y.z:5000 où w.x.y.z est votre IP externe).
-
+ - Lorsque vous vous connectez à votre serveur à partir de votre réseau
+ local, vous devez utiliser l'adresse IP interne du serveur (10.10.11.2).
+ - 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 à http://w.x.y.z:5000 où w.x.y.z est votre
+IP externe).
+
-
-
+
+
-
-
- ACTION |
- SOURCE |
- DESTINATION |
- PROTOCOL |
- PORT |
- SOURCE PORT |
- ORIGINAL ADDRESS |
-
-
- DNAT |
- net |
- dmz:10.10.11.2:80 |
- tcp |
- 5000 |
-
- |
-
- |
-
-
-
+
+
+ ACTION |
+ SOURCE |
+ DESTINATION |
+ PROTOCOL |
+ PORT |
+ SOURCE PORT |
+ ORIGINAL ADDRESS |
+
+
+ DNAT |
+ net |
+ dmz:10.10.11.2:80 |
+ tcp |
+ 5000 |
+
+ |
+
+ |
+
+
+
-
-
-Si vous voulez avoir la possibilité de vous connecter à votre serveur depuis
-le réseau local en utilisant votre adresse externe, et si vous avez une adresse
-IP externe statique (fixe), vous pouvez remplacer la règle loc->dmz précédente
-par :
-
-
+
+
+Si vous voulez avoir la possibilité de vous connecter à votre serveur
+depuis le réseau local en utilisant votre adresse externe, et si vous avez
+une adresse IP externe statique (fixe), vous pouvez remplacer la règle loc->dmz
+précédente par :
+
+
-
-
- ACTION |
- SOURCE |
- DESTINATION |
- PROTOCOL |
- PORT |
- SOURCE PORT |
- ORIGINAL ADDRESS |
-
-
- DNAT |
- net |
- dmz:10.10.11.2:80 |
- tcp |
- 80 |
- - |
- <external IP> |
-
-
-
+
+
+ ACTION |
+ SOURCE |
+ DESTINATION |
+ PROTOCOL |
+ PORT |
+ SOURCE PORT |
+ ORIGINAL ADDRESS |
+
+
+ DNAT |
+ net |
+ dmz:10.10.11.2:80 |
+ tcp |
+ 80 |
+ - |
+ <external IP> |
+
+
+
-
-
-Si vous avez une IP dynamique, alors vous devez vous assurer que votre
-interface externe est en route avant de lancer Shorewall et vous devez suivre
-les étapes suivantes (en supposant que votre interface externe est eth0)
-:
-
+
+
+
Si vous avez une IP dynamique, alors vous devez vous assurer que votre
+ interface externe est en route avant de lancer Shorewall et vous devez suivre
+ les étapes suivantes (en supposant que votre interface externe est eth0)
+ :
+
- - Insérez ce qui suit dans /etc/shorewall/params :
-
- ETH0_IP=`find_interface_address eth0`
-
- - Faites votre règle loc->dmz :
-
+ - Insérez ce qui suit dans /etc/shorewall/params :
+
+ ETH0_IP=`find_interface_address eth0`
+
+ - Faites votre règle loc->dmz :
+
-
-
+
+
-
-
- ACTION |
- SOURCE |
- DESTINATION |
- PROTOCOL |
- PORT |
- SOURCE PORT |
- ORIGINAL ADDRESS |
-
-
- DNAT |
- loc
- |
- dmz:10.10.11.2:80 |
- tcp |
- 80 |
- - |
- $ETH0_IP |
-
-
-
+
+
+ ACTION |
+ SOURCE |
+ DESTINATION |
+ PROTOCOL |
+ PORT |
+ SOURCE PORT |
+ ORIGINAL ADDRESS |
+
+
+ DNAT |
+ loc
+ |
+ dmz:10.10.11.2:80 |
+ tcp |
+ 80 |
+ - |
+ $ETH0_IP |
+
+
+
-
-
-Si vous voulez accéder à votre serveur dans la DMZ en utilisant votre adresse
-IP externe, regardez FAQ 2a.
-
+
+
+
Si vous voulez accéder à votre serveur dans la DMZ en utilisant votre
+adresse IP externe, regardez FAQ 2a.
+
- A ce point, ajoutez les règles DNAT et ACCEPT pour vos serveurs..
-
+ A ce point, ajoutez les règles DNAT et ACCEPT pour vos serveurs..
+
Domain Name Server (DNS)
-
-
Normalement, quand vous vous connectez à votre fournisseur
-(ISP), une partie consiste à obtenir votre adresse IP, votre DNS pour le firewall
-(Domain Name Service) est configuré automatiquement (c.a.d., le fichier /etc/resolv.conf
-a été écrit). Il arrive que votre provider vous donne une paire d'adresse
-IP pour les DNS (name servers) afin que vous configuriez manuellement votre
-serveur de nom primaire et secondaire. La manière dont le DNS est configuré
-sur votre firewall est de votre responsabilité. Vous pouvez procéder d'une
-de ses deux façons :
-
+
+
Normalement, quand vous vous connectez à votre fournisseur
+ (ISP), une partie consiste à obtenir votre adresse IP, votre DNS pour le
+firewall (Domain Name Service) est configuré automatiquement (c.a.d., le
+fichier /etc/resolv.conf a été écrit). Il arrive que votre provider vous
+donne une paire d'adresse IP pour les DNS (name servers) afin que vous configuriez
+manuellement votre serveur de nom primaire et secondaire. La manière dont
+le DNS est configuré sur votre firewall est de votre responsabilité. Vous
+pouvez procéder d'une de ses deux façons :
+
- -
-
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 /etc/resolv.conf sur
-votre firewall -- les noms des serveurs sont donnés dans l'enregistrement
-"nameserver" dans ce fichier.
-
- -
+
-
+
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 /etc/resolv.conf
+sur votre firewall -- les noms des serveurs sont donnés dans l'enregistrement
+ "nameserver" dans ce fichier.
+
+ -
- Vous pouvez installer/configurer un cache dns (Caching Name Server) sur
-votre firewall ou dans la DMZ. Red Hat a un RPM pour mettre en cache
-un serveur de nom (le RPM requis aussi le RPM 'bind') et pour les utilisateurs
-de Bering, il y a dnscache.lrp. 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 IP interne du firewall
-(10.10.10.254 dans l'exemple) pour l'adresse de serveur de nom si vous décidez
-de faire tourner le serveur de nom sur votre firewall. Pour permettre à vos
-systèmes locaux de discuter avec votre serveur cache de nom, vous devez ouvrir
-le port 53 (UDP ET TCP) sur le firewall vers le réseau local; vous ferez
-ceci en ajoutant les règles suivantes dans /etc/shorewall/rules.
-
-
-
-
-
- Si vous faites tourner le serveur de nom sur le firewall
-:
-
-
-
- ACTION |
- SOURCE |
- DESTINATION |
- PROTOCOL |
- PORT |
- SOURCE PORT |
- ORIGINAL ADDRESS |
-
-
- ACCEPT |
- loc |
- fw |
- tcp |
- 53 |
-
- |
-
- |
-
-
- ACCEPT |
- loc |
- fw |
- udp |
- 53 |
-
- |
-
- |
-
-
- ACCEPT |
- dmz |
- fw |
- tcp |
- 53 |
-
- |
-
- |
-
-
- ACCEPT |
- dmz |
- fw |
- udp |
- 53 |
-
- |
-
- |
-
-
-
-
+ Vous pouvez installer/configurer un cache dns (Caching Name Server) sur
+ votre firewall ou dans la DMZ. Red Hat a un RPM pour mettre en cache
+ un serveur de nom (le RPM requis aussi le RPM 'bind') et pour les utilisateurs
+ de Bering, il y a dnscache.lrp. 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 IP interne
+du firewall (10.10.10.254 dans l'exemple) pour l'adresse de serveur de nom
+si vous décidez de faire tourner le serveur de nom sur votre firewall. Pour
+permettre à vos systèmes locaux de discuter avec votre serveur cache de
+nom, vous devez ouvrir le port 53 (UDP ET TCP) sur le firewall vers le
+réseau local; vous ferez ceci en ajoutant les règles suivantes dans /etc/shorewall/rules.
-
-
-
-
- Le serveur de nom tourne sur l'ordinateur 1 de la DMZ
+
+
+
+
+ Si vous faites tourner le serveur de nom sur le firewall
+ :
-
-
- ACTION |
- SOURCE |
- DESTINATION |
- PROTOCOL |
- PORT |
- SOURCE PORT |
- ORIGINAL ADDRESS |
-
-
- ACCEPT |
- loc |
- dmz:10.10.11.1 |
- tcp |
- 53 |
-
- |
-
- |
-
-
- ACCEPT |
- loc |
- dmz:10.10.11.1 |
- udp |
- 53 |
-
- |
-
- |
-
-
- ACCEPT |
- fw |
- dmz:10.10.10.1 |
- tcp |
- 53 |
-
- |
-
- |
-
-
- ACCEPT |
- fw |
- dmz:10.10.10.1 |
- udp |
- 53 |
-
- |
-
- |
-
-
-
+
+
+ ACTION |
+ SOURCE |
+ DESTINATION |
+ PROTOCOL |
+ PORT |
+ SOURCE PORT |
+ ORIGINAL ADDRESS |
+
+
+ ACCEPT |
+ loc |
+ fw |
+ tcp |
+ 53 |
+
+ |
+
+ |
+
+
+ ACCEPT |
+ loc |
+ fw |
+ udp |
+ 53 |
+
+ |
+
+ |
+
+
+ ACCEPT |
+ dmz |
+ fw |
+ tcp |
+ 53 |
+
+ |
+
+ |
+
+
+ ACCEPT |
+ dmz |
+ fw |
+ udp |
+ 53 |
+
+ |
+
+ |
+
+
+
-
-
-
-
+
+
+
+
+
+ Le serveur de nom tourne sur l'ordinateur 1 de la DMZ
+
+
+
+
+ ACTION |
+ SOURCE |
+ DESTINATION |
+ PROTOCOL |
+ PORT |
+ SOURCE PORT |
+ ORIGINAL ADDRESS |
+
+
+ ACCEPT |
+ loc |
+ dmz:10.10.11.1 |
+ tcp |
+ 53 |
+
+ |
+
+ |
+
+
+ ACCEPT |
+ loc |
+ dmz:10.10.11.1 |
+ udp |
+ 53 |
+
+ |
+
+ |
+
+
+ ACCEPT |
+ fw |
+ dmz:10.10.10.1 |
+ tcp |
+ 53 |
+
+ |
+
+ |
+
+
+ ACCEPT |
+ fw |
+ dmz:10.10.10.1 |
+ udp |
+ 53 |
+
+ |
+
+ |
+
+
+
+
+
+
+
+
Autres Connexions
-
-
-
-
L'exemple pour trois interfaces contient les règles suivantes
-:
-
-
-
+
+
+
L'exemple pour trois interfaces contient les règles suivantes
+ :
+
+
+
+
-
-
- ACTION |
- SOURCE |
- DESTINATION |
- PROTOCOL |
- PORT |
- SOURCE PORT |
- ORIGINAL ADDRESS |
-
-
- ACCEPT |
- fw |
- net |
- udp |
- 53 |
-
- |
-
- |
-
-
- ACCEPT |
- fw |
- net |
- tcp |
- 53 |
-
- |
-
- |
-
-
-
+
+
+ ACTION |
+ SOURCE |
+ DESTINATION |
+ PROTOCOL |
+ PORT |
+ SOURCE PORT |
+ ORIGINAL ADDRESS |
+
+
+ ACCEPT |
+ fw |
+ net |
+ udp |
+ 53 |
+
+ |
+
+ |
+
+
+ ACCEPT |
+ fw |
+ net |
+ tcp |
+ 53 |
+
+ |
+
+ |
+
+
+
-
-
-
-
-
Ces règles permettent l'accès DNS depuis votre firewall et
-peuvent être enlevées si vous avez décommenté la ligne dans /etc/shorewall/policy
-autorisant toutes les connexions depuis votre firewall et vers Internet.
-
-
-
+
+
+
+
+
Ces règles permettent l'accès DNS depuis votre firewall et
+ peuvent être enlevées si vous avez décommenté la ligne dans /etc/shorewall/policy
+ autorisant toutes les connexions depuis votre firewall et vers Internet.
+
+
+
L'exemple contient aussi :
-
-
-
+
+
+
-
-
- ACTION |
- SOURCE |
- DESTINATION |
- PROTOCOL |
- PORT |
- SOURCE PORT |
- ORIGINAL ADDRESS |
-
-
- ACCEPT |
- loc |
- fw |
- tcp |
- 22 |
-
- |
-
- |
-
-
- ACCEPT |
- loc |
- dmz |
- tcp |
- 22 |
-
- |
-
- |
-
-
-
+
+
+ ACTION |
+ SOURCE |
+ DESTINATION |
+ PROTOCOL |
+ PORT |
+ SOURCE PORT |
+ ORIGINAL ADDRESS |
+
+
+ ACCEPT |
+ loc |
+ fw |
+ tcp |
+ 22 |
+
+ |
+
+ |
+
+
+ ACCEPT |
+ loc |
+ dmz |
+ tcp |
+ 22 |
+
+ |
+
+ |
+
+
+
-
-
-
-
-
Cette règle permet de faire fonctionner une serveur SSH sur
-le firewall et sur tous les systèmes de la DMZ et d'y autoriser la connexion
-à partir de votre réseau local.
-
-
-
-
Si vous désirez permettre d'autres connexions entre vos systèmes,
-la forme générale est :
-
-
-
+
+
+
Cette règle permet de faire fonctionner une serveur SSH sur
+ le firewall et sur tous les systèmes de la DMZ et d'y autoriser la connexion
+ à partir de votre réseau local.
+
+
+
+
Si vous désirez permettre d'autres connexions entre vos systèmes,
+ la forme générale est :
+
+
+
+
-
-
- ACTION |
- SOURCE |
- DESTINATION |
- PROTOCOL |
- PORT |
- SOURCE PORT |
- ORIGINAL ADDRESS |
-
-
- ACCEPT |
- <source zone> |
- <destination zone> |
- <protocol> |
- <port> |
-
- |
-
- |
-
-
-
+
+
+ ACTION |
+ SOURCE |
+ DESTINATION |
+ PROTOCOL |
+ PORT |
+ SOURCE PORT |
+ ORIGINAL ADDRESS |
+
+
+ ACCEPT |
+ <source zone> |
+ <destination zone> |
+ <protocol> |
+ <port> |
+
+ |
+
+ |
+
+
+
-
-
-
-
-
Exemple - Vous voulez faire tourner un serveur DNS disponible
-pour le publique sur votre firewall :
-
-
-
+
+
+
Exemple - Vous voulez faire tourner un serveur DNS disponible
+ pour le publique sur votre firewall :
+
+
+
+
-
-
- ACTION |
- SOURCE |
- DESTINATION |
- PROTOCOL |
- PORT |
- SOURCE PORT |
- ORIGINAL ADDRESS |
-
-
- ACCEPT |
- net |
- fw |
- tcp |
- 53 |
- #permet les accès DNS |
- depuis Internet |
-
-
- ACCEPT |
- net |
- fw |
- tcp |
- 53 |
- #permet les accès DNS |
- depuis Internet |
-
-
-
+
+
+ ACTION |
+ SOURCE |
+ DESTINATION |
+ PROTOCOL |
+ PORT |
+ SOURCE PORT |
+ ORIGINAL ADDRESS |
+
+
+ ACCEPT |
+ net |
+ fw |
+ tcp |
+ 53 |
+ #permet les accès DNS |
+ depuis Internet |
+
+
+ ACCEPT |
+ net |
+ fw |
+ tcp |
+ 53 |
+ #permet les accès DNS |
+ depuis Internet |
+
+
+
-
-
-
-
-
Ces deux règles seront, bien sur, ajoutées aux règles décrites
-dans "Vous pouvez installer/configurer un cache dns (Caching Name Server)
-sur votre firewall ou dans la DMZ".
-
-
-
-
Si vous ne savez pas quel port ou protocole une application
-particulière utilise, regardez ici.
-
-
-
-
Important: Je ne vous recommande pas d'autoriser le telnet
-depuis ou vers l'Internet car il utilise du texte en clair (même pour le login
-et le mot de passe !). Si vous voulez avoir un accès au shell de votre firewall
-depuis Internet, utilisez SSH :
-
-
-
+
+
+
Ces deux règles seront, bien sur, ajoutées aux règles décrites
+ dans "Vous pouvez installer/configurer un cache dns (Caching Name Server)
+ sur votre firewall ou dans la DMZ".
+
+
+
+
Si vous ne savez pas quel port ou protocole une application
+ particulière utilise, regardez ici.
+
+
+
+
Important: Je ne vous recommande pas d'autoriser le telnet
+ depuis ou vers l'Internet car il utilise du texte en clair (même pour le
+login et le mot de passe !). Si vous voulez avoir un accès au shell de votre
+firewall depuis Internet, utilisez SSH :
+
+
+
+
-
-
- ACTION |
- SOURCE |
- DESTINATION |
- PROTOCOL |
- PORT |
- SOURCE PORT |
- ORIGINAL ADDRESS |
-
-
- ACCEPT |
- net |
- fw |
- tcp |
- 22 |
-
- |
-
- |
-
-
-
+
+
+ ACTION |
+ SOURCE |
+ DESTINATION |
+ PROTOCOL |
+ PORT |
+ SOURCE PORT |
+ ORIGINAL ADDRESS |
+
+
+ ACCEPT |
+ net |
+ fw |
+ tcp |
+ 22 |
+
+ |
+
+ |
+
+
+
-
-
-
-
+
+
+
+
- Et maintenant, éditez /etc/shorewall/rules pour rajouter les autres connexions
-désirées.
-
-
-
+ Et maintenant, éditez /etc/shorewall/rules pour rajouter les autres connexions
+ désirées.
+
+
+
Lancer et Arrêter son Firewall
-
-
-
+
+
+
- La procédure d'installation 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 avez fini avec
-la configuration du firewall, vous pouvez permettre le lancement de Shorewall
-en supprimant le fichier /etc/shorewall/startup_disabled.
-
-
-
IMPORTANT: Les utilisateurs des paquets .deb doivent éditer
-/etc/default/shorewall et mettre 'startup=1'.
-
-
-
-
-
Le firewall est activé en utilisant la commande "shorewall
-start" et arrêté avec "shorewall stop". Lorsque le firewall est stoppé, le
-routage est autorisé sur les hôtes qui possèdent une entrée dans /etc/shorewall/routestopped. Un
-firewall qui tourne peut être relancé en utilisant la commande "shorewall
-restart". Si vous voulez enlever toutes traces de Shorewall sur votre configuration
-de Netfilter, utilisez "shorewall clear".
-
-
-
+ La
procédure d'installation 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 avez fini avec la configuration du firewall, vous pouvez permettre le
+lancement de Shorewall en supprimant le fichier /etc/shorewall/startup_disabled.
+
+
+
IMPORTANT: Les utilisateurs des paquets .deb doivent éditer
+ /etc/default/shorewall et mettre 'startup=1'.
+
+
+
+
+
Le firewall est activé en utilisant la commande "shorewall
+ start" et arrêté avec "shorewall stop". Lorsque le firewall est stoppé,
+le routage est autorisé sur les hôtes qui possèdent une entrée dans /etc/shorewall/routestopped. Un
+ firewall qui tourne peut être relancé en utilisant la commande "shorewall
+ restart". Si vous voulez enlever toutes traces de Shorewall sur votre configuration
+ de Netfilter, utilisez "shorewall clear".
+
+
+
- L'exemple pour trois interfaces suppose que vous voulez permettre le routage
-depuis/vers eth1 (votre réseau local) et eth2(DMZ) lorsque
-Shorewall est arrêté. Si ces deux interfaces ne sont pas connectées
-à votre réseau local et votre DMZ, ou si vous voulez permettre un ensemble
-d'hôtes différents, modifiez /etc/shorewall/routestopped en conséquence.
-
-
-
+
+
+
ATTENTION: Si vous êtes connecté à votre firewall depuis
+Internet, n'essayez pas une commande "shorewall stop" tant que vous n'avez
+pas ajouté une entrée pour votre adresse IP (celle à partir de laquelle vous
+êtes connectée) dans /etc/shorewall/routestopped.
+ De la même manière, je ne vous recommande pas d'utiliser "shorewall restart";
+ il est plus intéressant de créer une configuration alternativeet de la
-tester en utilisant la commande alternativeet de la
+ tester en utilisant la commande "shorewall try".
-
-
+
+
Last updated 12/20/2002 - Tom Eastep
-
-
Copyright 2002 Thomas
-M. Eastep
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
Copyright 2002 Thomas
+ M. Eastep
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Shorewall-docs/troubleshoot.htm b/Shorewall-docs/troubleshoot.htm
index 90d9e7bfa..f39e5c545 100644
--- a/Shorewall-docs/troubleshoot.htm
+++ b/Shorewall-docs/troubleshoot.htm
@@ -1,233 +1,224 @@
-
+
Shorewall Troubleshooting
-
+
-
+
-
+
-
-
-
-
+ |
+
+
Shorewall Troubleshooting
-
- |
-
-
-
+
+
+
+
+
-
+
Check the Errata
-
-
Check the Shorewall Errata to be
- sure that there isn't an update that you are missing for your version
+
+
Check the Shorewall Errata to be
+ sure that there isn't an update that you are missing for your version
of the firewall.
-
+
Check the FAQs
-
-
Check the FAQs for solutions to common
+
+
Check the FAQs for solutions to common
problems.
-
+
If the firewall fails to start
- If you receive an error message when starting or restarting
- the firewall and you can't determine the cause, then do the following:
-
+ If you receive an error message when starting or restarting
+ the firewall and you can't determine the cause, then do the following:
+
- - Make a note of the error message that you see.
-
- - shorewall debug start 2> /tmp/trace
- - Look at the /tmp/trace file and see if that helps you
- determine what the problem is. Be sure you find the place in the log
- where the error message you saw is generated -- in 99.9% of the cases, it
- will not be near the end of the log because after startup errors, Shorewall
- goes through a "shorewall stop" phase which will also be traced.
- - If you still can't determine what's wrong then see the
+
- Make a note of the error message that you see.
+
+ - shorewall debug start 2> /tmp/trace
+ - Look at the /tmp/trace file and see if that helps you
+ determine what the problem is. Be sure you find the place in the log
+ where the error message you saw is generated -- If you are using Shorewall
+1.4.0 or later, you should find the message near the end of the log.
+ - If you still can't determine what's wrong then see the
support page.
-
+
- Here's an example. During startup, a user sees the following:
-
-
+ Here's an example. During startup, a user sees the following:
+
+
Adding Common Rules
iptables: No chain/target/match by that name
Terminated
-
- A search through the trace for "No chain/target/match by that name" turned
- up the following:
-
+
+ A search through the trace for "No chain/target/match by that name" turned
+ up the following:
+
+ echo 'Adding Common Rules'
+ add_common_rules
+ run_iptables -A reject -p tcp -j REJECT --reject-with tcp-reset
++ echo -A reject -p tcp -j REJECT --reject-with tcp-reset
++ sed 's/!/! /g'
+ iptables -A reject -p tcp -j REJECT --reject-with tcp-reset
iptables: No chain/target/match by that name
-
- The command that failed was: "iptables -A reject -p tcp -j REJECT --reject-with
- tcp-reset". In this case, the user had compiled his own kernel and had forgotten
- to include REJECT target support (see kernel.htm)
-
+
+ The command that failed was: "iptables -A reject -p tcp -j REJECT --reject-with
+ tcp-reset". In this case, the user had compiled his own kernel and had forgotten
+ to include REJECT target support (see
kernel.htm)
+
Your network environment
-
-
Many times when people have problems with Shorewall, the problem is
-actually an ill-conceived network setup. Here are several popular snafus:
-
-
+
+
Many times when people have problems with Shorewall, the problem is actually
+an ill-conceived network setup. Here are several popular snafus:
+
- - Port Forwarding where client and server are in
- the same subnet. See FAQ 2.
- - Changing the IP address of a local system to be in the
-external subnet, thinking that Shorewall will suddenly believe that
+
- Port Forwarding where client and server are
+in the same subnet. See FAQ 2.
+ - Changing the IP address of a local system to be in the
+external subnet, thinking that Shorewall will suddenly believe that
the system is in the 'net' zone.
- - Multiple interfaces connected to the same HUB or Switch.
- Given the way that the Linux kernel respond to ARP "who-has" requests,
+
- Multiple interfaces connected to the same HUB or Switch.
+ Given the way that the Linux kernel respond to ARP "who-has" requests,
this type of setup does NOT work the way that you expect it to.
-
+
-
+
If you are having connection problems:
-
-
If the appropriate policy for the connection that you are
- trying to make is ACCEPT, please DO NOT ADD ADDITIONAL ACCEPT RULES TRYING
- TO MAKE IT WORK. Such additional rules will NEVER make it work, they
-add clutter to your rule set and they represent a big security hole in
+
+
If the appropriate policy for the connection that you are
+ trying to make is ACCEPT, please DO NOT ADD ADDITIONAL ACCEPT RULES TRYING
+ TO MAKE IT WORK. Such additional rules will NEVER make it work, they
+add clutter to your rule set and they represent a big security hole in
the event that you forget to remove them later.
-
-
I also recommend against setting all of your policies to
- ACCEPT in an effort to make something work. That robs you of one of
- your best diagnostic tools - the "Shorewall" messages that Netfilter
- will generate when you try to connect in a way that isn't permitted
+
+
I also recommend against setting all of your policies to
+ ACCEPT in an effort to make something work. That robs you of one of
+ your best diagnostic tools - the "Shorewall" messages that Netfilter
+ will generate when you try to connect in a way that isn't permitted
by your rule set.
-
-
Check your log ("/sbin/shorewall show log"). If you don't
- see Shorewall messages, then your problem is probably NOT a Shorewall
- problem. If you DO see packet messages, it may be an indication that you
+
+
Check your log ("/sbin/shorewall show log"). If you don't
+ see Shorewall messages, then your problem is probably NOT a Shorewall
+ problem. If you DO see packet messages, it may be an indication that you
are missing one or more rules -- see FAQ 17.
-
-
While you are troubleshooting, it is a good idea to clear
+
+
While you are troubleshooting, it is a good idea to clear
two variables in /etc/shorewall/shorewall.conf:
-
+
LOGRATE=""
- LOGBURST=""
-
-
This way, you will see all of the log messages being
- generated (be sure to restart shorewall after clearing these variables).
-
+ LOGBURST=""
+
+
This way, you will see all of the log messages being generated
+(be sure to restart shorewall after clearing these variables).
+
Example:
-
-
-Jun 27 15:37:56 gateway kernel:
- Shorewall:all2all:REJECT:IN=eth2 OUT=eth1 SRC=192.168.2.2 DST=192.168.1.3
- LEN=67 TOS=0x00 PREC=0x00 TTL=63 ID=5805 DF PROTO=UDP SPT=1803 DPT=53
- LEN=47
-
+
+Jun 27 15:37:56 gateway kernel: Shorewall:all2all:REJECT:IN=eth2
+ OUT=eth1 SRC=192.168.2.2 DST=192.168.1.3 LEN=67 TOS=0x00 PREC=0x00 TTL=63
+ ID=5805 DF PROTO=UDP SPT=1803 DPT=53 LEN=47
+
Let's look at the important parts of this message:
-
+
- - all2all:REJECT - This packet was REJECTed out of the all2all
- chain -- the packet was rejected under the "all"->"all" REJECT
+
- all2all:REJECT - This packet was REJECTed out of the all2all
+ chain -- the packet was rejected under the "all"->"all" REJECT
policy (see FAQ 17).
- - IN=eth2 - the packet entered the firewall via eth2
- - OUT=eth1 - if accepted, the packet would be sent on eth1
- - SRC=192.168.2.2 - the packet was sent by 192.168.2.2
- - DST=192.168.1.3 - the packet is destined for 192.168.1.3
- - PROTO=UDP - UDP Protocol
- - DPT=53 - DNS
-
+ - IN=eth2 - the packet entered the firewall via eth2
+ - OUT=eth1 - if accepted, the packet would be sent on eth1
+ - SRC=192.168.2.2 - the packet was sent by 192.168.2.2
+ - DST=192.168.1.3 - the packet is destined for 192.168.1.3
+ - PROTO=UDP - UDP Protocol
+ - DPT=53 - DNS
+
-
-
In this case, 192.168.2.2 was in the "dmz" zone and 192.168.1.3
+
+
In this case, 192.168.2.2 was in the "dmz" zone and 192.168.1.3
is in the "loc" zone. I was missing the rule:
-
+
ACCEPT dmz loc udp 53
-
-
-
See FAQ 17 for additional information
+
+
+
See FAQ 17 for additional information
about how to interpret the chain name appearing in a Shorewall log message.
-
-
+
+
'Ping' Problems?
- Either can't ping when you think you should be able to or are able to ping
- when you think that you shouldn't be allowed? Shorewall's 'Ping' Management
is described here.
-
+
Other Gotchas
-
+
- - Seeing rejected/dropped packets logged out of the INPUT
-or FORWARD chains? This means that:
-
+
- Seeing rejected/dropped packets logged out of the INPUT
+or FORWARD chains? This means that:
- - your zone definitions are screwed up and the host that
- is sending the packets or the destination host isn't in any zone
- (using an /etc/shorewall/hosts
+
- your zone definitions are screwed up and the host that
+ is sending the packets or the destination host isn't in any zone
+ (using an /etc/shorewall/hosts
file are you?); or
- - the source and destination hosts are both connected to
- the same interface and you don't have a policy or rule for the
-source zone to or from the destination zone.
-
+ - the source and destination hosts are both connected
+to the same interface and you don't have a policy or rule for
+the source zone to or from the destination zone.
+
-
- - Remember that Shorewall doesn't automatically allow ICMP
- type 8 ("ping") requests to be sent between zones. If you want
-pings to be allowed between zones, you need a rule of the form:
-
- ACCEPT <source zone> <destination zone>
- icmp echo-request
-
- The ramifications of this can be subtle. For example, if you
- have the following in /etc/shorewall/nat:
-
- 10.1.1.2 eth0 130.252.100.18
-
- and you ping 130.252.100.18, unless you have allowed icmp
-type 8 between the zone containing the system you are pinging from
+
+ - Remember that Shorewall doesn't automatically allow ICMP
+ type 8 ("ping") requests to be sent between zones. If you want pings
+ to be allowed between zones, you need a rule of the form:
+
+ ACCEPT <source zone> <destination
+zone> icmp echo-request
+
+ The ramifications of this can be subtle. For example, if
+you have the following in /etc/shorewall/nat:
+
+ 10.1.1.2 eth0 130.252.100.18
+
+ and you ping 130.252.100.18, unless you have allowed icmp
+type 8 between the zone containing the system you are pinging from
and the zone containing 10.1.1.2, the ping requests will be dropped.
- - If you specify "routefilter" for an interface, that
+
- If you specify "routefilter" for an interface, that
interface must be up prior to starting the firewall.
- - Is your routing correct? For example, internal systems
-usually need to be configured with their default gateway set to
-the IP address of their nearest firewall interface. One often overlooked
-aspect of routing is that in order for two hosts to communicate, the
-routing between them must be set up in both directions. So
-when setting up routing between A and B, be sure to
-verify that the route from B back to A is defined.
- - Some versions of LRP (EigerStein2Beta for example) have
+
- Is your routing correct? For example, internal systems
+usually need to be configured with their default gateway set to the
+IP address of their nearest firewall interface. One often overlooked
+aspect of routing is that in order for two hosts to communicate, the
+routing between them must be set up in both directions. So when
+setting up routing between A and B, be sure to verify
+that the route from B back to A is defined.
+ - Some versions of LRP (EigerStein2Beta for example) have
a shell with broken variable expansion. You can get a corrected
+ href="ftp://ftp.shorewall.net/pub/shorewall/ash.gz"> You can get a corrected
shell from the Shorewall Errata download site.
- - Do you have your kernel properly configured? Do you have your kernel properly configured? Click here to see my kernel configuration.
- - Shorewall requires the "ip" program. That program is
- generally included in the "iproute" package which should be included
- with your distribution (though many distributions don't install iproute
+
- Shorewall requires the "ip" program. That program
+ is generally included in the "iproute" package which should be included
+ with your distribution (though many distributions don't install iproute
by default). You may also download the latest source tarball from ftp://ftp.inr.ac.ru/ip-routing
+ href="ftp://ftp.inr.ac.ru/ip-routing" target="_blank"> ftp://ftp.inr.ac.ru/ip-routing
.
- - Problems with NAT? Be sure that you let Shorewall
+
- Problems with NAT? Be sure that you let Shorewall
add all external addresses to be use with NAT unless you have set ADD_IP_ALIASES =No in /etc/shorewall/shorewall.conf.
-
+
-
+
Still Having Problems?
-
+
See the support page.
-
-
-
+
+
-
-Last updated 2/21/2003 - Tom Eastep
-
-Copyright
+
+
Last updated 4/29/2003 - Tom Eastep
+
+Copyright
© 2001, 2002 Thomas M. Eastep.
-
-
-
+
diff --git a/Shorewall-docs/two-interface.htm b/Shorewall-docs/two-interface.htm
index 0d00756ee..ef6c48ab3 100644
--- a/Shorewall-docs/two-interface.htm
+++ b/Shorewall-docs/two-interface.htm
@@ -1,1027 +1,1029 @@
-
+
-
+
-
+
-
+
Two-Interface Firewall
-
+
-
+
-
-
-
+ |
+
+
Basic Two-Interface Firewall
- |
-
-
-
+
+
+
+
-
-Setting up a Linux system as a firewall for a small network
- is a fairly straight-forward task if you understand the basics and
- follow the documentation.
-
-This guide doesn't attempt to acquaint you with all of the features of
- Shorewall. It rather focuses on what is required to configure Shorewall
- in its most common configuration:
-
+
+Setting up a Linux system as a firewall for a small network
+ is a fairly straight-forward task if you understand the basics
+and follow the documentation.
+
+This guide doesn't attempt to acquaint you with all of the features of
+ Shorewall. It rather focuses on what is required to configure Shorewall
+ in its most common configuration:
+
- - Linux system used as a firewall/router for a small
-local network.
- - Single public IP address.
- - Internet connection through cable modem, DSL, ISDN,
- Frame Relay, dial-up ...
-
+ - Linux system used as a firewall/router for a small
+ local network.
+ - Single public IP address.
+ - Internet connection through cable modem, DSL, ISDN,
+ Frame Relay, dial-up ...
+
-
+
Here is a schematic of a typical installation.
-
+
-
-
-If you are running Shorewall under Mandrake 9.0 or later, you can easily
- configure the above setup using the Mandrake "Internet Connection Sharing"
- applet. From the Mandrake Control Center, select "Network & Internet"
- then "Connection Sharing".
-
-
-Note however, that the Shorewall configuration produced by Mandrake
-Internet Connection Sharing is strange and is apt to confuse you if you use
-the rest of this documentation (it has two local zones; "loc" and "masq"
-where "loc" is empty; this conflicts with this documentation which assumes
-a single local zone "loc"). We therefore recommend that once you have set
-up this sharing that you uninstall the Mandrake Shorewall RPM and install
-the one from the download page then follow the
+
+
+If you are running Shorewall under Mandrake 9.0 or later, you can easily
+ configure the above setup using the Mandrake "Internet Connection Sharing"
+ applet. From the Mandrake Control Center, select "Network & Internet"
+ then "Connection Sharing".
+
+
+Note however, that the Shorewall configuration produced by Mandrake
+ Internet Connection Sharing is strange and is apt to confuse you if you
+use the rest of this documentation (it has two local zones; "loc" and "masq"
+where "loc" is empty; this conflicts with this documentation which assumes
+a single local zone "loc"). We therefore recommend that once you have set
+up this sharing that you uninstall the Mandrake Shorewall RPM and install
+the one from the download page then follow the
instructions in this Guide.
-
-
-Shorewall requires that you have the iproute/iproute2 package installed
- (on RedHat, the package is called iproute). You can
- tell if this package is installed by the presence of an ip program
- on your firewall system. As root, you can use the 'which' command
-to check for this program:
-
- [root@gateway root]# which ip
/sbin/ip
[root@gateway root]#
-
-I recommend that you first read through the guide to familiarize yourself
- with what's involved then go back through it again making your configuration
- changes. Points at which configuration changes are recommended are
- flagged with
- . Configuration notes that are unique to LEAF/Bering are
-marked with
-
+
+Shorewall requires that you have the iproute/iproute2 package installed
+ (on RedHat, the package is called iproute). You can
+ tell if this package is installed by the presence of an ip
+program on your firewall system. As root, you can use the 'which'
+command to check for this program:
+
+ [root@gateway root]# which ip
/sbin/ip
[root@gateway root]#
+
+I recommend that you first read through the guide to familiarize yourself
+ with what's involved then go back through it again making your
+configuration changes. Points at which configuration changes are
+ recommended are flagged with
+ . Configuration notes that are unique to LEAF/Bering are
+ marked with
+
+
- If you edit your configuration files on a Windows system,
- you must save them as Unix files if your editor supports that option
- or you must run them through dos2unix before trying to use them. Similarly,
- if you copy a configuration file from your Windows hard drive to a
-floppy disk, you must run dos2unix against the copy before using it with
-Shorewall.
-
+ If you edit your configuration files on a Windows
+system, you must save them as Unix files if your editor supports
+that option or you must run them through dos2unix before trying to
+use them. Similarly, if you copy a configuration file from your Windows
+hard drive to a floppy disk, you must run dos2unix against the copy
+before using it with Shorewall.
+
-
+
Shorewall Concepts
-
+
- The configuration files for Shorewall are contained in the
-directory /etc/shorewall -- for simple setups, you will only need to
+ The configuration files for Shorewall are contained in the
+directory /etc/shorewall -- for simple setups, you will only need to
deal with a few of these as described in this guide. After you have installed Shorewall, download the two-interface
-sample, un-tar it (tar -zxvf two-interfaces.tgz) and and copy
-the files to /etc/shorewall (these files will replace files with
-the same name).
-
-As each file is introduced, I suggest that you look through the actual
- file on your system -- each file contains detailed configuration
-instructions and default entries.
-
-Shorewall views the network where it is running as being composed of a
- set of zones. In the two-interface sample configuration, the
- following zone names are used:
-
+ href="http://www1.shorewall.net/pub/shorewall/Samples/">two-interface sample,
+ un-tar it (tar -zxvf two-interfaces.tgz) and and copy the files to
+ /etc/shorewall (these files will replace files with the same name).
+
+As each file is introduced, I suggest that you look through the actual
+ file on your system -- each file contains detailed configuration
+ instructions and default entries.
+
+Shorewall views the network where it is running as being composed of a
+ set of zones. In the two-interface sample configuration,
+the following zone names are used:
+
-
+
+
+ Name |
+ Description |
+
- Name |
- Description |
-
-
- net |
- The Internet |
-
-
- loc |
- Your Local Network |
-
-
-
+ net |
+ The Internet |
+
+
+ loc |
+ Your Local Network |
+
+
+
-
-Zones are defined in the /etc/shorewall/zones
- file.
-
-Shorewall also recognizes the firewall system as its own zone - by default,
- the firewall itself is known as fw.
-
-Rules about what traffic to allow and what traffic to deny are expressed
- in terms of zones.
-
-
- - You express your default policy for connections from
- one zone to another zone in the /etc/shorewall/policy file.
- - You define exceptions to those default policies in
-the /etc/shorewall/rules file.
-
-
-
-For each connection request entering the firewall, the request is first
- checked against the /etc/shorewall/rules file. If no rule in that
- file matches the connection request then the first policy in /etc/shorewall/policy
- that matches the request is applied. If that policy is REJECT or
- DROP the request is first checked against the rules in /etc/shorewall/common
- (the samples provide that file for you).
-
-The /etc/shorewall/policy file included with the two-interface sample has
-the following policies:
-
-
-
-
-
- Source Zone |
- Destination Zone |
- Policy |
- Log Level |
- Limit:Burst |
-
-
- loc |
- net |
- ACCEPT |
- |
- |
-
-
- net |
- all |
- DROP |
- info |
- |
-
-
- all |
- all |
- REJECT |
- info |
- |
-
-
-
-
-
-
-
- In the two-interface sample, the line below is included but commented
- out. If you want your firewall system to have full access to servers
- on the internet, uncomment that line.
+Zones are defined in the /etc/shorewall/zones
+ file.
+
+Shorewall also recognizes the firewall system as its own zone - by default,
+ the firewall itself is known as fw.
+
+Rules about what traffic to allow and what traffic to deny are expressed
+ in terms of zones.
+
+
+
+For each connection request entering the firewall, the request is first
+ checked against the /etc/shorewall/rules file. If no rule in that
+ file matches the connection request then the first policy in /etc/shorewall/policy
+ that matches the request is applied. If that policy is REJECT
+or DROP the request is first checked against the rules in /etc/shorewall/common
+ (the samples provide that file for you).
+
+The /etc/shorewall/policy file included with the two-interface sample
+has the following policies:
+
+
-
+
+
+ Source Zone |
+ Destination Zone |
+ Policy |
+ Log Level |
+ Limit:Burst |
+
- Source Zone |
- Destination Zone |
- Policy |
- Log Level |
- Limit:Burst |
-
-
- fw |
- net |
- ACCEPT |
- |
- |
-
-
-
+ loc |
+ net |
+ ACCEPT |
+ |
+ |
+
+
+ net |
+ all |
+ DROP |
+ info |
+ |
+
+
+ all |
+ all |
+ REJECT |
+ info |
+ |
+
+
+
-
-
+
+
+
+ In the two-interface sample, the line below is included but commented
+ out. If you want your firewall system to have full access to servers
+ on the internet, uncomment that line.
+
+
+
+
+ Source Zone |
+ Destination Zone |
+ Policy |
+ Log Level |
+ Limit:Burst |
+
+
+ fw |
+ net |
+ ACCEPT |
+ |
+ |
+
+
+
+
+
+
The above policy will:
-
+
- - allow all connection requests from your local network
- to the internet
- - drop (ignore) all connection requests from the internet
- to your firewall or local network
- - optionally accept all connection requests from the
-firewall to the internet (if you uncomment the additional policy)
- - reject all other connection requests.
-
+ - allow all connection requests from your local network
+ to the internet
+ - drop (ignore) all connection requests from the internet
+ to your firewall or local network
+ - optionally accept all connection requests from the
+ firewall to the internet (if you uncomment the additional policy)
+ - reject all other connection requests.
+
-
+
- At this point, edit your /etc/shorewall/policy and make
- any changes that you wish.
-
+ At this point, edit your /etc/shorewall/policy and
+make any changes that you wish.
+
Network Interfaces
-
+
-
-
-The firewall has two network interfaces. Where Internet
-connectivity is through a cable or DSL "Modem", the External Interface
- will be the ethernet adapter that is connected to that "Modem" (e.g., eth0)
- unless you connect via Point-to-Point Protocol
- over Ethernet (PPPoE) or Point-to-Point
- Tunneling Protocol (PPTP) in which case the External
- Interface will be a ppp interface (e.g., ppp0). If you connect
- via a regular modem, your External Interface will also be ppp0.
- If you connect via ISDN, your external interface will be ippp0.
-
+
+
+The firewall has two network interfaces. Where Internet connectivity
+is through a cable or DSL "Modem", the External Interface will be
+the ethernet adapter that is connected to that "Modem" (e.g., eth0)
+ unless you connect via Point-to-Point Protocol
+ over Ethernet (PPPoE) or Point-to-Point
+ Tunneling Protocol (PPTP) in which case the External
+ Interface will be a ppp interface (e.g., ppp0). If you connect
+ via a regular modem, your External Interface will also be ppp0.
+ If you connect via ISDN, your external interface will be ippp0.
+
- If your external interface is ppp0 or ippp0
- then you will want to set CLAMPMSS=yes in ppp0 or ippp0
+ then you will want to set CLAMPMSS=yes in /etc/shorewall/shorewall.conf.
-
-Your Internal Interface will be an ethernet adapter
- (eth1 or eth0) and will be connected to a hub or switch. Your other
- computers will be connected to the same hub/switch (note: If you have
- only a single internal system, you can connect the firewall directly
- to the computer using a cross-over cable).
-
+
+Your Internal Interface will be an ethernet adapter
+ (eth1 or eth0) and will be connected to a hub or switch. Your other
+ computers will be connected to the same hub/switch (note: If you
+have only a single internal system, you can connect the firewall
+directly to the computer using a cross-over cable).
+
- Do not connect the internal and external interface
- to the same hub or switch (even for testing). It won't work the way
- that you think that it will and you will end up confused and believing
- that Shorewall doesn't work at all.
-
+ Do not connect the internal and external interface
+ to the same hub or switch (even for testing). It won't work the way
+ that you think that it will and you will end up confused and believing
+ that Shorewall doesn't work at all.
+
- The Shorewall two-interface sample configuration assumes
- that the external interface is eth0 and the internal interface
- is eth1. If your configuration is different, you will have to
- modify the sample /etc/shorewall/interfaces
- file accordingly. While you are there, you may wish to review the
+ The Shorewall two-interface sample configuration assumes
+ that the external interface is eth0 and the internal interface
+ is eth1. If your configuration is different, you will have
+to modify the sample /etc/shorewall/interfaces
+ file accordingly. While you are there, you may wish to review the
list of options that are specified for the interfaces. Some hints:
-
+
- -
-
If your external interface is ppp0 or ippp0,
- you can replace the "detect" in the second column with "-".
-
-
- -
-
If your external interface is ppp0 or ippp0
- or if you have a static IP address, you can remove "dhcp" from
-the option list.
-
-
+ -
+
If your external interface is ppp0 or ippp0,
+ you can replace the "detect" in the second column with "-".
+
+
+ -
+
If your external interface is ppp0 or ippp0
+ or if you have a static IP address, you can remove "dhcp" from
+ the option list.
+
+
-
+
IP Addresses
-
-Before going further, we should say a few words about Internet
- Protocol (IP) addresses. Normally, your ISP will assign you
- a single Public IP address. This address may be assigned via
- the Dynamic Host Configuration Protocol (DHCP) or as part of
-establishing your connection when you dial in (standard modem) or establish
-your PPP connection. In rare cases, your ISP may assign you a static
-IP address; that means that you configure your firewall's external interface
- to use that address permanently. However your external address
- is assigned, it will be shared by all of your systems when you access the
- Internet. You will have to assign your own addresses in your internal
-network (the Internal Interface on your firewall plus your other computers).
-RFC 1918 reserves several Private IP address ranges for this purpose:
-
-
+
+
Before going further, we should say a few words about Internet
+ Protocol (IP) addresses. Normally, your ISP will assign
+you a single Public IP address. This address may be assigned
+via the Dynamic Host Configuration Protocol (DHCP) or as part
+of establishing your connection when you dial in (standard modem) or
+establish your PPP connection. In rare cases, your ISP may assign you
+a static IP address; that means that you configure your firewall's
+external interface to use that address permanently. However
+your external address is assigned, it will be shared by all of your systems
+when you access the Internet. You will have to assign your own addresses
+in your internal network (the Internal Interface on your firewall plus
+your other computers). RFC 1918 reserves several Private IP address
+ranges for this purpose:
+
+
10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255
-
-
-
+
+
+
- Before starting Shorewall, you should look at the
-IP address of your external interface and if it is one of the above
- ranges, you should remove the 'norfc1918' option from the external
- interface's entry in /etc/shorewall/interfaces.
-
-
-
-
You will want to assign your addresses from the same
-sub-network (subnet). For our purposes, we can consider a subnet
- to consists of a range of addresses x.y.z.0 - x.y.z.255. Such a
- subnet will have a Subnet Mask of 255.255.255.0. The address
- x.y.z.0 is reserved as the Subnet Address and x.y.z.255 is
- reserved as the Subnet Broadcast Address. In Shorewall,
- a subnet is described using Classless InterDomain Routing
- (CIDR) notation with consists of the subnet address followed
- by "/24". The "24" refers to the number of consecutive leading "1"
-bits from the left of the subnet mask.
-
-
-
+ Before starting Shorewall, you should look at the
+ IP address of your external interface and if it is one of the
+above ranges, you should remove the 'norfc1918' option from the
+external interface's entry in /etc/shorewall/interfaces.
+
+
+
+
You will want to assign your addresses from the same
+ sub-network (subnet). For our purposes, we can consider a subnet
+ to consists of a range of addresses x.y.z.0 - x.y.z.255. Such
+a subnet will have a Subnet Mask of 255.255.255.0. The address
+ x.y.z.0 is reserved as the Subnet Address and x.y.z.255
+is reserved as the Subnet Broadcast Address. In Shorewall,
+ a subnet is described using Classless InterDomain Routing
+ (CIDR) notation with consists of the subnet address followed
+ by "/24". The "24" refers to the number of consecutive leading "1"
+ bits from the left of the subnet mask.
+
+
+
-
-
+
+
+
-
-
- Range: |
- 10.10.10.0 - 10.10.10.255 |
-
+
- Subnet Address: |
- 10.10.10.0 |
-
-
- Broadcast Address: |
- 10.10.10.255 |
-
-
- CIDR Notation: |
- 10.10.10.0/24 |
-
-
-
+ Range: |
+ 10.10.10.0 - 10.10.10.255 |
+
+
+ Subnet Address: |
+ 10.10.10.0 |
+
+
+ Broadcast Address: |
+ 10.10.10.255 |
+
+
+ CIDR Notation: |
+ 10.10.10.0/24 |
+
+
+
-
+
+
+
+
+
It is conventional to assign the internal interface either
+ the first usable address in the subnet (10.10.10.1 in the above
+ example) or the last usable address (10.10.10.254).
-
-
-
It is conventional to assign the internal interface either
- the first usable address in the subnet (10.10.10.1 in the above
- example) or the last usable address (10.10.10.254).
-
-
-
-
One of the purposes of subnetting is to allow all computers
- in the subnet to understand which other computers can be communicated
- with directly. To communicate with systems outside of the subnetwork,
- systems send packets through a gateway (router).
-
-
-
+
+
+
One of the purposes of subnetting is to allow all computers
+ in the subnet to understand which other computers can be communicated
+ with directly. To communicate with systems outside of the subnetwork,
+ systems send packets through a gateway (router).
+
+
+
- Your local computers (computer 1 and computer 2 in
-the above diagram) should be configured with their default gateway
- to be the IP address of the firewall's internal interface.
-
-
-
-
The foregoing short discussion barely scratches the surface
- regarding subnetting and routing. If you are interested in learning
- more about IP addressing and routing, I highly recommend "IP Fundamentals:
- What Everyone Needs to Know about Addressing & Routing",
-Thomas A. Maufer, Prentice-Hall, 1999, ISBN 0-13-975483-0.
-
-
The remainder of this quide will assume that you have configured
- your network as shown here:
-
+ Your local computers (computer 1 and computer 2
+in the above diagram) should be configured with their
default
+gateway to be the IP address of the firewall's internal interface.
+
+
+
+
The foregoing short discussion barely scratches the surface
+ regarding subnetting and routing. If you are interested in learning
+ more about IP addressing and routing, I highly recommend "IP
+Fundamentals: What Everyone Needs to Know about Addressing &
+Routing", Thomas A. Maufer, Prentice-Hall, 1999, ISBN 0-13-975483-0.
+
+
The remainder of this quide will assume that you have configured
+ your network as shown here:
+
-
-
+
+
The default gateway for computer's 1 & 2 would be 10.10.10.254.
-
-
+
+
- WARNING: Your ISP might assign
- your external interface an RFC 1918 address. If that address is in the 10.10.10.0/24
- subnet then you will need to select a DIFFERENT RFC 1918 subnet for your
- local network.
-
-
+
WARNING: Your ISP might
+assign your external interface an RFC 1918 address. If that address is
+in the 10.10.10.0/24 subnet then you will need to select a DIFFERENT RFC
+1918 subnet for your local network.
+
+
IP Masquerading (SNAT)
-
-
The addresses reserved by RFC 1918 are sometimes referred
- to as non-routable because the Internet backbone routers don't
- forward packets which have an RFC-1918 destination address. When one
- of your local systems (let's assume computer 1) sends a connection
-request to an internet host, the firewall must perform Network Address
-Translation (NAT). The firewall rewrites the source address in
-the packet to be the address of the firewall's external interface; in
-other words, the firewall makes it look as if the firewall itself is
-initiating the connection. This is necessary so that the destination
- host will be able to route return packets back to the firewall (remember
- that packets whose destination address is reserved by RFC 1918 can't
- be routed across the internet so the remote host can't address its response
- to computer 1). When the firewall receives a return packet, it rewrites
- the destination address back to 10.10.10.1 and forwards the packet on
-to computer 1.
-
-
On Linux systems, the above process is often referred to as
- IP Masquerading but you will also see the term Source Network Address
- Translation (SNAT) used. Shorewall follows the convention used with
- Netfilter:
-
+
+
The addresses reserved by RFC 1918 are sometimes referred
+ to as non-routable because the Internet backbone routers
+don't forward packets which have an RFC-1918 destination address.
+When one of your local systems (let's assume computer 1) sends a connection
+ request to an internet host, the firewall must perform Network
+Address Translation (NAT). The firewall rewrites the source address
+in the packet to be the address of the firewall's external interface;
+in other words, the firewall makes it look as if the firewall itself
+is initiating the connection. This is necessary so that the destination
+ host will be able to route return packets back to the firewall (remember
+ that packets whose destination address is reserved by RFC 1918 can't
+ be routed across the internet so the remote host can't address its response
+ to computer 1). When the firewall receives a return packet, it rewrites
+ the destination address back to 10.10.10.1 and forwards the packet on
+ to computer 1.
+
+
On Linux systems, the above process is often referred to
+as IP Masquerading but you will also see the term Source Network
+Address Translation (SNAT) used. Shorewall follows the convention used
+with Netfilter:
+
- -
-
Masquerade describes the case where you let your
- firewall system automatically detect the external interface address.
-
-
- -
-
SNAT refers to the case when you explicitly specify
- the source address that you want outbound packets from your local
- network to use.
-
-
+ -
+
Masquerade describes the case where you let your
+ firewall system automatically detect the external interface address.
+
+
+ -
+
SNAT refers to the case when you explicitly specify
+ the source address that you want outbound packets from your local
+ network to use.
+
+
-
-
In Shorewall, both Masquerading and SNAT are configured with
- entries in the /etc/shorewall/masq file. You will normally use Masquerading
- if your external IP is dynamic and SNAT if the IP is static.
-
+
+
In Shorewall, both Masquerading and SNAT are configured with
+ entries in the /etc/shorewall/masq file. You will normally use
+Masquerading if your external IP is dynamic and SNAT if the IP
+is static.
+
- If your external firewall interface is eth0,
-you do not need to modify the file provided with the sample. Otherwise,
- edit /etc/shorewall/masq and change the first column to the name
-of your external interface and the second column to the name of your
+ If your external firewall interface is eth0,
+you do not need to modify the file provided with the sample. Otherwise,
+ edit /etc/shorewall/masq and change the first column to the name
+of your external interface and the second column to the name of your
internal interface.
-
+
- If your external IP is static, you can enter it in
-the third column in the /etc/shorewall/masq entry if you like although
- your firewall will work fine if you leave that column empty. Entering
- your static IP in column 3 makes processing outgoing packets a little
- more efficient.
-
-
+
+
- If you are using the Debian package, please check your shorewall.conf
- file to ensure that the following are set correctly; if they are not,
-change them appropriately:
-
-
+ If you are using the Debian package, please check your shorewall.conf
+ file to ensure that the following are set correctly; if they are not,
+ change them appropriately:
+
+
- - NAT_ENABLED=Yes
- - IP_FORWARDING=On
-
-
+ - NAT_ENABLED=Yes
+ - IP_FORWARDING=On
+
+
-
+
Port Forwarding (DNAT)
-
-
One of your goals may be to run one or more servers on your
- local computers. Because these computers have RFC-1918 addresses,
- it is not possible for clients on the internet to connect directly to
- them. It is rather necessary for those clients to address their connection
- requests to the firewall who rewrites the destination address to the
- address of your server and forwards the packet to that server. When
- your server responds, the firewall automatically performs SNAT to rewrite
- the source address in the response.
-
-
The above process is called Port Forwarding or
- Destination Network Address Translation (DNAT). You configure
-port forwarding using DNAT rules in the /etc/shorewall/rules file.
-
-
The general form of a simple port forwarding rule in /etc/shorewall/rules
- is:
-
-
+
+One of your goals may be to run one or more servers on your
+ local computers. Because these computers have RFC-1918 addresses,
+ it is not possible for clients on the internet to connect directly
+to them. It is rather necessary for those clients to address their
+connection requests to the firewall who rewrites the destination address
+to the address of your server and forwards the packet to that server.
+When your server responds, the firewall automatically performs SNAT
+to rewrite the source address in the response.
+
+The above process is called Port Forwarding or
+ Destination Network Address Translation (DNAT). You configure
+ port forwarding using DNAT rules in the /etc/shorewall/rules file.
+
+The general form of a simple port forwarding rule in /etc/shorewall/rules
+ is:
+
+
-
+
+
+ ACTION |
+ SOURCE |
+ DESTINATION |
+ PROTOCOL |
+ PORT |
+ SOURCE PORT |
+ ORIGINAL ADDRESS |
+
- ACTION |
- SOURCE |
- DESTINATION |
- PROTOCOL |
- PORT |
- SOURCE PORT |
- ORIGINAL ADDRESS |
-
-
- DNAT |
- net |
- loc:<server local ip address> [:<server
- port>] |
- <protocol> |
- <port> |
- |
- |
-
-
-
+ DNAT |
+ net |
+ loc:<server local ip address> [:<server
+ port>] |
+ <protocol> |
+ <port> |
+ |
+ |
+
+
+
-
-
-Example - you run a Web Server on computer 2 and you want to forward incoming
- TCP port 80 to that system:
-
-
+
+
+Example - you run a Web Server on computer 2 and you want to forward incoming
+ TCP port 80 to that system:
+
+
-
+
+
+ ACTION |
+ SOURCE |
+ DESTINATION |
+ PROTOCOL |
+ PORT |
+ SOURCE PORT |
+ ORIGINAL ADDRESS |
+
- ACTION |
- SOURCE |
- DESTINATION |
- PROTOCOL |
- PORT |
- SOURCE PORT |
- ORIGINAL ADDRESS |
-
-
- DNAT |
- net |
- loc:10.10.10.2 |
- tcp |
- 80 |
- |
- |
-
-
-
+ DNAT |
+ net |
+ loc:10.10.10.2 |
+ tcp |
+ 80 |
+ |
+ |
+
+
+
-
-
+
+
A couple of important points to keep in mind:
-
+
- - You must test the above rule from a client outside
-of your local network (i.e., don't test from a browser running on
-computers 1 or 2 or on the firewall). If you want to be able to
-access your web server using the IP address of your external interface,
+
- You must test the above rule from a client outside
+ of your local network (i.e., don't test from a browser running
+on computers 1 or 2 or on the firewall). If you want to be able
+to access your web server using the IP address of your external interface,
see Shorewall FAQ #2.
- - Many ISPs block incoming connection requests to port
- 80. If you have problems connecting to your web server, try the
-following rule and try connecting to port 5000.
-
+ - Many ISPs block incoming connection requests to
+port 80. If you have problems connecting to your web server, try
+the following rule and try connecting to port 5000.
+
-
-
+
+
-
+
+
+ ACTION |
+ SOURCE |
+ DESTINATION |
+ PROTOCOL |
+ PORT |
+ SOURCE PORT |
+ ORIGINAL ADDRESS |
+
- ACTION |
- SOURCE |
- DESTINATION |
- PROTOCOL |
- PORT |
- SOURCE PORT |
- ORIGINAL ADDRESS |
-
-
- DNAT |
- net |
- loc:10.10.10.2:80 |
- tcp |
- 5000 |
- |
- |
-
-
-
+ DNAT |
+ net |
+ loc:10.10.10.2:80 |
+ tcp |
+ 5000 |
+ |
+ |
+
+
+
-
-
+
+
- At this point, modify /etc/shorewall/rules to add any
- DNAT rules that you require.
-
+ At this point, modify /etc/shorewall/rules to add
+any DNAT rules that you require.
+
Domain Name Server (DNS)
-
-
Normally, when you connect to your ISP, as part of getting
- an IP address your firewall's Domain Name Service (DNS) resolver
- will be automatically configured (e.g., the /etc/resolv.conf file
-will be written). Alternatively, your ISP may have given you the IP
-address of a pair of DNS name servers for you to manually configure
-as your primary and secondary name servers. Regardless of how DNS gets
- configured on your firewall, it is your responsibility to configure
- the resolver in your internal systems. You can take one of two approaches:
-
+
+
Normally, when you connect to your ISP, as part of getting
+ an IP address your firewall's Domain Name Service (DNS)
+resolver will be automatically configured (e.g., the /etc/resolv.conf
+file will be written). Alternatively, your ISP may have given you
+the IP address of a pair of DNS name servers for you to manually
+configure as your primary and secondary name servers. Regardless of
+how DNS gets configured on your firewall, it is your responsibility
+to configure the resolver in your internal systems. You can take one
+of two approaches:
+
- -
-
You can configure your internal systems to use your ISP's
- name servers. If you ISP gave you the addresses of their servers
- or if those addresses are available on their web site, you can configure
- your internal systems to use those addresses. If that information
- isn't available, look in /etc/resolv.conf on your firewall system
- -- the name servers are given in "nameserver" records in that file.
-
-
- -
+
-
+
You can configure your internal systems to use your ISP's
+ name servers. If you ISP gave you the addresses of their servers
+ or if those addresses are available on their web site, you can
+configure your internal systems to use those addresses. If that
+information isn't available, look in /etc/resolv.conf on your firewall
+system -- the name servers are given in "nameserver" records in that
+file.
+
+ -
- You can configure a Caching Name Server on your
- firewall. Red Hat has an RPM for a caching name server
- (the RPM also requires the 'bind' RPM) and for Bering users, there
- is dnscache.lrp. If you take this approach, you configure your internal
- systems to use the firewall itself as their primary (and only) name
-server. You use the internal IP address of the firewall (10.10.10.254
-in the example above) for the name server address. To allow your
-local systems to talk to your caching name server, you must open port
-53 (both UDP and TCP) from the local network to the firewall; you
-do that by adding the following rules in /etc/shorewall/rules.
-
-
+ You can configure a Caching Name Server on your
+ firewall. Red Hat has an RPM for a caching name server
+ (the RPM also requires the 'bind' RPM) and for Bering users, there
+ is dnscache.lrp. If you take this approach, you configure your internal
+ systems to use the firewall itself as their primary (and only) name
+server. You use the internal IP address of the firewall (10.10.10.254
+in the example above) for the name server address. To allow your local
+systems to talk to your caching name server, you must open port 53
+(both UDP and TCP) from the local network to the firewall; you do
+that by adding the following rules in /etc/shorewall/rules.
+
+
-
-
+
+
-
+
+
+ ACTION |
+ SOURCE |
+ DESTINATION |
+ PROTOCOL |
+ PORT |
+ SOURCE PORT |
+ ORIGINAL ADDRESS |
+
- ACTION |
- SOURCE |
- DESTINATION |
- PROTOCOL |
- PORT |
- SOURCE PORT |
- ORIGINAL ADDRESS |
-
-
- ACCEPT |
- loc |
- fw |
- tcp |
- 53 |
- |
- |
-
-
- ACCEPT |
- loc |
- fw |
- udp |
- 53 |
- |
- |
-
-
-
+ ACCEPT |
+ loc |
+ fw |
+ tcp |
+ 53 |
+ |
+ |
+
+
+ ACCEPT |
+ loc |
+ fw |
+ udp |
+ 53 |
+ |
+ |
+
+
+
-
-
-
+
+
+
Other Connections
-
-
-
+
+
+
The two-interface sample includes the following rules:
-
-
-
+
+
+
-
-
- ACTION |
- SOURCE |
- DESTINATION |
- PROTOCOL |
- PORT |
- SOURCE PORT |
- ORIGINAL ADDRESS |
-
+
- ACCEPT |
- fw |
- net |
- tcp |
- 53 |
- |
- |
-
-
- ACCEPT |
- fw |
- net |
- udp |
- 53 |
- |
- |
-
-
-
+ ACTION |
+ SOURCE |
+ DESTINATION |
+ PROTOCOL |
+ PORT |
+ SOURCE PORT |
+ ORIGINAL ADDRESS |
+
+
+ ACCEPT |
+ fw |
+ net |
+ tcp |
+ 53 |
+ |
+ |
+
+
+ ACCEPT |
+ fw |
+ net |
+ udp |
+ 53 |
+ |
+ |
+
+
+
-
+
+
+
+
+
Those rules allow DNS access from your firewall and may be
+ removed if you uncommented the line in /etc/shorewall/policy
+allowing all connections from the firewall to the internet.
-
-
-
Those rules allow DNS access from your firewall and may be
- removed if you uncommented the line in /etc/shorewall/policy allowing
- all connections from the firewall to the internet.
-
-
-
+
+
The sample also includes:
-
-
-
+
+
+
-
-
- ACTION |
- SOURCE |
- DESTINATION |
- PROTOCOL |
- PORT |
- SOURCE PORT |
- ORIGINAL ADDRESS |
-
+
- ACCEPT |
- loc |
- fw |
- tcp |
- 22 |
- |
- |
-
-
-
+ ACTION |
+ SOURCE |
+ DESTINATION |
+ PROTOCOL |
+ PORT |
+ SOURCE PORT |
+ ORIGINAL ADDRESS |
+
+
+ ACCEPT |
+ loc |
+ fw |
+ tcp |
+ 22 |
+ |
+ |
+
+
+
-
+
+
+
+
+
That rule allows you to run an SSH server on your firewall
+ and connect to that server from your local systems.
-
-
-
That rule allows you to run an SSH server on your firewall
- and connect to that server from your local systems.
-
-
-
-
If you wish to enable other connections between your firewall
- and other systems, the general format is:
-
-
-
-
+
+
+
If you wish to enable other connections between your firewall
+ and other systems, the general format is:
+
+
+
+
-
-
- ACTION |
- SOURCE |
- DESTINATION |
- PROTOCOL |
- PORT |
- SOURCE PORT |
- ORIGINAL ADDRESS |
-
+
- ACCEPT |
- <source zone> |
- <destination zone> |
- <protocol> |
- <port> |
- |
- |
-
-
-
+ ACTION |
+ SOURCE |
+ DESTINATION |
+ PROTOCOL |
+ PORT |
+ SOURCE PORT |
+ ORIGINAL ADDRESS |
+
+
+ ACCEPT |
+ <source zone> |
+ <destination zone> |
+ <protocol> |
+ <port> |
+ |
+ |
+
+
+
-
+
+
+
+
+
Example - You want to run a Web Server on your firewall system:
-
-
-
Example - You want to run a Web Server on your firewall
-system:
-
-
-
-
+
+
+
-
-
- ACTION |
- SOURCE |
- DESTINATION |
- PROTOCOL |
- PORT |
- SOURCE PORT |
- ORIGINAL ADDRESS |
-
+
- ACCEPT |
- net |
- fw |
- tcp |
- 80 |
- #Allow web access |
- from the internet |
-
-
- ACCEPT |
- loc |
- fw |
- tcp |
- 80 |
- #Allow web access |
- from the local network |
-
-
-
+ ACTION |
+ SOURCE |
+ DESTINATION |
+ PROTOCOL |
+ PORT |
+ SOURCE PORT |
+ ORIGINAL ADDRESS |
+
+
+ ACCEPT |
+ net |
+ fw |
+ tcp |
+ 80 |
+ #Allow web access |
+ from the internet |
+
+
+ ACCEPT |
+ loc |
+ fw |
+ tcp |
+ 80 |
+ #Allow web access |
+ from the local network |
+
+
+
-
+
+
+
+
+
Those two rules would of course be in addition to the rules
+ listed above under "You can configure a Caching Name Server on
+ your firewall"
-
-
-
Those two rules would of course be in addition to the rules
- listed above under "You can configure a Caching Name Server on
-your firewall"
-
-
-
-
If you don't know what port and protocol a particular application
+
+
+
If you don't know what port and protocol a particular application
uses, look here.
-
-
-
-
Important: I don't recommend enabling telnet to/from
- the internet because it uses clear text (even for login!). If you
- want shell access to your firewall from the internet, use SSH:
-
-
-
+
+
+
Important: I don't recommend enabling telnet to/from
+ the internet because it uses clear text (even for login!). If
+you want shell access to your firewall from the internet, use SSH:
+
+
+
+
-
-
- ACTION |
- SOURCE |
- DESTINATION |
- PROTOCOL |
- PORT |
- SOURCE PORT |
- ORIGINAL ADDRESS |
-
+
- ACCEPT |
- net |
- fw |
- tcp |
- 22 |
- |
- |
-
-
-
+ ACTION |
+ SOURCE |
+ DESTINATION |
+ PROTOCOL |
+ PORT |
+ SOURCE PORT |
+ ORIGINAL ADDRESS |
+
+
+ ACCEPT |
+ net |
+ fw |
+ tcp |
+ 22 |
+ |
+ |
+
+
+
-
-
-
-
+
+
+
+
- Bering users will want to add the following two rules to be compatible
- with Jacques's Shorewall configuration.
-
-
-
+ Bering users will want to add the following two rules to be compatible
+ with Jacques's Shorewall configuration.
+
+
+
-
-
- ACTION |
- SOURCE |
- DESTINATION |
- PROTOCOL |
- PORT |
- SOURCE PORT |
- ORIGINAL ADDRESS |
-
+
- ACCEPT |
- loc
- |
- fw |
- udp
- |
- 53
- |
- #Allow DNS Cache to |
- work
- |
-
-
- ACCEPT |
- loc |
- fw |
- tcp |
- 80 |
- #Allow weblet to work |
-
- |
-
-
-
+ ACTION |
+ SOURCE |
+ DESTINATION |
+ PROTOCOL |
+ PORT |
+ SOURCE PORT |
+ ORIGINAL ADDRESS |
+
+
+ ACCEPT |
+ loc
+ |
+ fw |
+ udp
+ |
+ 53
+ |
+ #Allow DNS Cache to |
+ work
+ |
+
+
+ ACCEPT |
+ loc |
+ fw |
+ tcp |
+ 80 |
+ #Allow weblet to work |
+
+ |
+
+
+
-
-
-
+
+
+
-
- Now edit your /etc/shorewall/rules file to add or
-delete other connections as required.
-
-
-
-
Starting and Stopping Your Firewall
+
![](images/BD21298_.gif)
+ Now edit your /etc/shorewall/rules file to add or
+ delete other connections as required.
-
-
+
+
+
Starting and Stopping Your Firewall
+
+
+
- The installation procedure
- configures your system to start Shorewall at system boot but beginning
- with Shorewall version 1.3.9 startup is disabled so that your system
- won't try to start Shorewall before configuration is complete. Once you
- have completed configuration of your firewall, you can enable Shorewall
- startup by removing the file /etc/shorewall/startup_disabled.
-
-
+ The
installation procedure
+ configures your system to start Shorewall at system boot but beginning
+ with Shorewall version 1.3.9 startup is disabled so that your system
+ won't try to start Shorewall before configuration is complete. Once
+you have completed configuration of your firewall, you can enable Shorewall
+ startup by removing the file /etc/shorewall/startup_disabled.
+
+
IMPORTANT: Users of the .deb package must edit /etc/default/shorewall
- and set 'startup=1'.
-
+ color="#ff0000">Users of the .deb package must edit /etc/default/shorewall
+ and set 'startup=1'.
+
+
+
+
+
The firewall is started using the "shorewall start" command
+ and stopped using "shorewall stop". When the firewall is stopped,
+ routing is enabled on those hosts that have an entry in /etc/shorewall/routestopped. A
+ running firewall may be restarted using the "shorewall restart"
+ command. If you want to totally remove any trace of Shorewall
+from your Netfilter configuration, use "shorewall clear".
-
-
-
The firewall is started using the "shorewall start" command
- and stopped using "shorewall stop". When the firewall is stopped,
- routing is enabled on those hosts that have an entry in /etc/shorewall/routestopped. A
- running firewall may be restarted using the "shorewall restart"
- command. If you want to totally remove any trace of Shorewall from
- your Netfilter configuration, use "shorewall clear".
-
-
-
+
+
- The two-interface sample assumes that you want to enable
- routing to/from eth1 (the local network) when Shorewall is
- stopped. If your local network isn't connected to eth1 or if you
- wish to enable access to/from other hosts, change /etc/shorewall/routestopped
- accordingly.
-
-
-
+
+
+
WARNING: If you are connected to your firewall from
+ the internet, do not issue a "shorewall stop" command unless
+you have added an entry for the IP address that you are connected
+from to /etc/shorewall/routestopped.
+ Also, I don't recommend using "shorewall restart"; it is better to
+create an alternate
+ configuration and test it using the "shorewall try" command.
-
-
+
+
Last updated 2/21/2003 - Tom Eastep
-
-
Copyright 2002, 2003
- Thomas M. Eastep
-
+
+
Copyright 2002, 2003
+ Thomas M. Eastep
+
+
diff --git a/Shorewall-docs/two-interface_fr.html b/Shorewall-docs/two-interface_fr.html
index 57fd34291..405e6685d 100755
--- a/Shorewall-docs/two-interface_fr.html
+++ b/Shorewall-docs/two-interface_fr.html
@@ -1,1380 +1,1378 @@
-
+
Two-Interface Firewall
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
-
+ |
+
+
Basic Two-Interface Firewall
- |
-
-
-
+
+
+
+
-
+
Version 2.0.1 Française
-
+
- Notes du traducteur :
- Je ne prétends pas être un vrai traducteur dans le sens ou mon
-travail n’est pas des plus précis (loin de là...). Je ne me
-suis pas attaché à une traduction exacte du texte, mais plutôt
-à en faire une version française intelligible par tous (et
-par moi). Les termes techniques sont la plupart du temps conservés
-sous leur forme originale et mis entre parenthèses car vous pouvez
-les retrouver dans le reste des documentations ainsi que dans les fichiers
-de configuration. N’hésitez pas à me contacter afin d’améliorer
-ce document VETSEL Patrice
-(merci à JMM pour sa relecture et ses commentaires pertinents, ainsi
+ Notes du traducteur :
+ Je ne prétends pas être un vrai traducteur dans le sens ou
+mon travail n’est pas des plus précis (loin de là...). Je ne
+me suis pas attaché à une traduction exacte du texte, mais
+plutôt à en faire une version française intelligible
+par tous (et par moi). Les termes techniques sont la plupart du temps conservés
+sous leur forme originale et mis entre parenthèses car vous pouvez
+les retrouver dans le reste des documentations ainsi que dans les fichiers
+de configuration. N’hésitez pas à me contacter afin d’améliorer
+ce document VETSEL Patrice
+ (merci à JMM pour sa relecture et ses commentaires pertinents, ainsi
qu'à Tom EASTEP pour son formidable outil et sa disponibilité).
-
-
-
-
Mettre en place un système Linux en tant que firewall
-pour un petit réseau est une chose assez simple, si vous comprenez
+
+
+
+
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.
-
-
Ce guide ne veut pas vous apprendre tous les rouages de Shorewall. Il
-se focalise sur ce qui est nécessaire pour configurer Shorewall, dans
+
+
Ce guide ne veut 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 :
-
+
- -
-
Un système Linux utilisé
+
-
+
Un système Linux utilisé
en tant que firewall/routeur pour un petit réseau local.
-
- -
+
+ -
Une seule adresse IP publique.
-
- -
-
Une connexion Internet par le biais d'un modem câble, ADSL,
+
+ -
+
Une connexion Internet par le biais d'un modem câble, ADSL,
ISDN, "Frame Relay", RTC ...
-
-
+
+
-
+
Voici un schéma d'une installation typique.
-
+
-
-
-
Si vous faites tourner Shorewall sous Mandrake 9.0 ou plus récent,
-vous pouvez facilement réaliser la configuration ci-dessus en utilisant
-l'applet Mandrake "Internet Connection Sharing". Depuis le "Mandrake Control
-Center", sélectionnez "Network & Internet" et "Connection Sharing".
-Vous ne devriez pas avoir besoin de vous référer à ce
+
+
+
Si vous faites tourner Shorewall sous Mandrake 9.0 ou plus récent,
+vous pouvez facilement réaliser la configuration ci-dessus en utilisant
+l'applet Mandrake "Internet Connection Sharing". Depuis le "Mandrake Control
+Center", sélectionnez "Network & Internet" et "Connection Sharing".
+Vous ne devriez pas avoir besoin de vous référer à ce
guide.
-
-
Ce guide suppose que vous avez le paquet iproute/iproute2 d'installé.
-Vous pouvez voir si le paquet est installé en vérifiant
-la présence du programme ip sur votre système de firewall.
-Sous root, utilisez la commande 'which' pour rechercher le programme :
-
+
+
Ce guide suppose que vous avez le paquet iproute/iproute2 d'installé.
+Vous pouvez voir si le paquet est installé en vérifiant
+la présence du programme ip sur votre système de firewall. Sous
+root, utilisez la commande 'which' pour rechercher le programme :
+
[root@gateway root]# which ip
/sbin/ip
[root@gateway root]#
-
-
Je vous recommande dans un premier temps de parcourir tout le guide pour
-vous familiariser avec ce qui va se passer, et de revenir au début
-en effectuant le changements dans votre configuration. Les points où,
-les changements dans la configuration sont recommandées, sont signalés
+
+
Je vous recommande dans un premier temps de parcourir tout le guide pour
+vous familiariser avec ce qui va se passer, et de revenir au début
+en effectuant le changements dans votre configuration. Les points où,
+les changements dans la configuration sont recommandées, sont signalés
par une
-.
-
+ .
+
- Si vous éditez vos fichiers de configuration sur
-un système Windows, vous devez les sauver comme des fichiers Unix
-si votre éditeur offre cette option sinon vous devez les faire passer
-par dos2unix avant d'essayer de les utiliser. De la même manière,
-si vous copiez un fichier de configuration depuis votre disque dur Windows
-vers une disquette, vous devez lancer dos2unix sur la copie avant de l'utiliser
+ Si vous éditez vos fichiers de configuration sur
+un système Windows, vous devez les sauver comme des fichiers Unix si
+votre éditeur offre cette option sinon vous devez les faire passer
+par dos2unix avant d'essayer de les utiliser. De la même manière,
+si vous copiez un fichier de configuration depuis votre disque dur Windows
+vers une disquette, vous devez lancer dos2unix sur la copie avant de l'utiliser
avec Shorewall.
-
+
-
+
Les Concepts de Shorewall
-
+
- Les fichiers de configuration pour Shorewall sont dans
-le répertoire /etc/shorewall -- pour de simples configurations, vous
-n'aurez seulement à faire qu'avec quelques fichiers comme décrit
-dans ce guide. Après avoir installé Shorewall,
-télé chargez le two-interface
-sample, un-tarez le (tar -zxvf two-interfaces.tgz) et copiez les fichiers
-vers /etc/shorewall (ces fichiers remplaceront les fichiers de même
-nom).
-
-
Parallèlement à la présentation de chacun des fichiers,
-je vous suggère de regarder le fichier qui se trouve réellement
-sur votre système -- tous les fichiers contiennent des instructions
-de configuration détaillées et des valeurs par défaut.
-
-
Shorewall voit le réseau où il tourne, comme un ensemble
-de zones. Dans une configuration avec deux interfaces, les noms des
-zones suivantes sont utilisés:
-
-
-
-
-
- Nom
- |
-
- Description
- |
-
-
-
- net
- |
-
- Internet
- |
-
-
-
- loc
- |
-
- Votre réseau local
- |
-
+ Les fichiers de configuration pour Shorewall sont dans
+le répertoire /etc/shorewall -- pour de simples configurations, vous
+n'aurez seulement à faire qu'avec quelques fichiers comme décrit
+ dans ce guide. Après avoir installé
+Shorewall, télé chargez le two-interface sample,
+un-tarez le (tar -zxvf two-interfaces.tgz) et copiez les fichiers vers /etc/shorewall
+(ces fichiers remplaceront les fichiers de même nom).
-
+Parallèlement à la présentation de chacun des fichiers,
+je vous suggère de regarder le fichier qui se trouve réellement
+sur votre système -- tous les fichiers contiennent des instructions
+de configuration détaillées et des valeurs par défaut.
+
+Shorewall voit le réseau où il tourne, comme un ensemble
+de zones. Dans une configuration avec deux interfaces, les noms des
+zones suivantes sont utilisés:
+
+
+
+
+
+ Nom
+ |
+
+ Description
+ |
+
+
+
+ net
+ |
+
+ Internet
+ |
+
+
+
+ loc
+ |
+
+ Votre réseau local
+ |
+
+
+
-
+
Les zones sont définies dans le fichier/etc/shorewall/zones .
-
-Shorewall reconnaît aussi le système de firewall comme sa
+
+
Shorewall reconnaît aussi le système de firewall comme sa
propre zone - par défaut, le firewall est connu comme fw.
-
-Les règles à propos de quel trafic autoriser, et de quel
+
+
Les règles à propos de quel trafic autoriser, et de quel
trafic interdire sont exprimées en terme de zones.
-
+
- -
-
Vous exprimez votre politique par défaut
+
-
+
Vous exprimez votre politique par défaut
pour les connexions d'une zone vers une autre zone dans le fichier /etc/shorewall/policy .
-
- -
-
Vous définissez les exceptions à ces politiques pas
-défaut dans le fichier /etc/shorewall/rules
- .
-
-
+
+ -
+
Vous définissez les exceptions à ces politiques pas
+défaut dans le fichier /etc/shorewall/rules
+ .
+
+
-
-Pour chaque connexion demandant à entrer dans le firewall, la requête
-est en premier lieu comparée par rapport au fichier /etc/shorewall/rules.
-Si aucune règle dans ce fichier ne correspond à la demande
-de connexion alors la première politique dans le fichier /etc/shorewall/policy
-qui y correspond sera appliquée. Si cette politique est REJECT ou
-DROP la requête est dans un premier temps comparée par
-rapport aux règles contenues dans /etc/shorewall/common.
-
-Le fichier /etc/shorewall/policy inclue dans l'archive d'exemple (two-interface)
+
+
Pour chaque connexion demandant à entrer dans le firewall, la requête
+est en premier lieu comparée par rapport au fichier /etc/shorewall/rules.
+Si aucune règle dans ce fichier ne correspond à la demande de
+connexion alors la première politique dans le fichier /etc/shorewall/policy
+qui y correspond sera appliquée. Si cette politique est REJECT ou DROP
+la requête est dans un premier temps comparée par rapport aux
+règles contenues dans /etc/shorewall/common.
+
+Le fichier /etc/shorewall/policy inclue dans l'archive d'exemple (two-interface)
a les politiques suivantes:
-
+
- -
+
-
-
-
-
+ |
+
+
Source Zone
- |
-
+ |
+
Destination Zone
- |
-
+ |
+
Policy
- |
-
+ |
+
Log Level
- |
-
+ |
+
Limit:Burst
- |
-
-
-
+ |
+
+
+
loc
- |
-
+ |
+
net
- |
-
+ |
+
ACCEPT
- |
-
+ |
+
- |
-
+ |
+
- |
-
-
-
+ |
+
+
+
net
- |
-
+ |
+
all
- |
-
+ |
+
DROP
- |
-
+ |
+
info
- |
-
+ |
+
- |
-
-
-
+ |
+
+
+
all
- |
-
+ |
+
all
- |
-
+ |
+
REJECT
- |
-
+ |
+
info
- |
-
+ |
+
- |
-
-
-
+
+
+
+
-
+
-
-Dans le fichier d'exemple (two-interface), la ligne suivante
-est inclue mais elle est commentée. Si vous voulez que votre firewall
-puisse avoir un accès complet aux serveurs sur Internet, décommentez
+
+Dans le fichier d'exemple (two-interface), la ligne suivante est
+inclue 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.
-
+
- -
+
-
-
-
-
+ |
+
+
Source Zone
- |
-
+ |
+
Destination Zone
- |
-
+ |
+
Policy
- |
-
+ |
+
Log Level
- |
-
+ |
+
Limit:Burst
- |
-
-
-
+ |
+
+
+
fw
- |
-
+ |
+
net
- |
-
+ |
+
ACCEPT
- |
-
+ |
+
- |
-
+ |
+
- |
-
-
-
+
+
+
+
-
+
-
+
Ces politiques vont:
-
+
- -
-
permettre toutes les demandes de connexion
+
-
+
permettre toutes les demandes de connexion
depuis votre réseau local vers l'Internet
-
- -
-
drop (ou ignorer) toutes les demandes
-de connexion depuis l'Internet vers votre firewall ou votre réseau
+
+ -
+
drop (ou ignorer) toutes les demandes
+de connexion depuis l'Internet vers votre firewall ou votre réseau
local.
-
- -
-
Facultativement accepter toutes les
- demandes de connexion de votre firewall vers l'Internet (si vous avez dé
+
+ -
+
Facultativement accepter toutes les
+ demandes de connexion de votre firewall vers l'Internet (si vous avez dé
commenté la politique additionnelle)
-
- -
+
+ -
reject (rejeter) toutes les autres demandes de connexion.
-
-
+
+
-
+
- A ce point, éditez votre fichier /etc/shorewall/policy
+ A ce point, éditez votre fichier /etc/shorewall/policy
et faite les changements que vous désirez.
-
+
Network Interfaces
-
+
-
-
-Le firewall a deux interfaces de réseau. Lorsque la
-connexion Internet passe par le câble ou par un ROUTEUR (pas un simple
-modem) ADSL (non USB), l'interface vers l'extérieur (External Interface)
-sera l'adaptateur sur lequel est connecté le routeur (e.g., eth0)
-à moins que vous ne vous connectiez par Point-to-PointProtocol
-overEthernet (PPPoE) ou par Point-to-PointTunnelingProtocol(PPTP),
-dans ce cas l'interface extérieure sera une interface de type ppp
-(e.g., ppp0). Si vous vous connectez par un simple modem (RTC), votre
-interface extérieure sera aussi ppp0. Si votre connexion passe
+
+
+Le firewall a deux interfaces de réseau. Lorsque la
+connexion Internet passe par le câble ou par un ROUTEUR (pas un simple
+modem) ADSL (non USB), l'interface vers l'extérieur (External Interface)
+sera l'adaptateur sur lequel est connecté le routeur (e.g., eth0)
+à moins que vous ne vous connectiez par Point-to-PointProtocol
+overEthernet (PPPoE) ou par Point-to-PointTunnelingProtocol(PPTP),
+ dans ce cas l'interface extérieure sera une interface de type ppp
+(e.g., ppp0). Si vous vous connectez par un simple modem (RTC), votre
+interface extérieure sera aussi ppp0. Si votre connexion passe
par Numéris (ISDN), votre interface extérieure seraippp0.
-
+
- Si votre interface vers l'extérieur estppp0
+ Si votre interface vers l'extérieur estppp0
ou ippp0 alors vous mettrez CLAMPMSS=yes dans /etc/shorewall/shorewall.conf.
-
-Votre Internal Interface (interface vers votre réseau
-local -> LAN) sera un adaptateur Ethernet (eth1 ou eth0) et sera connectée
-à un hub ou switch (ou un PC avec un câble croisé). Vos
+
+
Votre Internal Interface (interface vers votre réseau
+local -> LAN) sera un adaptateur Ethernet (eth1 ou eth0) et sera connectée
+à un hub ou switch (ou un PC avec un câble croisé). Vos
autres ordinateurs seront connectés à ce même hub/switch
-
+
-Ne connectez pas l'interface interne et externe sur le même
-hub ou switch (même pour tester). Cela ne fonctionnera pas et ne croyez
+ Ne connectez pas l'interface interne et externe sur le même
+hub ou switch (même pour tester). Cela ne fonctionnera pas et ne croyez
pas que ce soit shorewall qui ne marche pas.
-
+
- Le fichier de configuration d'exemple pour deux interfaces
-suppose que votre interface externe est eth0et que l'interne est eth1.
-Si votre configuration est différente, vous devrez modifier le fichier
-/etc/shorewall/interfaces 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:
-
+ Le fichier de configuration d'exemple pour deux interfaces
+suppose que votre interface externe est eth0et que l'interne est eth1.
+ Si votre configuration est différente, vous devrez modifier le fichier
+/etc/shorewall/interfaces 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:
+
- -
-
Si votre interface vers l'extérieur est ppp0
-ou ippp0, vous pouvez remplacer le "detect" dans la seconde colonne
+
-
+
Si votre interface vers l'extérieur est ppp0
+ ou ippp0, vous pouvez remplacer le "detect" dans la seconde colonne
par un "-".
-
- -
-
Si votre interface vers l'extérieur est ppp0
-ou ippp0 ou si vous avez une adresse IP statique, vous pouvez enlever
+
+ -
+
Si votre interface vers l'extérieur est ppp0
+ou ippp0 ou si vous avez une adresse IP statique, vous pouvez enlever
"dhcp" dans la liste des options.
-
-
+
+
-
+
Adresses IP
-
-Avant d'aller plus loin, nous devons dire quelques mots au
-sujet de Internet Protocol (IP) addresses. Normalement, votre fournisseur
-Internet (ISP) vous assignera une seule adresse IP (single PublicIP
-address). Cette adresse peut être assignée par le Dynamic
-Host Configuration Protocol(DHCP) ou lors de l'établissement de
-votre connexion lorsque vous vous connectez (modem standard) ou établissez
-votre connexion PPP. Dans de rares cas , votre provider peut vous assigner
-une adresse statique (staticIP address); 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 RFC 1918 réserve plusieurs plages d'IP (PrivateIP
-address ranges) à cette fin :
-
+
+Avant d'aller plus loin, nous devons dire quelques mots au
+sujet de Internet Protocol (IP) addresses. Normalement, votre fournisseur
+Internet (ISP) vous assignera une seule adresse IP (single PublicIP
+ address). Cette adresse peut être assignée par le Dynamic
+ Host Configuration Protocol(DHCP) ou lors de l'établissement
+de votre connexion lorsque vous vous connectez (modem standard) ou établissez
+votre connexion PPP. Dans de rares cas , votre provider peut vous assigner
+une adresse statique (staticIP address); 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 RFC 1918 réserve plusieurs plages
+d'IP (PrivateIP address ranges) à cette fin :
+
10.0.0.0 - 10.255.255.255an
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255
-
+
- Avant de lancer Shorewall, vous devriez regarder l'adresse
-IP de votre interface externe, et si elle est dans les plages précédentes,
-vous devriez enlever l'option 'norfc1918' dans la ligne concernant l'interface
+ Avant de lancer Shorewall, vous devriez regarder l'adresse
+IP de votre interface externe, et si elle est dans les plages précédentes,
+vous devriez enlever l'option 'norfc1918' dans la ligne concernant l'interface
externe dans le fichier /etc/shorewall/interfaces.
-
-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 x.y.z.0 - x.y.z.255. Chaque
-sous-réseau aura un masque (Subnet Mask) de 255.255.255.0.
-L'adresse x.y.z.0 est réservée comme l'adresse de sous-réseau
-(Subnet Address) et x.y.z.255 est réservée en tant qu'adresse
-de broadcast (Subnet Broadcast Address). Dans Shorewall, un
-sous-réseau est décrit en utilisant la notation Classless InterDomain
-Routing (CIDR) qui consiste en l'adresse du sous-réseau suivie
-par "/24". Le "24" se réfère au nombre consécutif de
+
+
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 x.y.z.0 - x.y.z.255. Chaque
+sous-réseau aura un masque (Subnet Mask) de 255.255.255.0. L'adresse
+x.y.z.0 est réservée comme l'adresse de sous-réseau (Subnet
+Address) et x.y.z.255 est réservée en tant qu'adresse de
+broadcast (Subnet Broadcast Address). Dans Shorewall, un sous-réseau
+est décrit en utilisant la notation Classless InterDomain
+Routing (CIDR) qui consiste en l'adresse du sous-réseau suivie
+par "/24". Le "24" se réfère au nombre consécutif de
bits marquant "1" dans la partie gauche du masque de sous-réseau.
-
+
Un exemple de sous-réseau (sub-network) :
-
+
- -
+
-
-
-
-
+ |
+
+
Plage:
- |
-
+ |
+
10.10.10.0 - 10.10.10.255
- |
-
-
-
+ |
+
+
+
Subnet Address:
- |
-
+ |
+
10.10.10.0
- |
-
-
-
+ |
+
+
+
Broadcast Address:
- |
-
+ |
+
10.10.10.255
- |
-
-
-
+ |
+
+
+
CIDR Notation:
- |
-
+ |
+
10.10.10.0/24
- |
-
-
-
+
+
+
+
-
+
-
-Il est de mise d'assigner l'interface interne (LAN) à
-la première adresse utilisable du sous-réseau (10.10.10.1 dans
-l'exemple précédent) ou la dernière adresse utilisable
+
+
Il est de mise d'assigner l'interface interne (LAN) à
+la première adresse utilisable du sous-réseau (10.10.10.1 dans
+l'exemple précédent) ou la dernière adresse utilisable
(10.10.10.254).
-
-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
+
+
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).
-
+
- Vos ordinateurs en local (ordinateur 1 et ordinateur 2
-dans le diagramme) devraient être configurés avec leur passerelle
-par défaut (default gateway) pointant sur l'adresse IP de l'interface
-interne du firewall.
-
-The foregoing short discussion barely scratches the surface
-regarding subnetting and routing. If you are interested in learning more
-about IP addressing and routing, I highly recommend "IP Fundamentals:
-What Everyone Needs to Know about Addressing & Routing", Thomas A.
-Maufer, Prentice-Hall, 1999, ISBN 0-13-975483-0.
-
-Le reste de ce guide assumera que vous avez configuré
+ Vos ordinateurs en local (ordinateur 1 et ordinateur
+2 dans le diagramme) devraient être configurés avec leur passerelle
+ par défaut (default gateway) pointant sur l'adresse IP de
+l'interface interne du firewall.
+
+The foregoing short discussion barely scratches the surface
+regarding subnetting and routing. If you are interested in learning more about
+IP addressing and routing, I highly recommend "IP Fundamentals: What Everyone
+Needs to Know about Addressing & Routing", Thomas A. Maufer, Prentice-Hall,
+1999, ISBN 0-13-975483-0.
+
+Le reste de ce guide assumera que vous avez configuré
votre réseau comme montré ci-dessous :
-
+
-
-
-La passerelle par défaut pour les ordinateurs 1 et
+
+
+La passerelle par défaut pour les ordinateurs 1 et
2 devrait être 10.10.10.254.
-
+
IP Masquerading (SNAT)
-
-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 NAT (Network Address Translation).
-Le firewall ré écrit l'adresse source dans le paquet, et l'a
-remplace 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 à 10.10.10.1 et fait passer le paquet
-vers l'ordinateur 1.
-
-Sur les systèmes Linux, ce procédé est
-souvent appelé de l'IP Masquerading mais vous verrez aussi
-le terme de Source Network Address Translation (SNAT) utilisé.
+
+
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 NAT (Network Address Translation).
+Le firewall ré écrit l'adresse source dans le paquet, et l'a
+remplace 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 à 10.10.10.1 et fait passer le paquet vers
+l'ordinateur 1.
+
+Sur les systèmes Linux, ce procédé est
+souvent appelé de l'IP Masquerading mais vous verrez aussi le
+terme de Source Network Address Translation (SNAT) utilisé.
Shorewall suit la convention utilisée avec Netfilter:
-
+
- -
-
Masquerade désigne le cas ou vous laissez
-votre firewall détecter automatiquement l'adresse de l'interface
-externe.
-
- -
-
SNAT désigne le cas où vous spécifiez
-explicitement l'adresse source des paquets sortant de votre réseau
+
-
+
Masquerade désigne le cas ou vous laissez
+votre firewall détecter automatiquement l'adresse de l'interface externe.
+
+
+ -
+
SNAT désigne le cas où vous spécifiez
+explicitement l'adresse source des paquets sortant de votre réseau
local.
-
-
+
+
-
-Sous Shorewall, autant le Masquerading que le SNAT sont configuré
-avec des entrés dans le fichier /etc/shorewall/masq. Vous utiliserez
-normalement le Masquerading si votre adresse IP externe est dynamique, et
+
+
Sous Shorewall, autant le Masquerading que le SNAT sont configuré
+avec des entrés dans le fichier /etc/shorewall/masq. Vous utiliserez
+normalement le Masquerading si votre adresse IP externe est dynamique, et
SNAT si elle est statique.
-
+
- Si votre interface externe du firewall est eth0,
-vous n'avez pas besoin de modifier le fichier fourni avec l'exemple. Dans
-le cas contraire, éditez /etc/shorewall/masq et changez la première
-colonne par le nom de votre interface externe, et la seconde colonne par
-le nom de votre interface interne.
-
+ Si votre interface externe du firewall est eth0,
+vous n'avez pas besoin de modifier le fichier fourni avec l'exemple. Dans
+le cas contraire, éditez /etc/shorewall/masq et changez la première
+colonne par le nom de votre interface externe, et la seconde colonne par le
+nom de votre interface interne.
+
- Si votre IP externe est statique, vous pouvez la mettre
-dans la troisième colonne dans /etc/shorewall/masq si vous le désirez,
-de toutes façons votre firewall fonctionnera bien si vous laissez
-cette colonne vide. Le fait de mettre votre IP statique dans la troisième
+ Si votre IP externe est statique, vous pouvez la mettre
+dans la troisième colonne dans /etc/shorewall/masq si vous le désirez,
+de toutes façons votre firewall fonctionnera bien si vous laissez cette
+colonne vide. Le fait de mettre votre IP statique dans la troisième
colonne permet un traitement des paquets sortant un peu plus efficace.
-
-
- Si vous utilisez les paquets Debian, vérifiez que
-votre fichier de configuration shorewall.conf contient bien les valeurs suivantes,
-si elles n'y sont pas faite les changements nécessaires:
-
+
+
+ Si vous utilisez les paquets Debian, vérifiez
+que votre fichier de configuration shorewall.conf contient bien les valeurs
+suivantes, si elles n'y sont pas faite les changements nécessaires:
+
- -
+
-
NAT_ENABLED=Yes
-
- -
+
+ -
IP_FORWARDING=On
-
-
+
+
-
+
Port Forwarding (DNAT)
-
-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 SNAT pour ré écrire l'adresse source
-dans la réponse.
-
-Ce procédé est appelé Port Forwarding
-ou Destination Network Address Translation(DNAT). Vous configurez
-le port forwarding en utilisant les règles DNAT dans le fichier /etc/shorewall/rules.
-
-La forme générale d'une simple règle de port forwarding
+
+
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 SNAT pour ré écrire l'adresse source
+ dans la réponse.
+
+Ce procédé est appelé Port Forwarding
+ou Destination Network Address Translation(DNAT). Vous configurez le
+port forwarding en utilisant les règles DNAT dans le fichier /etc/shorewall/rules.
+
+La forme générale d'une simple règle de port forwarding
dans /etc/shorewall/rules est:
-
+
- -
+
-
-
-
-
+ |
+
+
ACTION
- |
-
+ |
+
SOURCE
- |
-
+ |
+
DESTINATION
- |
-
+ |
+
PROTOCOL
- |
-
+ |
+
PORT
- |
-
+ |
+
SOURCE PORT
- |
-
+ |
+
ORIGINAL ADDRESS
- |
-
-
-
+ |
+
+
+
DNAT
- |
-
+ |
+
net
- |
-
+ |
+
loc:<server local ip address> [:<server port>]
- |
-
+ |
+
<protocol>
- |
-
+ |
+
<port>
- |
-
+ |
+
- |
-
+ |
+
- |
-
-
-
+
+
+
+
-
+
-
-Exemple - vous faites tourner un serveur Web sur l'ordinateur 2 et vous
-voulez faire passer les requêtes TCP sur le port 80 à ce système
+
+
Exemple - vous faites tourner un serveur Web sur l'ordinateur 2 et vous
+voulez faire passer les requêtes TCP sur le port 80 à ce système
:
-
+
- -
+
-
-
-
-
+ |
+
+
ACTION
- |
-
+ |
+
SOURCE
- |
-
+ |
+
DESTINATION
- |
-
+ |
+
PROTOCOL
- |
-
+ |
+
PORT
- |
-
+ |
+
SOURCE PORT
- |
-
+ |
+
ORIGINAL ADDRESS
- |
-
-
-
+ |
+
+
+
DNAT
- |
-
+ |
+
net
- |
-
+ |
+
loc:10.10.10.2
- |
-
+ |
+
tcp
- |
-
+ |
+
80
- |
-
+ |
+
- |
-
+ |
+
- |
-
-
-
+
+
+
+
-
+
-
+
Deux points importants à garder en mémoire :
-
+
- -
-
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 en utilisant l'adresse IP externe de votre firewall,
+
-
+
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 en utilisant l'adresse IP externe de votre firewall,
regardez Shorewall FAQ #2.
-
- -
-
Quelques fournisseurs Internet (Provider/ISP) bloquent les requêtes
-entrantes de connexion sur le port 80. Si vous avez des problèmes
-à vous connecter à votre serveur web, essayez la règle
+
+ -
+
Quelques fournisseurs Internet (Provider/ISP) bloquent les requêtes
+entrantes de connexion sur le port 80. Si vous avez des problèmes
+à vous connecter à votre serveur web, essayez la règle
suivante et connectez vous sur le port 5000.
-
-
+
+
-
+
- -
+
-
-
-
-
+ |
+
+
ACTION
- |
-
+ |
+
SOURCE
- |
-
+ |
+
DESTINATION
- |
-
+ |
+
PROTOCOL
- |
-
+ |
+
PORT
- |
-
+ |
+
SOURCE PORT
- |
-
+ |
+
ORIGINAL ADDRESS
- |
-
-
-
+ |
+
+
+
DNAT
- |
-
+ |
+
net
- |
-
+ |
+
loc:10.10.10.2:80
- |
-
+ |
+
tcp
- |
-
+ |
+
5000
- |
-
+ |
+
- |
-
+ |
+
- |
-
-
-
+
+
+
+
-
+
-
+
- A ce point, modifiez /etc/shorewall/rules pour ajouter
+ A ce point, modifiez /etc/shorewall/rules pour ajouter
les règles DNAT dont vous avez besoin.
-
+
Domain Name Server (DNS)
-
-Normalement, quand vous vous connectez à votre fournisseur
-(ISP), une partie consiste à obtenir votre adresse IP, votre DNS pour
-le firewall (Domain Name Service) est configuré automatiquement
-(c.a.d.,le fichier /etc/resolv.conf a été écrit). Il
-arrive que votre provider vous donne une paire d'adresse IP pour les DNS
-(name servers) afin que vous configuriez manuellement votre serveur de
-nom primaire et secondaire. La manière dont le DNS est configuré
-sur votre firewall est de votre responsabilité. Vous pouvez
-procéder d'une de ses deux façons :
-
+
+Normalement, quand vous vous connectez à votre fournisseur
+(ISP), une partie consiste à obtenir votre adresse IP, votre DNS pour
+le firewall (Domain Name Service) est configuré automatiquement
+(c.a.d.,le fichier /etc/resolv.conf a été écrit). Il
+arrive que votre provider vous donne une paire d'adresse IP pour les DNS
+(name servers) afin que vous configuriez manuellement votre serveur de
+nom primaire et secondaire. La manière dont le DNS est configuré
+sur votre firewall est de votre responsabilité. Vous pouvez
+ procéder d'une de ses deux façons :
+
- -
-
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
- /etc/resolv.conf sur votre firewall -- les noms des serveurs sont donnés
+
-
+
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
+ /etc/resolv.conf sur votre firewall -- les noms des serveurs sont donnés
dans l'enregistrement "nameserver" dans ce fichier.
-
- -
+
+ -
- Vous pouvez configurer un cache dns (Caching Name
-Server) sur votre firewall. Red Hat a un RPM pour mettre en cache
-un serveur de nom (le RPM requis aussi le RPM 'bind') et pour les utilisateurs
- de Bering, il y a dnscache.lrp. 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
-IP interne du firewall (10.10.10.254 dans l'exemple) 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 (UDP ET TCP)
-sur le firewall vers le réseau local; vous ferez ceci en ajoutant
+ Vous pouvez configurer un cache dns (Caching Name
+Server) sur votre firewall. Red Hat a un RPM pour mettre en cache
+un serveur de nom (le RPM requis aussi le RPM 'bind') et pour les utilisateurs
+ de Bering, il y a dnscache.lrp. 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
+IP interne du firewall (10.10.10.254 dans l'exemple) 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 (UDP ET TCP)
+ sur le firewall vers le réseau local; vous ferez ceci en ajoutant
les règles suivantes dans /etc/shorewall/rules.
-
-
+
+
-
+
- -
+
-
-
-
-
+ |
+
+
ACTION
- |
-
+ |
+
SOURCE
- |
-
+ |
+
DESTINATION
- |
-
+ |
+
PROTOCOL
- |
-
+ |
+
PORT
- |
-
+ |
+
SOURCE PORT
- |
-
+ |
+
ORIGINAL ADDRESS
- |
-
-
-
+ |
+
+
+
ACCEPT
- |
-
+ |
+
loc
- |
-
+ |
+
fw
- |
-
+ |
+
tcp
- |
-
+ |
+
53
- |
-
+ |
+
- |
-
+ |
+
- |
-
-
-
+ |
+
+
+
ACCEPT
- |
-
+ |
+
loc
- |
-
+ |
+
fw
- |
-
+ |
+
udp
- |
-
+ |
+
53
- |
-
+ |
+
- |
-
+ |
+
- |
-
-
-
+
+
+
+
-
+
-
+
Autres Connexions
-
-Les fichiers exemples inclus dans l'archive (two-interface)
+
+
Les fichiers exemples inclus dans l'archive (two-interface)
contiennent les règles suivantes :
-
+
- -
+
-
-
-
-
+ |
+
+
ACTION
- |
-
+ |
+
SOURCE
- |
-
+ |
+
DESTINATION
- |
-
+ |
+
PROTOCOL
- |
-
+ |
+
PORT
- |
-
+ |
+
SOURCE PORT
- |
-
+ |
+
ORIGINAL ADDRESS
- |
-
-
-
+ |
+
+
+
ACCEPT
- |
-
+ |
+
fw
- |
-
+ |
+
net
- |
-
+ |
+
tcp
- |
-
+ |
+
53
- |
-
+ |
+
- |
-
+ |
+
- |
-
-
-
+ |
+
+
+
ACCEPT
- |
-
+ |
+
fw
- |
-
+ |
+
net
- |
-
+ |
+
udp
- |
-
+ |
+
53
- |
-
+ |
+
- |
-
+ |
+
- |
-
-
-
+
+
+
+
-
+
-
-Ces règles autorisent l'accès DNS à
-partir de votre firewall et peuvent être enlevées si vous avez
-dé commenté la ligne dans /etc/shorewall/policy autorisant
-toutes les connexions depuis le firewall vers Internet.
-
+
+Ces règles autorisent l'accès DNS à partir
+de votre firewall et peuvent être enlevées si vous avez dé
+commenté la ligne dans /etc/shorewall/policy autorisant toutes les
+connexions depuis le firewall vers Internet.
+
Les exemples contiennent aussi :
-
+
- -
+
-
-
-
-
+ |
+
+
ACTION
- |
-
+ |
+
SOURCE
- |
-
+ |
+
DESTINATION
- |
-
+ |
+
PROTOCOL
- |
-
+ |
+
PORT
- |
-
+ |
+
SOURCE PORT
- |
-
+ |
+
ORIGINAL ADDRESS
- |
-
-
-
+ |
+
+
+
ACCEPT
- |
-
+ |
+
loc
- |
-
+ |
+
fw
- |
-
+ |
+
tcp
- |
-
+ |
+
22
- |
-
+ |
+
- |
-
+ |
+
- |
-
-
-
+
+
+
+
-
+
-
-Cette règle vous autorise à faire tourner un
-serveur SSH sur votre firewall et à vous y connecter depuis votre
-réseau local.
-
-Si vous voulez permettre d'autres connexions entre votre
-firewall et d'autres systèmes, la forme générale est
-:
-
+
+Cette règle vous autorise à faire tourner un
+serveur SSH sur votre firewall et à vous y connecter depuis votre réseau
+local.
+
+Si vous voulez permettre d'autres connexions entre votre firewall
+et d'autres systèmes, la forme générale est :
+
- -
+
-
-
-
-
+ |
+
+
ACTION
- |
-
+ |
+
SOURCE
- |
-
+ |
+
DESTINATION
- |
-
+ |
+
PROTOCOL
- |
-
+ |
+
PORT
- |
-
+ |
+
SOURCE PORT
- |
-
+ |
+
ORIGINAL ADDRESS
- |
-
-
-
+ |
+
+
+
ACCEPT
- |
-
+ |
+
<source zone>
- |
-
+ |
+
<destination zone>
- |
-
+ |
+
<protocol>
- |
-
+ |
+
<port>
- |
-
+ |
+
- |
-
+ |
+
- |
-
-
-
+
+
+
+
-
+
-
-Exemple - Vous voulez faire tourner un serveur Web sur votre
+
+
Exemple - Vous voulez faire tourner un serveur Web sur votre
firewall :
-
+
- -
+
-
-
-
-
+ |
+
+
ACTION
- |
-
+ |
+
SOURCE
- |
-
+ |
+
DESTINATION
- |
-
+ |
+
PROTOCOL
- |
-
+ |
+
PORT
- |
-
+ |
+
SOURCE PORT
- |
-
+ |
+
ORIGINAL ADDRESS
- |
-
-
-
+ |
+
+
+
ACCEPT
- |
-
+ |
+
net
- |
-
+ |
+
fw
- |
-
+ |
+
tcp
- |
-
+ |
+
80
- |
-
+ |
+
#Permet l'accès Web
- |
-
+ |
+
depuis Internet
- |
-
-
-
+ |
+
+
+
ACCEPT
- |
-
+ |
+
loc
- |
-
+ |
+
fw
- |
-
+ |
+
tcp
- |
-
+ |
+
80
- |
-
+ |
+
#Permet l'accès Web
-
- |
-
+
+ |
+
depuis Internet
- |
-
-
-
+
+
+
+
-
+
-
-Ces deux règles bien sûr viennent s'ajouter
-aux règles décrites précédemment dans "Vous pouvez
+
+
Ces deux règles bien sûr viennent s'ajouter aux
+règles décrites précédemment dans "Vous pouvez
configurer un cache dns (Caching Name Server) sur votre firewall"
-
-Si vous ne savez pas quel port et quel protocole une application
+
+
Si vous ne savez pas quel port et quel protocole une application
particulière utilise, regardez ici.
-
-Important: Je ne vous recommande pas de permettre
-le telnet depuis ou vers Internet car il utilise du texte en clair (même
-pour le login et le mot de passe!). Si vous voulez un accès au shell
+
+
Important: Je ne vous recommande pas de permettre le
+telnet depuis ou vers Internet car il utilise du texte en clair (même
+pour le login et le mot de passe!). Si vous voulez un accès au shell
sur votre firewall depuis Internet, utilisez SSH :
-
+
- -
+
-
-
-
-
+ |
+
+
ACTION
- |
-
+ |
+
SOURCE
- |
-
+ |
+
DESTINATION
- |
-
+ |
+
PROTOCOL
- |
-
+ |
+
PORT
- |
-
+ |
+
SOURCE PORT
- |
-
+ |
+
ORIGINAL ADDRESS
- |
-
-
-
+ |
+
+
+
ACCEPT
- |
-
+ |
+
net
- |
-
+ |
+
fw
- |
-
+ |
+
tcp
- |
-
+ |
+
22
- |
-
+ |
+
- |
-
+ |
+
- |
-
-
-
+
+
+
+
-
+
-
+
- Maintenant éditez votre fichier /etc/shorewall/rules
+ Maintenant éditez votre fichier /etc/shorewall/rules
pour ajouter ou supprimer les connexions voulues.
-
+
Lancer et Arrêter votre Firewall
-
+
- La procédure d'installation
-configure votre système pour lancer Shorewall au boot du système,
-mais pour les débutants sous Shorewall version 1.3.9, le lancement
-est désactivé tant que la configuration n' est pas finie. Une
-fois la configuration de votre firewall achevée, vous pouvez permettre
+ La procédure d'installation
+ configure votre système pour lancer Shorewall au boot du système,
+mais pour les débutants sous Shorewall version 1.3.9, le lancement
+est désactivé tant que la configuration n' est pas finie. Une
+fois la configuration de votre firewall achevée, vous pouvez permettre
le lancement de Shorewall en enlevant le fichier /etc/shorewall/startup_disabled.
-
-IMPORTANT: Les utilisateurs
-des paquets .deb doivent éditer /etc/default/shorewall et mettre 'startup=1'.
-
-Le firewall est lancé en utilisant la commande "shorewall
-start" et stoppé avec "shorewall stop". Lorsque le firewall est stoppé,
+
+
IMPORTANT: Les utilisateurs des
+paquets .deb doivent éditer /etc/default/shorewall et mettre 'startup=1'.
+
+Le firewall est lancé en utilisant la commande "shorewall
+start" et stoppé avec "shorewall stop". Lorsque le firewall est stoppé,
le routage est permis sur les hôtes qui sont dans le fichier/etc/shorewall/routestopped. Un
-firewall fonctionnant peut être relancé en utilisant la commande
-"shorewall restart". Si vous voulez enlever toutes les traces de Shorewall
+ href="Documentation.htm#Routestopped">/etc/shorewall/routestopped. Un
+firewall fonctionnant peut être relancé en utilisant la commande
+"shorewall restart". Si vous voulez enlever toutes les traces de Shorewall
dans votre configuration de Netfilter, utilisez "shorewall clear".
-
+
- Les exemples (two-interface) supposent que vous voulez
-permettre le routage depuis ou vers eth1 (le réseau local)
-lorsque Shorewall est stoppé. Si votre réseau local n' est
-pas connecté à eth1 ou si vous voulez permettre l'accès
-depuis ou vers d'autres hôtes, changez /etc/shorewall/routestopped
-en conséquence.
-
-ATTENTION: Si vous êtes connecté à
-votre firewall depuis Internet, n'essayez pas la commande "shorewall stop"
-tant que vous n'avez pas ajouté une entrée pour votre adresse
+ Les exemples (two-interface) supposent que vous voulez
+permettre le routage depuis ou vers eth1 (le réseau local) lorsque
+Shorewall est stoppé. Si votre réseau local n' est pas connecté
+à eth1 ou si vous voulez permettre l'accès depuis ou
+vers d'autres hôtes, changez /etc/shorewall/routestopped en conséquence.
+
+ATTENTION: Si vous êtes connecté à
+votre firewall depuis Internet, n'essayez pas la commande "shorewall stop"
+tant que vous n'avez pas ajouté une entrée pour votre adresse
IP depuis laquelle vous êtes connecté dans/etc/shorewall/routestopped. De
-plus, je ne vous recommande pas d'utiliser "shorewall restart"; il est mieux
-de créer une configuration
-alternative et de l'essayer en utilisant la commande/etc/shorewall/routestopped. De
+plus, je ne vous recommande pas d'utiliser "shorewall restart"; il est mieux
+de créer une configuration
+ alternative et de l'essayer en utilisant la commande"shorewall try".
-
+
Last updated 12/20/2002 - Tom Eastep
-
-Copyright 2002 Thomas
+
+Copyright 2002 Thomas
M. Eastep
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/Shorewall-docs/upgrade_issues.htm b/Shorewall-docs/upgrade_issues.htm
index 2da08107e..b721cc87a 100755
--- a/Shorewall-docs/upgrade_issues.htm
+++ b/Shorewall-docs/upgrade_issues.htm
@@ -1,437 +1,421 @@
-
+
Upgrade Issues
-
+
-
+
-
+
-
+
-
-
-
+ |
+
+
Upgrade Issues
- |
-
-
-
+
+
+
+
-
+
For upgrade instructions see the Install/Upgrade page.
-
-
-It is important that you read all of the sections on this page where the
- version number mentioned in the section title is later than what you are
+
+
+It is important that you read all of the sections on this page where the
+ version number mentioned in the section title is later than what you are
currently running.
-
- In the descriptions that follows, the term group refers
-to a particular network or subnetwork (which may be 0.0.0.0/0 or it may
-be a host address) accessed through a particular interface.
-
+
+
+ In the descriptions that follows, the term group refers
+to a particular network or subnetwork (which may be 0.0.0.0/0 or it may be
+a host address) accessed through a particular interface.
+
+
Examples:
-
- eth0:0.0.0.0/0
- eth2:192.168.1.0/24
- eth3:192.0.2.123
-
-
+
+ eth0:0.0.0.0/0
+ eth2:192.168.1.0/24
+ eth3:192.0.2.123
+
+ You can use the "shorewall check" command to see the groups associated
+with each of your zones.
+
+
-
+
Version >= 1.4.2
-There are some cases where you may want to handle traffic from a particular
-group to itself. While I personally think that such a setups are ridiculous,
+ There are some cases where you may want to handle traffic from a particular
+group to itself. While I personally think that such a setups are ridiculous,
there are two cases covered in this documentation where it can occur:
+
- - In FAQ #2.
- - When running Squid as a transparent
+
- In FAQ #2.
+ - When running Squid as a transparent
proxy in your local zone.
+
-If you have either of these cases, you will want to review the current documentation
+ If you have either of these cases, you will want to review the current documentation
and change your configuration accordingly.
+
Version >= 1.4.1
-You can use the "shorewall check" command to see the groups associated with
-each of your zones.
-
-
+
- - Beginning with Version 1.4.1, traffic between groups in the same
- zone is accepted by default. Previously, traffic from a zone to itself
-was treated just like any other traffic; any matching rules were applied
-followed by enforcement of the appropriate policy. With 1.4.1 and later
-versions, unless you have explicit rules for traffic from Z to Z or you
-have an explicit Z to Z policy (where "Z" is some zone) then traffic between
-the groups in zone Z will be accepted. If you do have one or more explicit
-rules for Z to Z or if you have an explicit Z to Z policy then the behavior
-is as it was in prior versions.
-
+ - Beginning with Version 1.4.1, traffic between groups in the same
+ zone is accepted by default. Previously, traffic from a zone to itself was
+ treated just like any other traffic; any matching rules were applied followed
+ by enforcement of the appropriate policy. With 1.4.1 and later versions,
+ unless you have explicit rules for traffic from Z to Z or you have an explicit
+ Z to Z policy (where "Z" is some zone) then traffic between the groups
+in zone Z will be accepted. If you do have one or more explicit rules for
+Z to Z or if you have an explicit Z to Z policy then the behavior is as it
+was in prior versions.
+
-
-
+
+
- - If you have a Z Z ACCEPT policy for a zone to allow traffic between
- two interfaces to the same zone, that policy can be removed and traffic
-between the interfaces will traverse fewer rules than previously.
- - If you have a Z Z DROP or Z Z REJECT policy or you have Z->Z
+
- If you have a Z Z ACCEPT policy for a zone to allow traffic
+between two interfaces to the same zone, that policy can be removed and
+traffic between the interfaces will traverse fewer rules than previously.
+ - If you have a Z Z DROP or Z Z REJECT policy or you have Z->Z
rules then your configuration should not require any change.
- - If you are currently relying on a implicit policy (one that has
- "all" in either the SOURCE or DESTINATION column) to prevent traffic between
- two interfaces to a zone Z and you have no rules for Z->Z then you should
+
- If you are currently relying on a implicit policy (one that has
+ "all" in either the SOURCE or DESTINATION column) to prevent traffic between
+ two interfaces to a zone Z and you have no rules for Z->Z then you should
add an explicit DROP or REJECT policy for Z to Z.
-
-
+
+
-
-
+
+
- - Beginning with Version 1.4.1, Shorewall will never create rules
-to deal with traffic from a given group back to itself. The multi
-interface option is no longer available so if you want to route traffic between
-two subnetworks on the same interface then either:
-
+ - Sometimes, you want two separate zones on one interface but you
+don't want Shorewall to set up any infrastructure to handle traffic between
+them.
-
-
-
- - The subnetworks must be in different zones; or
- - You must use the /etc/shorewall/hosts file to define the subnetworks
- as two groups in a single zone.
-
-
+Example:
+
+ /etc/shorewall/zones
z1 Zone1 The first Zone
z2 Zone2 The secont Zone
/etc/shorewall/interfaces
z2 eth1 192.168.1.255
/etc/shorewall/hosts
z1 eth1:192.168.1.3
+
+ Here, zone z1 is nested in zone z2 and the firewall is not going to be
+ involved in any traffic between these two zones. Beginning with Shorewall
+ 1.4.1, you can prevent Shorewall from setting up any infrastructure to handle
+ traffic between z1 and z2 by using the new NONE policy:
+
+ /etc/shorewall/policy
z1 z2 NONE
z2 z1 NONE
- If you use the technique described in FAQ 2 to send local requests addressed
-to your firewall's external address back to a local server then you need to
-change your configuration to match the new version
-of FAQ #2.
-
- Example 1 -- Two zones:
-
-
- /etc/shorewall/zones
z1 Zone1 The first Zone
z2 Zone2 The secont Zone
/etc/shorewall/policy
z1 z2 ACCEPT
z2 z1 ACCEPT
/etc/shorewall/interfaces
- eth1 192.168.1.255,192.168.2.255
/etc/shorewall/hosts
z1 eth1:192.168.1.0/24
z2 eth1:192.168.2.0/24
-
- Example 2 -- One zone:
-
-
/etc/shorewall/zones
z Zone The Zone
/etc/shorewall/interfaces
- eth1 192.168.1.255,192.168.2.255
/etc/shorewall/hosts
z eth1:192.168.1.0/24
z eth1:192.168.2.0/24
-
- Note that in the second example, we don't need any policy since z->z
- traffic is accepted by default. The second technique is preferable if you
- want unlimited access between the two subnetworks.
-
- Sometimes, you want two separate zones on one interface but you don't
-want Shorewall to set up any infrastructure to handle traffic between them.
-
-
- Example:
-
-
- /etc/shorewall/zones
z1 Zone1 The first Zone
z2 Zone2 The secont Zone
/etc/shorewall/interfaces
z2 eth1 192.168.1.255
/etc/shorewall/hosts
z1 eth1:192.168.1.3
-
- Here, zone z1 is nested in zone z2 and the firewall is not going to be
-involved in any traffic between these two zones. Beginning with Shorewall
-1.4.1, you can prevent Shorewall from setting up any infrastructure to handle
-traffic between z1 and z2 by using the new NONE policy:
-
-
- /etc/shorewall/policy
z1 z2 NONE
z2 z1 NONE
-
- Note that NONE policies are generally used in pairs unless there is asymetric
- routing where only the traffic on one direction flows through the firewall
- and you are using a NONE polciy in the other direction.
+ Note that NONE policies are generally used in pairs unless there is asymetric
+ routing where only the traffic on one direction flows through the firewall
+ and you are using a NONE polciy in the other direction.
+
+Version 1.4.1
+
+
+ - In Version 1.4.1, Shorewall will never create rules to deal
+with traffic from a given group back to itself. The multi interface
+option is no longer available so if you want to route traffic between two
+subnetworks on the same interface then I recommend that you upgrade to Version
+1.4.2 and use the 'routeback' interface or host option.
+
+
+
Version >= 1.4.0
- IMPORTANT: Shorewall >=1.4.0 requires the iproute
+ IMPORTANT: Shorewall >=1.4.0 requires the iproute
package ('ip' utility).
-
- Note: Unfortunately, some distributions call this package iproute2
- which will cause the upgrade of Shorewall to fail with the diagnostic:
-
- error: failed dependencies:iproute is needed by shorewall-1.4.0-1
-
- This may be worked around by using the --nodeps option of rpm (rpm
+ Note: Unfortunately, some distributions call this package iproute2
+ which will cause the upgrade of Shorewall to fail with the diagnostic:
+
+ error: failed dependencies:iproute is needed by shorewall-1.4.0-1
+
+
+ This may be worked around by using the --nodeps option of rpm (rpm
-Uvh --nodeps <shorewall rpm>).
-
- If you are upgrading from a version < 1.4.0, then:
-
+
+ If you are upgrading from a version < 1.4.0, then:
+
- - The noping and forwardping interface options
- are no longer supported nor is the FORWARDPING option in shorewall.conf.
- ICMP echo-request (ping) packets are treated just like any other connection
+
- The noping and forwardping interface options
+ are no longer supported nor is the FORWARDPING option in shorewall.conf.
+ ICMP echo-request (ping) packets are treated just like any other connection
request and are subject to rules and policies.
- - Interface names of the form <device>:<integer>
- in /etc/shorewall/interfaces now generate a Shorewall error at startup
+
- Interface names of the form <device>:<integer>
+ in /etc/shorewall/interfaces now generate a Shorewall error at startup
(they always have produced warnings in iptables).
- - The MERGE_HOSTS variable has been removed from shorewall.conf.
- Shorewall 1.4 behaves like 1.3 did when MERGE_HOSTS=Yes; that is zone
-contents are determined by BOTH the interfaces and hosts files when there
-are entries for the zone in both files.
- - The routestopped option in the interfaces and hosts
+
- The MERGE_HOSTS variable has been removed from shorewall.conf.
+ Shorewall 1.4 behaves like 1.3 did when MERGE_HOSTS=Yes; that is zone
+ contents are determined by BOTH the interfaces and hosts files when there
+ are entries for the zone in both files.
+ - The routestopped option in the interfaces and hosts
file has been eliminated; use entries in the routestopped file instead.
- - The Shorewall 1.2 syntax for DNAT and REDIRECT rules is
+
- The Shorewall 1.2 syntax for DNAT and REDIRECT rules is
no longer accepted; you must convert to using the new syntax.
- - The ALLOWRELATED variable in shorewall.conf is
-no longer supported. Shorewall 1.4 behavior is the same as 1.3 with ALLOWRELATED=Yes.
- - Late-arriving DNS replies are now dropped by default;
- there is no need for your own /etc/shorewall/common file simply to avoid
- logging these packets.
- - The 'firewall', 'functions' and 'version' file
-have been moved to /usr/share/shorewall.
- - The icmp.def file has been removed. If you include
+
- The ALLOWRELATED variable in shorewall.conf is
+ no longer supported. Shorewall 1.4 behavior is the same as 1.3 with
+ALLOWRELATED=Yes.
+ - Late-arriving DNS replies are now dropped by
+default; there is no need for your own /etc/shorewall/common file simply
+to avoid logging these packets.
+ - The 'firewall', 'functions' and 'version' file
+ have been moved to /usr/share/shorewall.
+ - The icmp.def file has been removed. If you include
it from /etc/shorewall/icmpdef, you will need to modify that file.
-
+
- - If you followed the advice in FAQ #2 and call find_interface_address
+
- If you followed the advice in FAQ #2 and call find_interface_address
in /etc/shorewall/params, that code should be moved to /etc/shorewall/init.
-
-
+
+
-
+
-
+
Version 1.4.0
-
+
- - The 'multi' interface option is no longer supported.
- Shorewall will generate rules for sending packets back out the same
-interface that they arrived on in two cases:
-
+ - The 'multi' interface option is no longer supported.
+ Shorewall will generate rules for sending packets back out the same interface
+that they arrived on in two cases:
+
-
-
+
+
- - There is an explicit policy for the source zone to or
-from the destination zone. An explicit policy names both zones and does
+
- There is an explicit policy for the source zone to or
+from the destination zone. An explicit policy names both zones and does
not use the 'all' reserved word.
-
+
-
+
- - There are one or more rules for traffic for the source zone to
- or from the destination zone including rules that use the 'all' reserved
- word. Exception: if the source zone and destination zone are the same
-then the rule must be explicit - it must name the zone in both the SOURCE
-and DESTINATION columns.
-
+ - There are one or more rules for traffic for the source zone
+to or from the destination zone including rules that use the 'all' reserved
+ word. Exception: if the source zone and destination zone are the same then
+ the rule must be explicit - it must name the zone in both the SOURCE and
+ DESTINATION columns.
+
-
-
+
+
Version >= 1.3.14
-
- Beginning in version 1.3.14, Shorewall treats entries in
-/etc/shorewall/masq differently. The
-change involves entries with an interface name in the SUBNET
-(second) column:
-
-
- - Prior to 1.3.14, Shorewall would detect the FIRST subnet
- on the interface (as shown by "ip addr show interface") and would
- masquerade traffic from that subnet. Any other subnets that routed through
- eth1 needed their own entry in /etc/shorewall/masq to be masqueraded
-or to have SNAT applied.
- - Beginning with Shorewall 1.3.14, Shorewall uses the firewall's
- routing table to determine ALL subnets routed through the named interface.
- Traffic originating in ANY of those subnets is masqueraded or has SNAT
- applied.
-
-
- You will need to make a change to your configuration if:
-
-
- - You have one or more entries in /etc/shorewall/masq with
- an interface name in the SUBNET (second) column; and
- - That interface connects to more than one subnetwork.
-
-
- Two examples:
-
- Example 1 -- Suppose that your current config is as
-follows:
-
-
- [root@gateway test]# cat /etc/shorewall/masq
#INTERFACE SUBNET ADDRESS
eth0 eth2 206.124.146.176
eth0 192.168.10.0/24 206.124.146.176
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
[root@gateway test]# ip route show dev eth2
192.168.1.0/24 scope link
192.168.10.0/24 proto kernel scope link src 192.168.10.254
[root@gateway test]#
-
-In this case, the second entry in /etc/shorewall/masq is no longer
- required.
-
- Example 2-- What if your current configuration is like
- this?
-
- [root@gateway test]# cat /etc/shorewall/masq
#INTERFACE SUBNET ADDRESS
eth0 eth2 206.124.146.176
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
[root@gateway test]# ip route show dev eth2
192.168.1.0/24 scope link
192.168.10.0/24 proto kernel scope link src 192.168.10.254
[root@gateway test]#
-
-In this case, you would want to change the entry in /etc/shorewall/masq
- to:
-
-
- #INTERFACE SUBNET ADDRESS
eth0 192.168.1.0/24 206.124.146.176
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
- Version 1.3.14 also introduced simplified ICMP echo-request
- (ping) handling. The option OLD_PING_HANDLING=Yes in /etc/shorewall/shorewall.conf
- is used to specify that the old (pre-1.3.14) ping handling is to be
-used (If the option is not set in your /etc/shorewall/shorewall.conf
-then OLD_PING_HANDLING=Yes is assumed). I don't plan on supporting the
-old handling indefinitely so I urge current users to migrate to using
-the new handling as soon as possible. See the 'Ping'
-handling documentation for details.
-
-Version 1.3.10
- If you have installed the 1.3.10 Beta 1 RPM and are now upgrading
- to version 1.3.10, you will need to use the '--force' option:
+ Beginning in version 1.3.14, Shorewall treats entries in
+ /etc/shorewall/masq differently. The
+ change involves entries with an interface name in the SUBNET
+ (second) column:
+
+
+ - Prior to 1.3.14, Shorewall would detect the FIRST subnet
+ on the interface (as shown by "ip addr show interface") and would
+ masquerade traffic from that subnet. Any other subnets that routed through
+ eth1 needed their own entry in /etc/shorewall/masq to be masqueraded
+or to have SNAT applied.
+ - Beginning with Shorewall 1.3.14, Shorewall uses the firewall's
+ routing table to determine ALL subnets routed through the named interface.
+ Traffic originating in ANY of those subnets is masqueraded or has SNAT
+ applied.
+
+
+ You will need to make a change to your configuration if:
+
+
+ - You have one or more entries in /etc/shorewall/masq with
+ an interface name in the SUBNET (second) column; and
+ - That interface connects to more than one subnetwork.
+
+
+ Two examples:
-
-
- rpm -Uvh --force shorewall-1.3.10-1.noarch.rpm
+ Example 1 -- Suppose that your current config is as
+follows:
+
+
+ [root@gateway test]# cat /etc/shorewall/masq
#INTERFACE SUBNET ADDRESS
eth0 eth2 206.124.146.176
eth0 192.168.10.0/24 206.124.146.176
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
[root@gateway test]# ip route show dev eth2
192.168.1.0/24 scope link
192.168.10.0/24 proto kernel scope link src 192.168.10.254
[root@gateway test]#
+
+In this case, the second entry in /etc/shorewall/masq is no longer
+ required.
-
+ Example 2-- What if your current configuration is like
+ this?
+
+ [root@gateway test]# cat /etc/shorewall/masq
#INTERFACE SUBNET ADDRESS
eth0 eth2 206.124.146.176
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
[root@gateway test]# ip route show dev eth2
192.168.1.0/24 scope link
192.168.10.0/24 proto kernel scope link src 192.168.10.254
[root@gateway test]#
+
+In this case, you would want to change the entry in /etc/shorewall/masq
+ to:
+
+
+ #INTERFACE SUBNET ADDRESS
eth0 192.168.1.0/24 206.124.146.176
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
+
+ Version 1.3.14 also introduced simplified ICMP echo-request
+ (ping) handling. The option OLD_PING_HANDLING=Yes in /etc/shorewall/shorewall.conf
+ is used to specify that the old (pre-1.3.14) ping handling is to be
+used (If the option is not set in your /etc/shorewall/shorewall.conf then
+OLD_PING_HANDLING=Yes is assumed). I don't plan on supporting the old
+handling indefinitely so I urge current users to migrate to using the
+new handling as soon as possible. See the 'Ping' handling
+documentation for details.
+
+Version 1.3.10
+ If you have installed the 1.3.10 Beta 1 RPM and are now upgrading
+ to version 1.3.10, you will need to use the '--force' option:
+
+
+
+ rpm -Uvh --force shorewall-1.3.10-1.noarch.rpm
+
+
Version >= 1.3.9
- The 'functions' file has moved to /usr/lib/shorewall/functions.
- If you have an application that uses functions from that file, your
+ The 'functions' file has moved to /usr/lib/shorewall/functions.
+ If you have an application that uses functions from that file, your
application will need to be changed to reflect this change of location.
-
+
Version >= 1.3.8
-
-If you have a pair of firewall systems configured for failover
- or if you have asymmetric routing, you will need to modify
- your firewall setup slightly under Shorewall
- versions >= 1.3.8. Beginning with version 1.3.8,
- you must set NEWNOTSYN=Yes in your
- /etc/shorewall/shorewall.conf file.
-
+
+If you have a pair of firewall systems configured for failover
+ or if you have asymmetric routing, you will need to modify
+ your firewall setup slightly under Shorewall
+ versions >= 1.3.8. Beginning with version 1.3.8,
+ you must set NEWNOTSYN=Yes in your
+ /etc/shorewall/shorewall.conf file.
+
Version >= 1.3.7
-
-Users specifying ALLOWRELATED=No in /etc/shorewall.conf
- will need to include the following
- rules in their /etc/shorewall/icmpdef file (creating this
-file if necessary):
-
+
+Users specifying ALLOWRELATED=No in /etc/shorewall.conf
+ will need to include the following
+ rules in their /etc/shorewall/icmpdef file (creating this file
+if necessary):
+
run_iptables -A icmpdef -p ICMP --icmp-type echo-reply -j ACCEPT
run_iptables -A icmpdef -p ICMP --icmp-type source-quench -j ACCEPT
run_iptables -A icmpdef -p ICMP --icmp-type destination-unreachable -j ACCEPT
run_iptables -A icmpdef -p ICMP --icmp-type time-exceeded -j ACCEPT
run_iptables -A icmpdef -p ICMP --icmp-type parameter-problem -j ACCEPT
-
-Users having an /etc/shorewall/icmpdef file may remove the ". /etc/shorewall/icmp.def"
+
+
Users having an /etc/shorewall/icmpdef file may remove the ". /etc/shorewall/icmp.def"
command from that file since the icmp.def file is now empty.
-
+
Upgrading Bering to Shorewall >= 1.3.3
-
+
To properly upgrade with Shorewall version 1.3.3 and later:
-
+
- - Be sure you have a
-backup -- you will need to transcribe
-any Shorewall configuration changes
-that you have made to the new configuration.
- - Replace the shorwall.lrp
- package provided on the Bering floppy
- with the later one. If you did not
- obtain the later version from Jacques's site, see additional instructions
- below.
- - Edit the /var/lib/lrpkg/root.exclude.list
- file and remove the /var/lib/shorewall
- entry if present. Then do not forget
+
- Be sure you have
+a backup -- you will need to transcribe
+ any Shorewall configuration changes
+ that you have made to the new configuration.
+ - Replace the shorwall.lrp
+ package provided on the Bering floppy
+ with the later one. If you did not
+ obtain the later version from Jacques's site, see additional instructions
+ below.
+ - Edit the /var/lib/lrpkg/root.exclude.list
+ file and remove the /var/lib/shorewall
+ entry if present. Then do not forget
to backup root.lrp !
-
+
-
-The .lrp that I release isn't set up for a two-interface firewall like
- Jacques's. You need to follow the instructions
- for setting up a two-interface firewall plus you also need
+
+
The .lrp that I release isn't set up for a two-interface firewall like
+ Jacques's. You need to follow the instructions
+ for setting up a two-interface firewall plus you also need
to add the following two Bering-specific rules to /etc/shorewall/rules:
-
-
+
+
# Bering specific rules:
# allow loc to fw udp/53 for dnscache to work
# allow loc to fw tcp/80 for weblet to work
#
ACCEPT loc fw udp 53
ACCEPT loc fw tcp 80
-
-
+
+
Version 1.3.6 and 1.3.7
-
-If you have a pair of firewall systems configured for
- failover or if you have asymmetric routing, you will need to modify
- your firewall setup slightly under Shorewall versions 1.3.6
- and 1.3.7
-
+
+If you have a pair of firewall systems configured for
+ failover or if you have asymmetric routing, you will need to modify
+ your firewall setup slightly under Shorewall versions
+1.3.6 and 1.3.7
+
- -
-
Create the file /etc/shorewall/newnotsyn and in it add
+
-
+
Create the file /etc/shorewall/newnotsyn and in it add
the following rule
-
- run_iptables -A newnotsyn
- -j RETURN # So that the connection tracking table can be
+
+ run_iptables -A newnotsyn
+ -j RETURN # So that the connection tracking table can be
rebuilt
- # from
+ # from
non-SYN packets after takeover.
-
-
- -
-
Create /etc/shorewall/common (if you don't already
- have that file) and include the following:
-
- run_iptables -A common
--p tcp --tcp-flags ACK,FIN,RST ACK -j ACCEPT #Accept Acks
-to rebuild connection
-
+
+
+ -
+
Create /etc/shorewall/common (if you don't already
+ have that file) and include the following:
+
+ run_iptables -A common
+-p tcp --tcp-flags ACK,FIN,RST ACK -j ACCEPT #Accept Acks
+ to rebuild connection
+
#tracking table.
- . /etc/shorewall/common.def
-
-
+ . /etc/shorewall/common.def
+
+
-
+
Versions >= 1.3.5
-
-Some forms of pre-1.3.0 rules file syntax are no longer
-supported.
-
+
+Some forms of pre-1.3.0 rules file syntax are no longer
+ supported.
+
Example 1:
-
-
+
+
ACCEPT net loc:192.168.1.12:22 tcp 11111 - all
-
-
+
+
Must be replaced with:
-
-
+
+
DNAT net loc:192.168.1.12:22 tcp 11111
-
-
-
+
+
+
-
-
+
+
+
ACCEPT loc fw::3128 tcp 80 - all
-
-
-
+
+
+
-
-
+
+
+
REDIRECT loc 3128 tcp 80
-
-
+
+
Version >= 1.3.2
-
-The functions and versions files together with the 'firewall'
-symbolic link have moved from /etc/shorewall to /var/lib/shorewall.
- If you have applications that access these files, those applications
- should be modified accordingly.
-
- Last updated 4/7/2003 - Tom Eastep
-
-
-Copyright
+
+The functions and versions files together with the 'firewall'
+ symbolic link have moved from /etc/shorewall to /var/lib/shorewall.
+ If you have applications that access these files, those applications
+ should be modified accordingly.
+
+ Last updated 4/13/2003 - Tom
+Eastep
+
+Copyright
© 2001, 2002, 2003 Thomas M. Eastep.
-
+
+