Personal Network

Guilhèm BONNEFILLE


Table des matières
Préface
1. IP
1.1. Choix de la plage d'adresse
1.2. Routage Internet / Partage de connexion
1.2.1. Configuration de la passerelle
1.2.2. Configuration des autres machines
1.3. Protection : le pare feu
1.3.1. Sous Debian GNU/Linux
Références
Liste des illustrations
1-1. Passerelle

Préface

Partage de la connexion internet, de l'imprimante. Ne plus jeter les vieux PC.

...


Chapitre 1. IP

1.1. Choix de la plage d'adresse

Pour discuter entre-elles, les machines ont besoin de s'identifier. Cet identifiant se nomme une adresse IP. En pratique, cette adresse est un quadruplet de nombres de 0 à 255 séparé par des '.'.

Les adresses IP sont découpées en différentes classes (en particulier A, B et C). Ces classes définissent la taille maximale du réseau que l'on peut produire.

Dans le cas qui nous interresse, un réseau de classe C (la plus petite) doit largement suffire (on peut addresser 256 machines sur un tel réseau). Les adresses IP ne s'attribuent pas au petit bonheur la chance, il existe des organismes qui attribuent/louent ces adresses. Toutefois, comme on cherche à monter un réseau privé, nous choisirons nous même notre adresse réseau parmis celles que l'on peut s'octroyer librement (de 192.168.0.0 à 192.168.255.255 pour un réseau de classe C). Ces adresses sont réservé à un usage privé mais une machine utilisant une telle adresse ne peut pas se connecter directement à Internet. Nous verrons plus loin comment faire pour y parvenir néanmoins.

A priori, le choix peut-être fait au hasard. Toutefois, si vous devez parfois connecter certaines de vos machines avec celles d'un ami (pour faire une LAN party par exemple) il peut-être judicieux de voir avec lui de façon à ne pas prendre la même adresse de réseau que lui afin de s'assurer de ne jamais utiliser les mêmes adresses que lui et ainsi permettre une interconnexion des plus faciles.

Mon choix est fait : je prendrais mes adresses machines dans la plage 192.168.0.0 à 192.168.0.255.

Le masque réseau est alors 255.255.255.0.


1.2. Routage Internet / Partage de connexion

Nous rencontrons deux problèmes pour accéder à Internet.

Le premier (le plus évident) : nous n'avons qu'une seule connexion (un seul modem). On pourrait s'ammuser à brancher/débrancher le modem en fonction de la machine à connecter à Internet. Cela demanderait de configurer toutes les machines avec ce modem. En plus, cela nous empècherait d'utiliser la connexion à plusieurs en même temps (problème quelque peu théorique avec un modem classique du fait de son faible débit mais problème bien réel avec la démocratisation du Haut Débit).

Le second est que nous utilisons des adresses IP privées (cf. Section 1.1). Avec ces adresses, il est impossible d'établir une connexion Internet. Pour naviguer sur Internet, il faut que la machine soit identifié par les autre machines avec une adresse IP Internet (non-privée). On peut alors se poser la question : mais comment ça peut fonctionner alors ? En fait, les adresses ne sont pas associées à une machine, mais elles sont associées aux connexions réseau. Ainsi, la machine tartanpion qui est connectée à la fois au réseau local (via une carte réseau) et à Internet (via le modem) posséde deux adresses :

  • une en 192.168.x.y sur le réseau local ;

  • une fournie par le fournisseur d'accès à Internet lors de l'établissement de la connexion.

Pour partager notre connexion, nous allons indiquer à toutes les machines de s'adresser à la machine disposant du modem et nous indiquerons à cette machine de faire suivre (forward en anglais) ces paquets sur Internet.


1.3. Protection : le pare feu

Sur Internet, les attaques ne sont pas rares. Les attaquants peuvent être des virus ou des petits malins jouant avec un nouveau script pour faire les hackers.

Contre ces problèmes, l'une des solutions consiste à utiliser un pare-feu (firewall). L'objet du pare-feu est de condanner les portes qui pourraient être utilisées pour se faufiler dans votre réseau, limitant ainsi les risques d'attaques.


1.3.1. Sous Debian GNU/Linux

Sous GNU/Linux, les règles sont appliquées à l'aide de iptables.

Les règles. Voici les règles les plus simples qui devraient convenir à tous les utilisateurs ayant une configuration simple, à savoir un réseau local connecté à Internet. Si votre configuration est plus complexe, vous trouverez des références dans la section Références. Revenons au cas simple. Dans notre cas, nous avons confiance dans notre réseau local, mais nous craignons tout ce qui peut venir de l'extérieur. Voici les commandes que je vous propose de saisir sous le compte root :

