Préambule

Ubuntu a ceci de formidable qu’elle permet de faire découvrir gnu/linux à des gens gavés de zindozs(R) pendant 20 ans sans trop les bousculer au départ… Après , on (on, c’est moi, mais aussi, je l’espère de plus en plus de personnes) se pose des questions sur les enjeux politique du logiciel libre.

Ensuite, on se dit qu’en tant qu’enseignant, on se doit de motiver ses élèves à l’utilisation de ces logiciels libres pour contribuer à les sortir de la consommation passive vers laquelle les publicitaires, ainsi que la majorité du champ médiatique les pousse.

Ensuite, on s’intéresse à la ligne de commande et on se rend compte que c’est un outil qui semble bien plus puissant et efficace que l’interface graphique… Et puis là, tout se complique (c’est qu’en 20 ans de windoz, on a pris l’habitude de ne pas vraiment comprendre ce qu’on faisait)

A l’instar d’un enfant de CP, on déchiffre une petite majorité des lignes de commandes qu’on voit (merci à la commande « man »), mais ça devient tout de suite très laborieux d’écrire par soi-même dès qu’on cherche à sortir du basique (meuh non, pas du basic!!)…

Je tiens donc à remercier Vincent-Xavier Jumel (parrains Linux, http://parrains.linux.free.fr/) pour son aide, sans qui le réseau de la classe n’aurait sûrement pas pu être mis en place : j’aurais peut-être fini par réussi à « NATter » les ip des ordinateur-clients, mais ne serais sûrement pas allé plus loin… Ou alors au bout d’un temps hallucinant °°°[:]o)

Introduction

Les raisons de la rédaction de cette page découlent de ce qui précède :  je pense qu’il faut donner les moyen à quelqu’un de motivé par l’idée, mais qui n’a pas envie de passer dix-mille plombes à organiser son réseau, de le faire en suivant une recette de cuisine. Ça permettra aux personnes qui le désir de fournir un réseau de bonne qualité à leur public, sans trop s’emmerder. Autrement dit, à dépasser la nécessité de maîtriser les prérequis du tutoriel, sauf le dernier point (Il ne faut pas abuser quand même:-)

 http://doc.ubuntu-fr.org/tutoriel/installation_configuration. Ces prérequis étant : 

  • Bases de l’utilisation de Linux (ligne de commande)
  • Connaître les bases de l’administration d’un réseau
  • Avoir déjà utilisé et configuré les logiciels installés
  • Avoir déjà configuré un serveur
  • Préparez matériellement votre serveur : je vous conseille de le mettre dans sa configuration normale (c’est-à-dire avec les deux cartes réseaux) car la détection automatique de l’installateur vous sera très utile.


S’il est vrai que du côté eth0 du serveur (la carte réseau accédant à internet), tout s’est fait automatiquement (j’en remercie les développeurs), de l’autre côté (le réseau interne), ce fût plus laborieux.

La partie technique

DESSIN DU BRANCHEMENT : clients->hub hub->serveur serveur->internet 
Côté ordinateurs-clients.
Il y 2 fichiers à éditer : pas de panique, tout est expliqué en détail.
NB : Les ligne commençant par # sont des commentaires non pris en compte par le système et ceci dans tous les fichiers que nous allons configurer.

Édition du fichier /etc/network/interfaces
taper dans le terminal : sudoedit /etc/network/interfaces

On ne touche pas aux lignes concernant « lo », on saute une ou deux lignes (c’est plus agréable à relire) et on écrit ce qui suit en remplaçant x et y par des nombres compris entre 0 et 253 (dans la mesure où y=254 a été choisi comme adresse ip de la carte réseau du serveur, et 255 pour le broadcast, on verra plus tard ce que c’est)
En fait, en informatique, lo ne veut pas dire lutte ouvrière mais loopback (soit boucle vers l’arrière… Un looping ? Tout cela ne me paraît pas très clair:-) 
eth0 représente la carte réseau et donc après les bidules écris au sujet de lo, on saute une ligne et on écrit :

#On laisse les lignes « lo » qui ressemblent à ça (et si jamais ça ressemblait à autre #chose, on ne touche pas non plus:-D :
auto lo 
iface lo inet loopback 
#on ajoute ça : 
auto eth0
iface eth0 inet static
address 192.168.x.y 
netmask 255.255.255.0
gateway 192.168.0.254
network 192.168.0.0 
broadcast 192.168.0.255

Explications :

auto eth0

# ça doit vouloir dire que la carte réseau est allumée et/ou prise en compte par le système.

iface eth0 inet static

# Là, on explique que la carte réseau à une adresse ip fixe.

address 192.168.x.y 

#(où x est le même nombre pour tous les ordinateurs du même réseau local et y le numéro qui identifie chaque ordinateur du réseau local : il est donc différent pour chaque ordinateur (OU CHAQUE CARTE RÉSEAU MAIS JE NE VEUX PAS EMBROUILLER LE LECTEUR). X et Y sont des nombres entiers compris entre 0 et 255)

netmask 255.255.255.0

#ce qui signifie au bidule qui sert à router (faire circuler) les données sur le réseau, qu’il ne doit s’occuper que du dernier chiffre i.e. y et ne pas s’emmerder à perdre du temps à regarder les autres n° : en diminuant les calculs, j’imagine qu’on accroit la performance du système.

gateway 192.168.0.254

#là, c’est pour dire au bidule qui fait circuler les données que quand on veut sortir sur un autre réseau ou partager avec les autres, le système envoie envoie les données (ou requêtes?) sur la carte eth1 du serveur, ce dernier étant censé se débrouiller avec ça pour s’occuper de la suite (ie de faire fonctionner le réseau)

network 192.168.0.0 

#là c’est pour expliquer à la machine qu’il y a un réseau qui s’appelle 192.168.0.y autrement dit que les machines ayant une adresse ip de la forme 192.168.0.y font partie du même réseau.

Broadcast 192.168.0.255

#À VÉRIFIER : Là, c’est pour raconter à toutes les cartes réseau qu’on peut envoyer un même signal (paquets de donnés) en même temps à toutes les machines. 


Édition du fichier /etc/resolv.conf
Taper dans le terminal : sudoedit /etc/resolv.conf
À la fin du fichier, taper :
nameserver 192.168.0.254
Explication :
#On raconte au système que le serveur par lequel tout va passer pour les connexions se trouve à l’adresse ip qu’on a inscrite.
Pour la partie réseau sur les ordinateurs clients, le travail est fini. Nous reviendrons travailler sur ces ordinateurs-client plus tard, pour y ouvrir les comptes utilisateurs.

Côté serveur

Il semble qu’on puisse aussi installer aussi pour le serveur une version DÉBIAN. Ça fait moins grand public qu’Ubuntu et donc plus chic pour frimer dans les cocktails… Je crois que je vais enlever cette remarque:-) 
Installation.
Installation de ubuntu server 10.04 (version LTS=Long Term Support) disponible ici : http://www.ubuntu.com/server/get-ubuntu/download
Choisissez 32 ou 64 bits, en fonction de votre CPU.
C’est plutôt sympa, (presque) tout est automatique : 
Donc, On branche tout : carte réseau eth0 vers internet et carte réseau eth1 vers le SWITCH du réseau interne. (eth« nombre »= nom des cartes réseau)
NB : à l’installation, choisir la carte réseau qui va vers internet (si elle ont toutes les 2 le même nom (même matériel), essayer config automatique sur une puis l’autre, ça permettra de trouver celle qui est reliée à internet (Si les cartes ont des noms différents, c’est plus facile, sinon, ou si vous ne savez pas retrouver quelle est la carte réseau qui est connectée à Internet, tester l’une après l’autre la carte qui « passe », « l’installation » trouvera toute seule comme une grande).

Formatage en LVM, ça permet d’ajouter des disques plus tard sans trop s’emmerder paraît-il (la documentation me paraît encore un peu ésotérique, on verra plus tard). Là aussi, ça se fait tout seul.
Je n’installe aucun paquet en plus, on verra plus tard (avec apt-get dans mon cas, mais on peut utiliser aussi aptitude… aptitude dont tu m’as déconseillé l’utilisation au profit d’apt-get).

Un petit reboot sur le disque dur (dans le bios, mettre option démarrage avec disque dur en premier) et on commence à configurer le serveur : pas de panique, tout est expliqué dans le moindre détail :
1. Réinstalation d’Iptables Était-ce nécessaire ?
2. Édition de 2 fichiers.
3. Utilisation d’un fichier de configuration d’IPTABLES (ici:  http://formation-debian.via.ecp.fr/firewall.html)

Réinstallation de IPTABLES :
Dans la console, taper :
sudo apt-get purge iptables
sudo apt-get install iptables

Téléchargement et « installation » du fichier iptables.up.rules (de votre firewall)
Téléchargement : taper dans le console :
wget http://formation-debian.via.ecp.fr/fichiers-config/iptables.up.rules
sudo cp iptables.up.rules /etc/

Édition du fichier  iptables.up.rules
Taper : sudo nano /etc/iptables.up.rules
Lire ce qui est écris et choisir les option en effaçant des # en début de lignes. Ne pas oublier d’effacer le # de la ligne et de remplacer.
########################
# Partage de connexion #
########################
# Décommentez la ligne suivante pour que le système fasse office de
# routeur NAT et remplacez « eth0 » par le nom de l'interface
# connectée à Internet.
-A POSTROUTING -o eth0 -j MASQUERADE
Ne pas oublier de modifier le fichier /etc/sysctl.conf pour y rajouter :
net.ipv4.ip_forward=1

Édition du fichier /etc/network/interfaces (sudoedit /etc/network/interfaces) :

#lo et compagnie, vous devez commencer à être habitués ça donne un truc qui ressemble à ça :
auto lo 
iface lo inet loopback 
#Carte réseau connectée à internet :
auto eth0 
iface inet dhcp 
#carte reliée au HUB/SWITCH, i.e. celle qui s'occupe du réseau interne :
#On peut noter qu'elle n'a pas de gateway (passerelle) puisque c'est elle la passerelle et que c'est 
#le noyau du système qui va gérer le passage des donnés de eth1 vers eth0 et internet.
auto eth1
iface eth1 inet static
address 192.168.0.254
netmask 255.255.255.0
network 192.168.0.0 
broadcast 192.168.0.255

Suite dans un prochain numéro