Mettre en place sa passerelle sous Linux
par Anne
Mise à jour pour la Slackware par Jonesy
Mise à jour Debian par Griffon
Où comment mettre en place un PC pour partager sa connexion et sécuriser son réseau
Vous diposez d'une connexion Internet et de plusieurs postes à la maison. L'objectif de cet article est de vous permettre de partager la connexion avec ces différents postes tout en sécurisant au minimum ces accès vers l'extérieur.
Pour la suite de l'article, nous allons partir des hypothèses suivantes :
Pour réaliser cette configuration vous aurez besoin du matériel suivant :
Schéma de notre configuration réseau
En fonction du type de connexion Internet dont vous disposez, le matériel et le type de configuration pourront différer. Je vais lister ici les cas les plus courants :
les liens utiles :
Dans les liens ci-dessus vous trouverez des informations qui vous permettront de configurer votre connexion Internet. Je considère donc ce point réglé. Nous allons donc configurer l'interface qui pointe vers le réseau local.
Si vous avez plusieurs interfaces, la question qui se pose c'est laquelle prendre ? Quelle carte réseau pour mon interface eth1 par exemple ? Vous disposez de plusieurs sources d'information : les outils propres à votre distribution mais aussi :
Avec un noyau 2.6, le fichier /etc/modprobe.conf vous donne ce genre d'information :
Vous pouvez aussi utiliser la commande lshw :
Nous supposerons que sur notre schéma, l'interface vers le réseau local est eth1. Nous allons donc lui attribuer son adresse IP.
Pour configurer la passerelle, sur des distributions comme MandrakeLinux, Fedora, Redhat, on procédera de la manière suivante :
définition de l'adresse IP : l'adresse est attribué à une interface réseau. Si vous n'avez qu'une carte dans la machine ce sera probablement eth0. La configuration se trouve dans le fichier /etc/sysconfig/network-scripts/ifcfg-eth0 :
L'option "MII_NOT_SUPPORTED=no" permet d'utiliser le daemon ifplugd. Celui-ci détecte le branchement de la carte réseau et la rend active. La plupart des cartes supportent cette option, dans le cas contraire, il suffit de la désactiver.
Sur une Slackware, la configuration réseau se fait dans le fichier /etc/rc.d/rc.inet1.conf.
Une fois l'adresse attribuée il faut également donner un nom à notre passerelle (si ça n'a pas été déjà fait lors de l'installation).
Sur Mandrake, Redhat ou Fedora, tout se passe dans le fichier /etc/sysconfig/network :
Sur Debian on trouvera le nom de machine uniquement dans le fichier /etc/hosts.
Sur Slackware, tout se passe dans le fichier /etc/HOSTNAME :
Enfin on définit les serveurs de noms qu'on utilisera pour les résolutions externes. Vous pouvez les ajouter dans le fichier /etc/resolv.conf :
Nous allons utiliser pour cela iptables. Vous trouverez des informations détaillées sur iptables dans iptables par l'exemple. Il vous permet dans l'absolu de mettre en place une solution complète de firewall extrêmement efficace. Dans le cas qui nous intéresse nous allons l'utiliser uniquement pour réaliser le partage de connexion.
La plupart des distributions actuelles mettent à disposition un noyau 2.4 ou 2.6 qui comprend les modules nécessaires. Vous aurez également besoin des commandes iptables dans un package portant le même nom.
Pour le vérifier :
Avant toute chose, il faudra s'assurer que la redirection de paquets d'information est possible. Pour cela, il faut que le fichier /proc/sys/net/ipv4/ip_forward contiennent le chiffre 1 et non 0 qui le désactive :
Pour que cette modification soit activée à chaque redémarrage de la machine, nous allons renseigner le fichier /etc/sysctl.conf :
Puis nous allons faire en sorte que la passerelle puisse non seulement cette redirection soit possible mais en plus qu'elle les dirige de l'extérieur vers les machines situées sur le réseau local. Reprenons notre schéma de départ au niveau de la passerelle :
Pour cela, nous allons utiliser la chaîne forward :
où eth0 est l'interface connectée vers l'extérieur. Cette commande va masquer les paquets. Ci-dessous un schéma vous représente le principe de fonctionnement de ce que nous venons de réaliser, à savoir le masquerading, ou, comment une machine ne disposant pas d'une adresse publique peut discuter avec l'extérieur, en utilisant la passerelle.
Principe de fonctionnement du masquerading
Là encore, le résultat ne durera que jusqu'au redémarrage de la machine. Pour activer cette règle de fonctionnement au démarrage de la machine, vous disposez de plusieurs solutions.
Il ne reste plus qu'à le rendre exécutable :
et à l'ajouter aux runlevels de démarrage :
Il vous reste à tester le bon fonctionnement du partage. Pour ceci il suffit depuis un client de lancer une URL à partir d'un navigateur ou d'exécuter la commande suivante :
Après avoir mis en place la passerelle, nous allons configurer les clients de manière à ce qu'ils puissent accéder à Internet et résoudre les noms externes. Trois éléments sont donc à configurer :
Nous allons voir ici comment configurer les clients en mode graphique et en mode texte.
Pour configurer le client, sur des distributions comme MandrakeLinux, Fedora, Redhat, on procédera de la manière suivante :
En ce qui concerne Debian, la configuration réseau se réalise dans le répertoire /etc/network :
Enfin pour une distribution comme Slackware, la configuration réseau est réalisée dans le fichier /etc/rc.d/rc.inet1.conf
Si la machine est configurée en DHCP, il suffit de modifier la ligne USE_DHCP[0]="yes"
Si vous préférez utiliser des outils graphiques, reportez-vous [#graphgate là] pour effectuer la configuration des clients.
Faites un clic droit sur le "Connexion Locale"
Puis choisissez "protocole TCP/IP" et remplissez les éléments nécessaires (adresse IP, masque, passerelle, serveur DNS)
Si vous souhaitez utiliser un outil graphique de configuration, vous avez à votre disposition des outils communs à toutes les distributions comme Webmin et d'autres spécifiques à chacune d'elles.
Installer webmin s'il ne l'est pas déjà :
Il vous suffit alors d'accéder à l'interface web de webmin : https://localhost:10000.
La configuration de vos interfaces réseau se fait dans l'onglet "Réseau" puis le menu "Configuration Réseau".
Vous trouverez dans ces sous-menus les éléments nécessaires pour fixer des adresses IP vos interfaces mais aussi configurer le routage et les serveurs DNS à utiliser.
Il vous est alors possible d'éditer chacun de vos interfaces pour éventuellement les modifier.
Il suffit de le lancer soit à partir du menu soit en tapant mcc à partir d'une console. Le sous-menu "Réseau & Internet" propose de configurer le ou les interfaces réseau ainsi que le partage de la connexion. Il vous suffit de suivre les indications à l'écran. En ce qui concerne le partage de la connexion, il suffit de spécifier l'interface qui permet d'aller sur l'extérieur (ppp0 ou ethx)
Là encore il suffit de lancer la commande netconfig à partir d'une console et de suivre les instructions pour configurer vos interfaces.
On peut utiliser des outils standards comme network-admin appartenant aux gnome-tools :
Debian dispose également d'outils comme etherconf.
Votre passerelle peut également vous permettre de centraliser certains services que nous allons lister rapidement. Il ne s'agit pas ici d'en décrire les arcanes mais de donner les liens nécessaires pour vous permettre de les mettre en place.
@ Retour à la rubrique Réseau et sécurité
Cette page est issue de la documentation 'pré-wiki' de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par Anne le 07/02/2005.
© 07/02/2005 Anne Nicolas
![]() ![]() ![]() |
Ce document est publié sous licence Creative Commons Attribution, Partage à l'identique 3.0 : http://creativecommons.org/licenses/by-sa/3.0/ |