# On fait le ménage
iptables -F
# Par défaut, on interdit ce qui vient de l'exterieur
iptables -P INPUT DROP
# On autorise un à un les cas d'accès que l'on autorise
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth0 -j ACCEPT 
iptables -A INPUT -m state --state INVALID -j DROP 
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
iptables -A INPUT -j LOG --log-prefix "FIREWALL:INPUT " 
# Par défaut, on autorise tout ce qui sort
iptables -P OUTPUT ACCEPT
# Par défaut, on autorise tout ce qui est transmi
iptables -P FORWARD ACCEPT
            

Application automatique. Ce qui serait bien, c'est que ces règles soient appliquées à chaque fois que l'on se connecte à Internet. Pour ce faire, la solution consiste à mettre les instructions précédentes dans un script de /etc/ppp/ip-up.d. Afin de restaurer un état correct une fois la connexion terminée, il faut utiliser un script dans /etc/ppp/ip-up.d et un autre dans /etc/ppp/ip-down.d. Dans le premier on utilise iptables-save -t filter pour mémoriser les règles dans une fichier temporaire (sous /tmp). Dans le second, on restore l'état mémorisé avec iptables-restore.

Test. Maintenant que tout est prèt, il ne nous reste plus qu'à tester (une fonctionnalité non testée ne doit pas être considérée comme fonctionnelle). Pour ce faire, rendez-vous sur le site http://check.sdv.fr/.

FTP. Pour permettre des connexions FTP sans soucis, il faut charger le module noyau ip_conntrack_ftp  modprob ip_conntrack_ftp


Références

Setting up a strong Linux firewall.

Netfilter.

Le site de référence.

Linux Magazine France, 9 (septembre 1999), << Partager une connexion Internet grâce à une machine tournant sous Linux >>, 30-33, Romain Chantereau.

Linux Magazine France, 24 (janvier 2001), 1291-78 34, << Patager une connexion Internet via un port série >>, 43-45.

Connecter un (vieux) Mac à un PC sous GNU/Linux servant de passerelle via PPP

Linux Magazine France, 39 (mai 2002), 1291-78 34, << Netfilter : firewalling sous Linux 2.4 >>, 59-61, Christophe GRENIER.

Présentation de la configuration avec iptables d'une architecture connectant un réseau privé, un réseau public et Internet.

LinuxFocus, Mars 2001, << Utiliser différents FAIs pour votre accès Internet >>, Guido Socher.

LinuxFocus, Janvier 2001, << Un réseau chez soi, glossaire et vue d'ensemble >>, Guido Socher.

Lea-Linux, << IpTables par l'exemple >>.

Reprend l'exemple d'un routeur connecté à Internet, un réseau local privé et un autre public.

Login:, 76 (septembre 2000), Réseau : partagez vos données !, 62-67.

Linux, Windows et Samba pour le partage des fichiers et imprimantes.

LinuxFocus, Mai 1998, << Introduction au DNS >>, Andreas Gundacker.

Pour en savoir plus sur les DNS.

Linux Magazine France, 16 (avril 2000), << DNS : Principe et mise en œuvre >>, 48-52.

Login:, 80 (janvier 2001), << DNS : donner un nom de domaine au réseau >>, 58-61.

LinuxFocus, Mai 1997, << Se connecter à Internet >>, Manuel Trujillo Albarral.

LinuxFocus, Mai 1997, << Gérer le courrier avec procmail >>, Angel Lopez.

Faire un DHCP automatiquement.

Cet article explique comment configurer le plus facilement possible le dhcp sur un réseau.

Cet article aborde DHCP, DNS et WINS.

Easy Internet Sharing NHF: VERSION 1.0, X_console.

Administration Système UNIX, Version 2.0, 1996-04-01, Thierry Besançon, Pierre David, et Joël Marchand.

Linux Network Administrators Guide, 1-56592-400-2.

Lightweight Linux, Part 1.

Présente comment mettre au point un Linux pile poil sur du vieux matériel.

RULE.

Sélection des paquetages offrant les meilleures fonctionnalités pour des exigences matérielles faibles.

NetMag, 4, << modem sharing >>, Ronny Ziegler.

Linux Magazine France, 4 (mars 1999), << Remise des pendules à l'heure avec NTP >>, 28-30, Vincent Renardias.