IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
next up previous contents index index
suivant: Outils de configuration monter: Administration Réseaux précédent: installation d'un Firewall   Table des matières   Index


la translation d'adresses: NAT ou IPmasquerade

La fonction de translation d'adresses est très utile pour rendre invisibles de l'extérieur les machines d'un réseau local ayant un plan d'adressage privé. Cette fonction est généralement implémentée sur un routeur ou éventuellement un firewall dans le cas d'un système fédéré. Ce dernier apparaît comme étant alors le seul système utilisant la connexion internet. Ceci permet d'optimiser l'utilisation du plan d'adressage, avec un coût moindre, car il suffit d'avoir une seule connexion à internet pour plusieurs machines.
La différence entre la NAT et un proxy applicatif réside dans le fait qu'un proxy agit comme un intermédiaire entre Internet et les machines connectées au LAN. C'est une bonne chose, cependant chaque application que vous voudrez exécuter sur votre machine et qui devra se connecter à Internet à travers le serveur proxy DEVRA savoir comment utiliser un proxy. Toutes les applications ne savent pas faire ça (et spécialement les jeux). De plus, il n'y a pas des proxies applicatifs pour tous les services Internet actuels. La NAT fait correspondre de manière transparente votre réseau interne à une adresse donnée pour qu'il puisse se connecter à Internet. Le seul avantage en termes de sécurité à utiliser un proxy par rapport à la NAT est que le proxy peut posséder des fonctionnalités de sécurité, et peut filtrer le trafic d'après le contenu, pour protéger votre machine Windows contre un virus macro, ou pour protéger votre logiciel client contre les débordements de tampon...etc. La maintenance de ce type de filtres est souvent lourde.
En terme de sécurité réseau, le protocole NAT :
  1. est transparent pour les ordinateurs du domaine,
  2. cache l'ensemble des machines du réseau derrière la passerelle, qui apparaît comme étant le seul système connecté à Internet,
  3. permet une sécurité accrue, car il n'existe aucun moyen pour quelqu'un de l'extérieur, d'accéder aux machines internes. En effet l'extérieur ne voit qu'une seule machine : la passerelle sur laquelle est implémentée NAT.
La machine Linux sur laquelle sera installé le protocole NAT devra réaliser les fonctionnalités suivantes :
  1. La table NAT doit avoir une entrée pour chaque association statique, afin que chaque poste puisse avoir accès à Internet,
  2. Une double traduction est effectuée par le routeur NAT :
    • dans le sens interne vers externe : adresse locale interne vers adresse globale interne adresse globale externe vers adresse locale externe
    • dans le sens externe vers interne : adresse locale externe vers adresse globale externe adresse globale interne vers adresse locale interne
  3. L'administrateur spécifie le pool d'adresses locales internes à traduire et le pool d'adresses globales internes,
  4. Chaque fois qu'un paquet avec une adresse IP locale franchit le routeur NAT, il reçoit une adresse prise dans le pool des adresses globales,
  5. Cette traduction reste effective tant que la table NAT n'est pas nettoyée ou que la période de traduction n'est pas expirée. Dans ce cas, un paquet provenant du même hôte doit obtenir une nouvelle adresse du pool d'adresses globales.
___________________________________________________________________
Avantages et inconvénients de NAT
Du point de vue de la sécurité, NAT cache l'identité réelle des machines. Il n'est pas possible d'identifier l'identité d'un paquet dont l'adresse IP a été traduite de façon dynamique. Cet avantage est intéressant pour les sites désirant se protéger de l'extérieur.
Par contre, NAT ``casse'' le modèle IP de bout en bout : la perte de traçabilité de bout en bout rend la recherche impossible en cas de piratage provoquée par une machine interne.
De manière générale, toute application spécifiant l'adresse IP dans la partie des données (et non pas dans l'en-tête) ne fonctionne pas avec NAT.
NAT réduit les possibilités de communications sécurisées : impossible de traduire des données cryptées. Il faut dans ce cas utiliser l'adressage statique avec une adresse globale.
Enfin, le multicast n'est actuellement pas supporté par NAT : il est possible de recevoir du trafic multicast mais une source interne ne peut pas émettre. Une parade consiste à contourner le NAT, avec l'utilisation du mode ``sparse'' du protocole PIM (Protocol Independent Multicast) : identification de la source (interne) à un point de rendez-vous (``Core'') situé à l'extérieur du réseau local protégé par NAT. PIM ``Sparse Mode'' est analogue au protocole CBT (Core-Based Tree).
___________________________________________________________________
Configuration
On supposera que votre réseau local est en 192.168.1.X Première étape: Éditer le fichier /etc/sysconfig/network:
NETWORKING=yes
FORWARD_IPV4=true
HOSTNAME=tavel.kervao.fr
DOMAINNAME=kervao.fr
GATEWAY=
GATEWAYDEV=

________________________________________________________________
noyau 2.2.x
  1. éditer/créez le fichier /etc/rc.d/rc.firewall (ou /etc/rc.d/rc.local si diffèrent de Mandrake) et ajouter à la fin, les lignes suivantes:
    ipchains -P forward DENY
    ipchains -A forward -s 192.168.13.0/24 -j MASQ
    
  2. Reboutez votre machine
  3. Pour voir si l'IP Masquerade est bien pris en compte, tapez: ipchains -L forward Vous devriez avoir:
                      
    Chain forward (policy DENY):
    target         prot opt        source                  destination           ports
    MASQ       all  ------  192.168.13.0/24      anywhere              n/a
    
Par ailleurs le fichier /proc/sys/net/ipv4/ip_forward doit contenir un 1.
________________________________________________________________
noyau 2.4.x
Pour les noyaux 2.4.X il vous faudra installer le package iptables: (urpmi iptables) Créer un fichier /etc/rc.d/rc.firewall contenant :
                  

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A FORWARD -i eth1 -o eth2 -j ACCEPT
iptables -A FORWARD -i eth2 -o eth1 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -d 0.0.0.0/0 --dport 80 -j DNAT --to 192.168.2.178:3128
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

ou

#!/bin/sh
# Load the NAT module (this pulls in all the others).
modprobe iptable_nat

# Turn on IP forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter

# In the NAT table (-t nat), Append a rule (-A) after routing (POSTROUTING)
# which says to MASQUERADE the connection (-j MASQUERADE).
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE

# Allows forwarding specifically to our LAN
iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT
Pour prendre en compte les modifications vous pouvez exécuter le fichier qui a des droits d'exécution (700). /etc/rc.d/rc.firewall
Image images/noteg.jpg
Remarque : Il existe un outil graphique pour réaliser l'IPmasquerade, c'est drakgw, mais il est fortement conseillé de ne pas l'utiliser (attribution d'une adresse IP arbitraire, installation d'un serveur DNS, NIS, et DHCP).

next up previous contents index index
suivant: Outils de configuration monter: Administration Réseaux précédent: installation d'un Firewall   Table des matières   Index