Page suivante Page précédente Table des matières

3. Mise en place d'IP Masquerade

Si votre réseau privé contient des informations vitales, pensez aux implications de sécurité avant d'utiliser IP Masquerade. Par défaut IP MASQ constitue une passerelle pour vous, pour atteindre Internet, mais la réciproque est vraie et quelqu'un sur Internet pourrait pénétrer sur votre réseau privé.
Une fois que vous avez un IP MASQ qui marche, il est CHAUDEMENT recommandé d'implémenter de FORTES règles d'IPFWADM/IPCHAINS. Référez vous aux sections Strong-IPFWADM-Rulesets et Strong-IPCHAINS-Rulesets ci dessous pour plus de détails.

3.1 Compiler le noyau pour le support d'IP Masquerade

Si votre distribution de Linux a déjà les fonctionnalités necessaires et les modules de compilés, comme :

Et tous les modules relatif au MASQ de compilés (la majorité des noyaux auront ce dont vous avez besoin); alors, vous n'aurez pas a recompiler votre noyau. Si vous n'etes pas sru que votre distribution linux est prete pour le MASQ allez voir la section MASQ-supported-Distributions ou la page IP Masquerade Resource pour plus de détails. Si vous n'arrivez pas a savoir si votre distribution supporte le MASQ, alors, SUPPOSEZ QU'ELLE NE LE SUPPORTE PAS

Que votre distribution le supporte ou pas, lire la suite de cette section est chaudement recommandé car elle contient pas mal d'informations interessantes.

Noyaux Linux 2.0.x

