You are on page 1of 5

FICHE CONFIGURATION LINUX MINT EN ROUTEUR 24 Janvier 2017

Prsentation

Dans ce tutoriel nous allons apprendre mettre un en place


un routeur sous Linux. Les distributions sous Linux sont trs polyvalentes et cela
permet entre autres de les transformer en vritables routeurs. Il faut bien sr pour
cela que notre machine Linux dispose dau moins deux interfaces rseaux car la
premire fonction dun routeur et de faire la passerelle (gateway) entre un rseau
et un autre qui ne pourraient communiquer sans.

Configuration des deux interfaces

Nous allons commencer par configurer nos deux interfaces avec des IP fixes. Un
routeur est un lment central dun rseau et toutes les machines de ce rseau sy
rfrent pour leurs requtes. Il est donc obligatoire que notre routeur ait une IP fixe
sur chacune de ses interfaces. Nous travaillerons ici sur linterface eth0 qui sera
oriente vers le rseau simulant un rseau externe WAN en 192.168.32.0/24 et
une seconde interface eth1 qui sera vers notre LAN en 172.20.0.0/23.

Aprs vous tre assur que votre machine dispose bien de deux interfaces, il faut
se rendre dans le fichier /etc/network/interfaces pour configurer nos interfaces
rseaux :
Nous ne mettons pas de passerelle linterface LAN car ce sera notre routeur la
passerelle de ce rseau. En revanche pour le rseau WAN en 192.168.32.0/24 ,
il dispose dune gateway (passerelle) en 192.32.2.2 vers lequel notre routeur
relaiera les requtes lorsquil ne saura y rpondre. Nous pourrons ensuite
redmarrer notre service rseau pour que les changements soient pris en
comptes :

/etc/init.d/networking restart

On pourra, pour finir, vrifier la bonne configuration de nos interfaces avec la


commande suivante :

ifconfig

Activation du mode routeur

Par dfaut, une machine Linux ne fait pas passer nimporte quel paquet comme
doit le faire un routeur. On doit donc activer cette fonctionnalit qui est sous la
forme dune option dans le fichier /etc/sysctl.conf , on devra y chercher la ligne
suivante afin de la d-commenter :

Cette option active donc le forwarding (le relayage des paquets) dune
interface une autre ou plus prcisment dun rseau un autre. On pourra
ensuite reloader notre sysctl :

sysctl -p /etc/sysctl.conf

Activation du NAT

Dans la plupart des cas, notre routeur fera du NAT sur notre rseau LAN. Pour
rsumer, le NAT permet de protger le rseau LAN en le cachant
aux autres rseaux qui sont considrs comme extrieurs donc potentiellement
dangereux. Toutes les requtes faites par le LAN et sortant par notre routeur auront
lair pour les autres rseaux de provenir de notre routeur en tant que machine
simple. Cela permet de ne pas montrer aux autres rseaux que tout un rseau se
cache derrire. Le NAT permet aussi de simplifier les tches de routage car il vite
dans beaucoup de cas davoir manipuler des tables de routage.
Pour mettre en place le NAT, on rappelle que notre interface eth0 est notre
interface extrieur WAN en 192.168.1.0/24. Le NAT se met en sortie de cette
interface WAN. Nous devons passer la commande suivante :
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Note : Faites bien attention aux majuscules/ minuscules !

Nous disons donc que, une fois que le routeur saura quelle route donner notre
requte, il fera un masquerade (il changera la source du paquet pour la
remplacer par lui-mme) quand ses requtes sortiront de linterface eth0 (pour aller
vers des rseaux extrieurs).
Nous pourrons vrifier notre iptables en faisant la commande suivante :
iptables -L -t nat

L sert lister les rgles Iptable

-t nat sert prciser la table NAT qui nest pas prise en compte par
dfaut

Automatiser le montage des rgles iptables

Nous allons maintenant automatiser le montage de nos rgles lactivation de


notre interface eth0. A chaque fois que notre interface sera ractiv, les
rgles Iptables se rappliquerons par la mme occasion. Pour faire cela, on
commence par enregistrer nos rgles Iptables dans un fichier au choix (ici
/etc/iptables_rules.save ) avec la commande prvue cet effet :

iptables-save > /etc/iptables_rules.save

On se rend ensuite nouveau dans notre fichier de configuration rseau


/etc/network/interfaces et on ajoute cette ligne la fin de la configuration de
notre interface eth0 :

post-up iptables-restore < /etc/iptables_rules.save

On utilise la commande iptables-restore qui est faite pour appliquer des


rgles iptables provenant dun fichier fait avec la commande iptables-save
aprs le montage de linterface ( post-up ).

Pour vrifier que le montage automatique de nos rgles fonctionne correctement,


nous pouvons voir avec la commande suivante que notre rgle est prsente :

iptables -L -t nat
L sert lister les rgles IPtables basiques

-t nat sert afficher les rgles de la table nat qui ne sont pas affiches
par dfaut

Nous aurons alors cette rponse :

Nous voyons bien sur la chaine POSTROUTING de notre table nat que
le MASQUERADE est prsent vers tous les rseaux. Ds lors, nous allons
supprimer nos rgles avec la commande :

iptables -F -t nat

-F sert effacer les rgles de bases

-t nat sert nouveau prciser la table NAT qui nest pas prise en
compte par dfaut

On pourra alors refaire un affichage de rgles pour constater que notre rgle a
disparue :
Enfin, on rechargera nos interfaces rseaux avec la commande suivante :

/etc/init.d/networking restart

Puis on affichera notre table nat une dernire fois pour constater que notre
rgle est revenue :

Notre routeur Linux est fin prt, nous pouvons maintenant connecter des clients
notre interface eth1, mettre comme passerelle ces clients lIP eth1 de notre
routeur et ceux-ci auront accs aux autres rseaux !

You might also like