You are on page 1of 3

Serveur Linux Mise en place d'un routage - NAT Rseau

I. Prsentation
Dfinition d'un NAT (wikipdia) : En rseau informatique, on dit qu'un routeur fait du Network Address Translation (NAT) ( traduction d'adresse rseau ) lorsqu'il fait correspondre les adresses IP internes non-uniques et souvent non routables d'un intranet un ensemble d'adresses externes uniques et routables. Ce mcanisme permet notamment de faire correspondre une seule adresse externe publique visible sur Internet toutes les adresses d'un rseau priv, et pallie ainsi l'puisement des adresses Ipv4. Dfinition d'un routeur (wikipdia) : Un routeur est un lment intermdiaire dans un rseau informatique assurant le routage des paquets. Son rle est de faire transiter des paquets d'une interface rseau vers une autre, selon un ensemble de rgles formant la table de routage. C'est un quipement de couche 3 du modle OSI. Dfinition du routage (wikipdia) : Le routage est le mcanisme par lequel des chemins sont slectionns dans un rseau pour acheminer les donnes d'un expditeur jusqu' un ou plusieurs destinataires. Le routage est une tche excute dans de nombreux rseaux, tels que le rseau tlphonique, les rseaux de donnes lectroniques comme l'Internet, et les rseaux de transports. Sa performance est importante dans les rseaux dcentraliss, c'est--dire o l'information n'est pas envoye une source qui va les redistribuer mais change entre des agents indpendants. Objectifs :

Permettre des postes d'un rseau priv d'accder Internet (ou un autre rseau)

Logiciels utiliss pour ces services : Ubuntu 10.10 Desktop ou Serveur avec deux adresses IP

II. Paramtrage des adresses IP du serveur qui fera du routage / NAT


Dans un terminal sur le serveur, on passe root. L'utilisateur doit faire parti des Sudoers (voir fichier /etc/sudoers) pour pouvoir passer root avec la commande sudo -s : evain@excalibur:~$ sudo -s [sudo] password for evain : root@excalibur:~# Sous linux Ubuntu les diffrentes cartes rseaux du poste ou du serveur s'appellent toutes eth0 , eth1 , eth2 , ethX. Eth0 tant la premire carte rseau, eth1 la seconde, ainsi de suite. Dans notre exemple nous partirons du principe que la carte rseau eth0 est la carte rseau qui est connecte Internet. Pour paramtrer les adresses IP des diffrentes cartes rseaux, sous Ubuntu, il nous suffit, en root, d'diter le fichier /etc/network/interfaces de la manire suivante : auto lo iface lo inet loopback # Configuration de la carte eth0 (Connecte internet) auto eth0 iface eth0 inet static address 193.56.122.123

netmask 255.255.255.0 network 193.56.122.0 broadcast 193.56.122.255 gateway 193.56.122.1 # Configuration de la carte eth1 (Connecte au rseau local) auto eth1 iface eth1 inet static address 192.168.5.1 netmask 255.255.255.0 network 192.168.5.0 Pour que les paramtres soient pris en comptes il nous faut redmarrer le rseau, en root: root@excalibur:~# /etc/init.d/networking restart Si nous avions voulu configurer un poste pour qu'il demande une adresse au serveur DHCP, nous aurions simplement diter le fichier /etc/network/interfaces de la manire suivante : # Configuration pour un adressage dynamique auto eth0 iface eth0 inet dhcp Dans le fichier /etc/network/interfaces, nous avons tout en haut le paramtrage suivant qu'il est important de laisser quelque soit la configuration qu'on tabli : auto lo iface lo inet loopback Il s'agit de la configuration LoopBack, boucle local rseau du systme. Dans notre fichier de configuration nous avons utilis diffrents paramtres : address : o on y dfinit l'adresse ip de la carte rseau netmask : le masque de sous rseau network : l'adresse du rseau broadcast : l'adresse pour le broadcast sur ce rseau gateway : la passerelle par dfaut du rseau Maintenant les adresses IP de notre routeur sont configures nous allons pouvoir activer d'une part le routage mais aussi le NAT.

III. Activation du routage et du NAT sous Linux-Ubuntu


Pour activer le routage sous linux, il suffit d'autoriser les paquets rseaux traverser le noyau de votre systme pour aller d'une carte rseau l'autre. Pour cela, il suffit en root, de saisir la commande suivante : root@excalibur:~# echo "1" > /proc/sys/net/ipv4/ip_forward La valeur 1 dans le fichier /proc/sys/net/ipv4/ip_forward active le routage, la valeur 0 le dsactive. Par dfaut, au dmarrage du systme le fichier contient la valeur 0 . Maintenant que le routage est activ, il nous reste activer la fonction NAT. Pour cela nous allons utiliser iptables qui permet d'tablir le NAT mais aussi de contrler tout le flux rseau arrivant ou sortant d'une interface rseau (firewall). Son fonctionnement est trs simple, il s'utilise dans un terminal en root avec la commande iptables. La commande iptables-save permet d'afficher toutes les rgles tablies. Attention, au redmarrage du systme iptables reprend sa configuration par dfaut.

Pour activer le NAT avec iptables il suffit de saisir la commande suivante : root@Excalibur:~# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE Ici eth0 est toujours la carte rseau connecte Internet.

IV. Conserver la configuration chaque redmarrage


Comme je l'ai prcis avant, l'activation du routage et les rgles iptables disparaissent au redmarrage du serveur. Pour palier ce problme il suffit de faire un petit script shell qui contient les commandes et qui s'excute chaque redmarrage du systme. L'activation d'un script au redmarrage d'un systme Ubuntu fera l'objet d'un prochain tutoriel. Exemple de script : #!/bin/bash echo "1" > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Guillaume Evain 2011 contact@evain.info http://www.evain.info +33 / 0 - 6-21-53-56-81

You might also like