Référez vous a la section 2.0.x-Requirements pour les logiciels, patchs requis.

  * Prompt for development and/or incomplete code/drivers (CONFIG_EXPERIMENTAL) [Y/n/?] 
    - YES : Permet de selectionner l'IP Masquerade (qui est experimental dans les 2.0)

  * Enable loadable module support (CONFIG_MODULES) [Y/n/?] 
    - YES : Permet de charger les modules IP MASQ

  * Networking support (CONFIG_NET) [Y/n/?]
    - YES : Permet l'utilisation du réseau

  * Network firewalls (CONFIG_FIREWALL) [Y/n/?]
    - YES : Permet d'utiliser IPFWADM

  * TCP/IP networking (CONFIG_INET)
    - YES : Permet d'utiliser le protocole TCP/IP

  * IP: forwarding/gatewaying (CONFIG_IP_FORWARD)
    - YES : Permet de faire du relayage / routage de paquets IP - Contrôlé par IPFWADM

  * IP: syn cookies (CONFIG_SYN_COOKIES) [Y/n/?]
    - YES : CHAUDEMENT recommandé pour une sécurité réseau de base

  * IP: firewalling (CONFIG_IP_FIREWALL) [Y/n/?]
    - YES : Permet d'utiliser les fonctionnalités de firewall

  * IP: firewall packet logging (CONFIG_IP_FIREWALL_VERBOSE) [Y/n/?]
    - YES : (OPTIONNEL mais CHAUDEMENT recommandé) : Permet de logger des hits du firewall

  * IP: masquerading (CONFIG_IP_MASQUERADE [Y/n/?]
    - YES : Permet a IP MASQ de réadresser les paquets TCP/IP

  * IP: ipautofw masquerade support (EXPERIMENTAL) (CONFIG_IP_MASQUERADE_IPAUTOFW) [Y/n/?]
    - NO : IPAUTOFW est une méthode simple de relayage de port. Bien qu'elle marche,
           IPPORTFW marche mieux, par conséquent, IPAUTOFW N'EST PAS recommandé

  * IP: ipportfw masq support (EXPERIMENTAL) (CONFIG_IP_MASQUERADE_IPPORTFW) [Y/n/?]
    - YES : Cette option n'est disponible qu'après l'application d'un patch pour les
            noyaux 2.0

            Avec cette option, des ordinateurs externes sur internet peuvent communiquer
            directement avec des machines MASQuée spécifiques. Cette fonctionnalité est
            typiquement utilisée pour accéder a des serveurs smtp, telnet, web
            internes. Pour le ftp, un patch supplémentaire sera nécessaire comme il l'est
            décrit dans la FAQ. De plus amples informations sur le relayage de port se
            trouve dans la section forwarding de ce HOWTO.

  * IP: ICMP masquerading (CONFIG_IP_MASQUERADE_ICMP) [Y/n/?]
    - YES : Permet de masquerader les paquets ICMP. Bien qu'optionnelle, beaucoup de
            programmes ne fonctionneront pas correctement sans cette fonctionnalité.

  * IP: loose UDP port managing (EXPERIMENTAL) (CONFIG_IP_MASQ_LOOSE_UDP) [Y/n/?] 
    - YES : Cette option n'est disponible qu'après l'application d'un patch pour les
            noyaux 2.0

            Avec cette option, des ordinateurs internes masqués peuvent jouer a des jeux
            ne supportant pas le NAT sur internet. plus de détails sont donnés dans la FAQ

  * IP: always defragment (CONFIG_IP_ALWAYS_DEFRAG) [Y/n/?]
    - YES : Cette fonctionnalité optimise les connexions IP MASQ - CHAUDEMENT recommandé

  * IP: optimize as router not host (CONFIG_IP_ROUTER) [Y/n/?] 
    - YES : Cela optimise le noyau pour l'utilisation en réseau

  * IP: Drop source routed frames (CONFIG_IP_NOSR) [Y/n/?]
    - YES : CHAUDEMENT recommandé pour une sécurité réseau de base

  * Dummy net driver support (CONFIG_DUMMY) [M/n/y/?]
    - YES : Bien qu'optionnelle, cette fonctionnalité peut aider en cas de problèmes

  * /proc filesystem support (CONFIG_PROC_FS) [Y/n/?] 
    - YES : Requise pour permettre d'autoriser le systeme de relayage

NOTE : Ce sont juste les composants dont vous avez besoin pour l'IP Masquerade. Vous avez aussi à ajouter toute autre option réseau et matérielles nécessaire pour votre configuration personnelle.

Noyaus Linux 2.2.x

Référez vous a la section 2.2.x-Requirements pour les logiciels, patchs requis.

  * Prompt for development and/or incomplete code/drivers (CONFIG_EXPERIMENTAL) [Y/n/?]
    - YES : Bien que n'étant pas nécessaire pour l'IP MASQ, cette option permet de créer
            certains modules MASQ et de choisir quelques options comme le relayage de
            ports
 
  * Enable loadable module support (CONFIG_MODULES) [Y/n/?]
    - YES : Permet de charger les modules IP MASQ

  * Networking support (CONFIG_NET) [Y/n/?]
    - YES : Permet l'utilisation du réseau

  * Packet socket (CONFIG_PACKET) [Y/m/n/?]
    - YES : Bien qu'OPTIONNELLE, cette fonctionnalité permet d'utiliser tcpdump pour
            débugger certains problèmes avec IP MASQ

  * Kernel/User netlink socket (CONFIG_NETLINK) [Y/n/?] 
    - YES : Bien qu'OPTIONNELLE, cette fonctionnalité permet de logger des hits du
            firewall

  * Routing messages (CONFIG_RTNETLINK) [Y/n/?]
    - NO : Cette option n'a rien a voir avec les logs du firewall

  * Network firewalls (CONFIG_FIREWALL) [Y/n/?]
    - YES : Permet d'utiliser IPCHAINS

  * TCP/IP networking (CONFIG_INET) [Y/n/?]
    - YES : Permet d'utiliser le protocole TCP/IP

  * IP: advanced router (CONFIG_IP_ADVANCED_ROUTER) [Y/n/?]
    - NO : Ce n'est requis que si vous utilisez aussi CONFIG_IP_ROUTE_VERBOSE et des
           routages spéciaux (indépendants d'ipchains/masq)

  * IP: verbose route monitoring (CONFIG_IP_ROUTE_VERBOSE) [Y/n/?]
    - YES : Très utile si vous voulez utiliser le code de routage pour mettre de coté les
            paquets spoofés (CHAUDEMENT recommandé) et que vous voulez les logger.

  * IP: firewalling (CONFIG_IP_FIREWALL) [Y/n/?]
    - YES : Permet d'utiliser les fonctionnalités de firewall

  * IP: firewall packet netlink device (CONFIG_IP_FIREWALL_NETLINK) [Y/n/?]
    - YES : Bien qu'OPTIONNELLE, cette fonctionnalité permet d'améliorer les logs du
            firewall

  * IP: always defragment (required for masquerading) (CONFIG_IP_ALWAYS_DEFRAG) [Y/n/?] 
    - YES : Cette fonctionnalité est REQUISE si vous voulez avoir accès aux
            fonctionnalités d'IP MASQ et/ou de proxy transparent. Cette fonctionnalité
            optimise les connexions IP MASQ

  * IP: masquerading (CONFIG_IP_MASQUERADE) [Y/n/?]
    - YES : Permet a IP MASQ de réadresser les paquets TCP/IP

  * IP: ICMP masquerading (CONFIG_IP_MASQUERADE_ICMP) [Y/n/?]
    - YES : Permet de masquerader les paquets icmp (les paquets d'erreur seront masqués de
            que la réponse soit oui ou non). Cette fonctionnalité est importante si vous
            rencontrez des problèmes avec vos connexions.

  * IP: masquerading special modules support (CONFIG_IP_MASQUERADE_MOD) [Y/n/?]
    - YES : Bien qu'OPTIONNELLE, cette fonctionnalité permet de choisir le relayage de
            port TCP/IP pour permettre a des ordinateurs externe d'accéder a certaines
            machines MASQuées.

  * IP: ipautofw masq support (EXPERIMENTAL) (CONFIG_IP_MASQUERADE_IPAUTOFW) [N/y/m/?]
    - NO : IPAUTOFW est une méthode simple pour le relayage de ports. C'est juste une
           grosse bidouille, et il est préférable d'utiliser les modules spécifiques a un
           protocole. IPAUTOFW N'EST PAS recommandé.

  * IP: ipportfw masq support (EXPERIMENTAL) (CONFIG_IP_MASQUERADE_IPPORTFW) [Y/m/n/?]
    - YES : Permet le IPPORTFW.  

            Avec cette option, des ordinateurs externes sur internet peuvent communiquer
            directement avec des machines MASQuée spécifiques. Cette fonctionnalité est
            typiquement utilisée pour accéder a des serveurs smtp, telnet, web
            internes. Pour le ftp, un patch supplémentaire sera nécessaire comme il l'est
            décrit dans la FAQ. De plus amples informations sur le relayage de port se
            trouve dans la section forwarding de ce HOWTO.

  * IP: ip fwmark masq-forwarding support (EXPERIMENTAL) (CONFIG_IP_MASQUERADE_MFW) [Y/m/n/?]
    - NO : Permet de configurer le relayage avec IPCHAINS directement. C'est du code
          expérimental, et la méthode recommandée est d'utiliser IPMASQADM et IPPORTFW.

  * IP: optimize as router not host (CONFIG_IP_ROUTER) [Y/n/?]
    - YES : Cela optimise le noyau pour l'utilisation en réseau mais cela ne change pas
            grand chose en fait.

  * IP: GRE tunnels over IP (CONFIG_NET_IPGRE) [N/y/m/?]
    - NO : Cette sélection OPTIONNELLE sert a autoriser les tunnels PPTP et GRE via la
           machine MASQ

  * IP: TCP syncookie support (not enabled per default) (CONFIG_SYN_COOKIES) [Y/n/?]
    YES : CHAUDEMENT recommandé pour une sécurité réseau de base

  * IP: Drop source routed frames (CONFIG_IP_NOSR) [Y/n/?]
    - YES : CHAUDEMENT recommandé pour une sécurité réseau de base

  * Network device support (CONFIG_NETDEVICES) [Y/n/?]
    - YES : Permet d'utiliser la sous couche réseau de Linux

  * Dummy net driver support (CONFIG_DUMMY) [M/n/y/?] 
    - YES : Bien qu'optionnelle, cette fonctionnalité peut aider en cas de problèmes

  * /proc filesystem support (CONFIG_PROC_FS) [Y/n/?] 
    - YES : Requise pour permettre d'autoriser le systeme de relayage

NOTE : Voici juste les composants qu'il faut pour que l'IP Masquerade marche, sélectionnez les options spécifiques dont vous avez besoin pour votre système.

3.2 Assignation d'adresse IP pour le réseau local

Puisque toutes les machines INTERNES MASQUÉES ne doivent pas d'adresse IP officielle, il doit y avoir une manière spécifique et générale de leur en allouer sans entrer en collisions avec l'adresse IP de quelqu'un d'autre.

Selon la FAQ originelle d'IP Masquerade :

Le document officiel qui indique quelles adresses IP assigner à un réseau non connecté ou "privé" est la RFC 1918. Il existe 3 plages réservées spécialement à cet effet.

Section 3~: Adressage de réseaux privés

L' "Internet Assigned Numbers Authority" (IANA) a réservé les 3 plages
suivantes pour leur utilisation par des réseaux privés~:

              10.0.0.0        -   10.255.255.255
              172.16.0.0      -   172.31.255.255
              192.168.0.0     -   192.168.255.255

Nous ferons référence à la première en tant que la "plage de 24 bits", la
deuxième comme "plage de 20 bits" et la troisième comme "plage de 16 bits".
Notez que la première plage n'est rien d'autre qu'un réseau de classe A, la
deuxième un ensemble de 16 réseaux de classe B contigus, et la troisième un
ensemble de 255 réseaux de classe C contigus.

Pour la petite histoire, ma préférence va au réseau 192.168.0.0 avec le masque de sous réseau de classe C 255.255.255.0, et ce HOWYO reflete cela. Bien sur, n'importe quel réseau privé décrit ci dessus est valide, tant que vous utilisez le bon masque de sous réseau.

Ainsi, si vous utilisez un réseau de classe C, vous devrez utiliser les adresses IP 192.168.0.1, 1.92.168.0.2, 1.92.168.0.3, ..., 192.168.0.x

192.168.0.1 est habituellement la machine passerelle, qui est ici votre machine Linux se connectant à Internet. Remarquez que 192.168.0.0 et 192.168.0.255 sont respectivement les adresses de réseau et de broadcast (ces adresses sont RÉSERVÉES). Évitez d'utiliser ces adresses sur vos machines ou votre réseau ne fonctionnera pas correctement.

3.3 Configurer les règles d'IP Forwarding

A ce point du document, vous devriez avoir votre noyau et les autres packages installés. De plus, les adresses IP, la passerelle, et le DNS devraient être installés sur votre serveur MASQ. Si vous ne savez pas comment configurer votre carte réseau, référez vous aux sections 2.0.x-Requirements ou 2.2.x-Requirements

Maintenant, la seule chose à faire est de configurer l'outil de firewalling IP (ipfwadm) pour faire suivre / masquer les paquets appropriés à la machine qui convient :

** Ceci peut être fait de diverses façons. Les suggestions et exemples suivants fonctionnent pour moi, mais il se peut que vous ayez d'autres idées ou besoins.

** Cette section ne fournis que les rudiments d'un firewall pour faire marcher l'IP MASQ. Une fois que l'IP MASQ a été suffisamment testé (comme décrit plus loin dans ce HOWTO), référez vous aux section Strong-IPFWADM-Rulesets et/ou Strong-IPCHAINS-Rulesets pour des regles plus sécurisées. En plus, allez lire les mages man d'IPFWADM (2.0) te IPCHAINS (2.2) pour plus de détails.

Noyaux Linux 2.0.x

Créez le fichier /etc/rc.d/rc.firewall avec l'exemple SIMPLE qui suit :

#!/bin/sh
#
# rc.firewall - exemple SIMPLE de configuration IP MASQ pour les noyaux 2.0 avec IPFWADM
#
# Charge tous les modules MASQ requis
#
# NOTE : Ne chargez que les modules dont vous avez besoin. Tous les modules IP MASQ
#        disponibles sont cités ci dessous, mais sont mis en commentaires.

# Necessaire pour charger les modules
#
/sbin/depmod -a

# Supporte le masquerading des transferts de fichiers FTP utilisant la méthode PORT.
#
/sbin/modprobe ip_masq_ftp

# Supporte le masquerading de RealAudio via UDP. Sans ce module, RealAudio FONCTIONNERA,
# mais en mode TCP. Cela peut causer une réduction dans la qualité du son.
#
#/sbin/modprobe ip_masq_raudio

# Supporte le masquerading des transferts IRC DCC.
#
#/sbin/modprobe ip_masq_irc

# Supporte le masquerading de Quake et QuakeWorld par défaut. Ce module sert si vous avez
# plusieurs utilisateurs derriere le serveur MASQ. Si vous allez jouer a Quake I, II et
# III, utilisez le deuxieme exemple.
#
#Quake I / QuakeWorld (ports 26000 et 27000)
#/sbin/modprobe ip_masq_quake
#
#Quake I/II/III / QuakeWorld (ports 26000, 27000, 27910, 27960)
#/sbin/modprobe ip_masq_quake ports=26000,27000,27910,27960

# Supporte le masquerading du systeme de visioconférences CuSeeMe
#
#/sbin/modprobe ip_masq_cuseeme

# Supporte le masquerading du systeme de visioconférences VDO Live
#
#/sbin/modprobe ip_masq_vdolive


# CRITIQUE : Permet le relayage de paquets IP car il est désactivé par défaut depuis le
#            noyau 2.0.34
#
# Utilisateurs RedHat : Vous pouvez aussi changer l'option dans /etc/sysconfig/network de :
#
#                       FORWARD_IPV4=false  
#                             à
#                       FORWARD_IPV4=true
#
echo "1" > /proc/sys/net/ipv4/ip_forward

# Utilisateurs d'IP dynamiques :
#
# Si vous avez une adresse IP dynamique via SLIP, PPP ou DHCP, décommentez l'option
# suivante. Elle permet d'utiliser une bidouille dans l'IP MASQ qui sert pour les IP
# dynamiques, ce qui rends la vie avec DialD, PPPd et les programmes similaires bien plus
# facile.
#
#echo "1" > /proc/sys/net/ipv4/ip_dynaddr


# Durée de vie des connexion MASQuées
#
#    2 hrs pour une session TCP
#   10 sec apres qu'un paquet "FIN" soit passé
#  160 sec pour le traffic UDP (Important pour les utilisateurs d'ICQ)
#
/sbin/ipfwadm -M -s 7200 10 160


# DHCP : Pour Ceux qui recoivent leur IP externe d'un serveur soit DHCP soit BOOTP comme
#        les utilisateurs d'ADSL ou du Câble, Il est nécessaire d'utiliser la commande
#        suivante avant le deny. Le "bootp_client_net_if_name" doit être remplacé par le
#        nom de l'interface qui recevra son IP du serveur DHCP/BOOTP. Cela devrais être
#        quelque chose comme "eth0", "eth1", etc.
#
#        Cet exemple est pour l'instant commenté.
#
#
#/sbin/ipfwadm -I -a accept -S 0/0 67 -D 0/0 68 -W bootp_clients_net_if_name -P udp


# Permettre un forwarding et masquerading IP simple
#
# NOTE : L'exemple suivant est un exemple pour un réseau dont les adresses sont dans le
#        réseau 192.168.0.0 avec le masque de sous réseau 255255.255.0, ou 24 bits.
#
#        Changez ces paramètres pour prendre en compte votre configuration locale.
#
/sbin/ipfwadm -F -p deny
/sbin/ipfwadm -F -a m -S 192.168.0.0/24 -D 0.0.0.0/0

Une fois que vous avez terminé d'éditer votre /etc/rc.d/rc.firewall, rendez le executable en tapant "chmod 700 /etc/rc.d/rc.firewall".

Vous pouvez aussi autoriser l'IP MASQ par machine et non en autorisant tout le réseau. Par exemple, vous pourriez vouloir que seules les machines 192.168.0.2 et 192.168.0.8 aient accès a internet, et pas les autres machines. Il suffit de changer la section "Permettre un forwarding et masquerading IP simple" (ci dessus) du fichier /etc/rc.d/rc.firewall.

# Permettre un forwarding et masquerading IP simple
#
# NOTE : L'exemple suivant est un exemple qui autorise le MASQ pour uniquement les
#        machines 192.168.0.2 et 192.168.0.6.
#
#        Utilisez l'exemple ci dessous pour spécifier les machines ayant le droit
#        d'accéder a internet. n'oubliez pas de l'adapter a votre configuration.
#
/sbin/ipfwadm -F -p deny
/sbin/ipfwadm -F -a m -S 192.168.0.2/32 -D 0.0.0.0/0
/sbin/ipfwadm -F -a m -S 192.168.0.8/32 -D 0.0.0.0/0

Il semble que l'erreur la plus courante soit de faire de la police par défaut le masquerading en tapant :

ipfwadm -F -p masquerade

NE FAITE PAS de votre configuration par défaut le MASQ. Autrement, quelqu'un de mal intentionné pourrais manipuler ses tables de routage pour créer un tunnel a travers votre passerelle, utilisant le masquerading pour masquer sa propre identité !

Encore une fois, vous pouvez ajouter au fichier /etc/rc.d/rc.firewall, ou l'un des autres fichiers rc, ou même les taper a la main a chaque fois que vous en avez besoin.

Allez faire un tour dans les sections Strong-IPFWADM-Rulesets et Strong-IPCHAINS-Rulesets pour plus de détails sur l'établissement de règles plus strictes.

Noyaux Linux 2.2.x

Notez que IPFWADM n'est plus l'outil de firewall a utiliser pour manipuler les regles d'IP MASQ pour les noyaux 2.1 et 2.2. Ces noyaux utilisent le nouvel outil IPCHAINS. Pour plus de détails sur les raisons de ce changement, référez vous a la FAQ .

Créez le fichier /etc/rc.d/rc.firewall avec les règles suivantes :

#!/bin/sh
#
# rc.firewall - exemple SIMPLE de configuration IP MASQ pour les noyaux 2.1 et 2.2 avec
#               IPFWADM
#
# Charge tous les modules MASQ requis
#
# NOTE : Ne chargez que les modules dont vous avez besoin. Tous les modules IP MASQ
#        disponibles sont cités ci dessous, mais sont mis en commentaires.

# Necessaire pour charger les modules
#
/sbin/depmod -a

# Supporte le masquerading des transferts de fichiers FTP utilisant la méthode PORT.
#
/sbin/modprobe ip_masq_ftp

# Supporte le masquerading de RealAudio via UDP. Sans ce module, RealAudio FONCTIONNERA,
# mais en mode TCP. Cela peut causer une réduction dans la qualité du son.
#
#/sbin/modprobe ip_masq_raudio

# Supporte le masquerading des transferts IRC DCC.
#
#/sbin/modprobe ip_masq_irc


# Supporte le masquerading de Quake et QuakeWorld par défaut. Ce module sert si vous avez
# plusieurs utilisateurs derriere le serveur MASQ. Si vous allez jouer a Quake I, II et
# III, utilisez le deuxieme exemple.
#
#Quake I / QuakeWorld (ports 26000 et 27000)
#/sbin/modprobe ip_masq_quake
#
#Quake I/II/III / QuakeWorld (ports 26000, 27000, 27910, 27960)
#/sbin/modprobe ip_masq_quake ports=26000,27000,27910,27960

# Supporte le masquerading du systeme de visioconférences CuSeeMe
#
#/sbin/modprobe ip_masq_cuseeme

# Supporte le masquerading du systeme de visioconférences VDO Live
#
#/sbin/modprobe ip_masq_vdolive


# CRITIQUE : Permet le relayage de paquets IP car il est désactivé par défaut depuis le
#            noyau 2.0.34
#
# Utilisateurs RedHat : Vous pouvez aussi changer l'option dans /etc/sysconfig/network de :
#
#                       FORWARD_IPV4=false  
#                             à
#                       FORWARD_IPV4=true
#
echo "1" > /proc/sys/net/ipv4/ip_forward


# Utilisateurs d'IP dynamiques :
#
# Si vous avez une adresse IP dynamique via SLIP, PPP ou DHCP, décommentez l'option
# suivante. Elle permet d'utiliser une bidouille dans l'IP MASQ qui sert pour les IP
# dynamiques, ce qui rends la vie avec DialD, PPPd et les programmes similaires bien plus
# facile.
#
#echo "1" > /proc/sys/net/ipv4/ip_dynaddr


# Durée de vie des connexion MASQuées
#
#    2 hrs pour une session TCP
#   10 sec apres qu'un paquet "FIN" soit passé
#  160 sec pour le traffic UDP (Important pour les utilisateurs d'ICQ)
#
/sbin/ipchains -M -S 7200 10 160


# DHCP : Pour Ceux qui recoivent leur IP externe d'un serveur soit DHCP soit BOOTP comme
#        les utilisateurs d'ADSL ou du Câble, Il est nécessaire d'utiliser la commande
#        suivante avant le deny. Le "bootp_client_net_if_name" doit être remplacé par le
#        nom de l'interface qui recevra son IP du serveur DHCP/BOOTP. Cela devrais être
#        quelque chose comme "eth0", "eth1", etc.
#
#        Cet exemple est pour l'instant commenté.
#
#/sbin/ipchains -A input -j ACCEPT -i bootp_clients_net_if_name -s 0/0 67 -d 0/0 68 -p udp

# Permettre un forwarding et masquerading IP simple
#
# NOTE : L'exemple suivant est un exemple pour un réseau dont les adresses sont dans le
#        réseau 192.168.0.0 avec le masque de sous réseau 255255.255.0, ou 24 bits.
#
#        Changez ces paramètres pour prendre en compte votre configuration locale.
#
/sbin/ipchains -P forward DENY
/sbin/ipchains -A forward -s 192.168.0.0/24 -j MASQ

Une fois que vous avez terminé d'éditer votre /etc/rc.d/rc.firewall, rendez le executable en tapant "chmod 700 /etc/rc.d/rc.firewall".

Vous pouvez aussi autoriser l'IP MASQ par machine et non en autorisant tout le réseau. Par exemple, vous pourriez vouloir que seules les machines 192.168.0.2 et 192.168.0.8 aient accès a internet, et pas les autres machines. Il suffit de changer la section "Permettre un forwarding et masquerading IP simple" (ci dessus) du fichier /etc/rc.d/rc.firewall.

# Permettre un forwarding et masquerading IP simple
#
# NOTE : L'exemple suivant est un exemple qui autorise le MASQ pour uniquement les
#        machines 192.168.0.2 et 192.168.0.6.
#
#        Utilisez l'exemple ci dessous pour spécifier les machines ayant le droit
#        d'accéder a internet. n'oubliez pas de l'adapter a votre configuration.
#
/sbin/ipchains -P forward deny
/sbin/ipchains -A forward -s 192.168.0.2/32 -j MASQ
/sbin/ipchains -A forward -s 192.168.0.8/32 -j MASQ

Il semble que l'erreur la plus courante soit de faire de la police par défaut le masquerading en tapant :

/sbin/ipchains -P forward masquerade

NE FAITE PAS de votre configuration par défaut le MASQ. Autrement, quelqu'un de mal intentionné pourrais manipuler ses tables de routage pour créer un tunnel a travers votre passerelle, utilisant le masquerading pour masquer sa propre identité !

Encore une fois, vous pouvez ajouter au fichier /etc/rc.d/rc.firewall, ou l'un des autres fichiers rc, ou même les taper a la main a chaque fois que vous en avez besoin.

Allez faire un tour dans les sections Strong-IPFWADM-Rulesets et Strong-IPCHAINS-Rulesets pour plus de détails sur l'établissement de règles plus strictes, référez vous aussi au Linux IP CHAINS HOWTO


Page suivante Page précédente Table des matières