Configuration réseau


Objectifs et remarques

Il s'agit de paramétrer un système LINUX pour qu'il soit connecté à un réseau local, et puisse éventuellement accéder au réseau Internet via un accès distant par routeur ou par modem.

Bien sûr un certain nombre d'éléments matériels (adaptateurs ...) et logiciels (démons lancés ..) doivent être installés, configurés et activés au démarrage de la machine.
Pour vérifier le bon fonctionnement du réseau local, un utilisateur peut :


    TP1

Vous êtes connectés sur p0x comme utilisateur stagexx.
Vous avez un compte ouvert sur la station p0y
Ouvrez sur p0y une session ftp et allez parcourir, selon l'étendue de vos droits, votre rép. perso sur p0y, et au delà.

Qq commandes ftp, en mode texte (bien sûr, pour un véritable travail, utiliser plutôt un client graphique comme gftp, sous KDE)
[stagex@px] ftp p0y   demande d'ouverture de connexion ftp sur p00
Name : (px:stagex) stagex
Password required for stagex : stgx
ftp>pwd
ftp>ls
ftp>cd /
...........
ftp>quit


Informations indispensables

Configuration initiale lors de l'installation

Prenons l'exemple d'une machine Linux, installé avec la distribution Mandrake (voir le chapitre installation)
La configuration réseau comprend 2 parties :

1) Détection de l'adaptateur réseau Ethernet et intégration du pilote dans le noyau
    Par exemple,au cfipen, pour une carte SMC Elite ....--> module wd.o !

2) Paramètrage  réseau TCP/IP : il s'effectue à l'aide de 2 fenêtres de dialogue successives à renseigner.
    Par exemple, au CFIPEN :

Ces différents paramètres vont affecter divers fichiers de configuration que l'administrateur root doit connaitre et savoir éventuellement modifier "à la main" ou par l'intermédiaire d'un outil d'administration.

Interface Ethernet

Très important
Pour vérifier que l'adaptateur réseau est bien lié à  la couche réseau du noyau Linux et activé, passer la commande ifconfig. Si l'interface réseau n'est pas active, la commande ifconfig eth0 renvoie par exemple :
ne.c : no PCI cards found. Use io=0xNNN valuesfor ISA cards
eth0 :  Device not found

Dans ce cas le plus simple est de rajouter l'indication manquante io=0x300, par exemple directement dans le fichier /etc/conf.modules, qui liste les modules chargées par le noyau, en particulier dans le cas d'une carte ISA , il doit contenir  des lignes du genre :
alias eth0 wd                                assure la liaison de la 1ère interface réseau au pilote wd.o
                                                         (pour pseudo carte Western Digital, alias SMC 8013)
options wd io=0x240 irq=5    le paramètre io seul est exigé par le pilote

Sans rebooter ;~) , il suffit de lancer les scripts d'initialisation réseau, (/etc/rc.d/rc3.d/S50inet restart) et la carte est enfin reconnue et liée au noyau !


Fichiers de configuration

Ils peuvent être examinés et parcourus en ligne de commande par la commande less.
Ou mieux à l'aide de l'utilitaire Midnight Commander.
Pour le lancer, passer la commande : mc /etc/HOSTNAME    nom de la machine dans le domaine (obtenu aussi par la commande $ hostname)
pxx.cfipen.fr

/etc/hosts    table de correspondance des adresses IP des machines du sous-réseau et de leur nom d'hôtes.
127.0.0.1           localhost
10.194.2.101        p01.cfipen.fr        p01
10.194.2.102        p02.cfipen.fr        p02
10.194.2.103        p03.cfipen.fr        p03
...........

Remarques :
Si on n'utilise pas de serveur de nom DNS local pour connaitre la correspondance entre l'adresse IP de la machine et son nom, il faut lister ainsi toutes les machines du sous-réseau et copier ce fichier /etc/hosts sur toutes les machines du sous-réseau.
Pour des réseaux de taille modeste, il est habituellement recommandé de maintenir cette liste des machines dans /etc/hosts, plutôt que de configurer et de gérer un serveur de noms.

Dès lors, on peut "pinguer" les stations du sous-réseau en utilisant les alias :
[jean@p01]  ping p03
PING p03.cfipen.fr  (10.194.2.103) : 56 data bytes
64 bytes from 10.194.2.103: ....
<Ctrl-C>

Dans /etc/host.conf, la ligne order hosts, dns indique que chaque machine cherche d'abord l'adresse de la requête dans ce fichier.
L'adresse 127.0.0.1 est par convention l'adresse IP de la machine d'une machine isolée se connectant à elle-même (boucle interne); pour constater cette auto-connection  : ping localhost

/etc/sysconfig/network-scripts/ifcfg-eth0 fichier d'activation au démarrage de l'interface eth0
DEVICE  = eth0
IPADDR = 10.194.2.1xx
NETMASK = 255.255.255.0
NETWORK = 10.194.2.0
BROADCAST = 10.194.2.255
ONBOOT = yes

Plus généralement, les interfaces à activer automatiquement au boot sont définies dans les fichiers du répertoire
/etc/sysconfig/network-scripts/

/etc/sysconfig/network
NETWORKING = yes
FORWARD_IPV4 = no (empêche le transfert automatique des paquets ?)
HOSTNAME= pxx
DOMAINNAME = cfipen.fr
GATEWAY= 10.194.2.245  
passerelle par défaut, par où chercher si l'adresse IP n'est pas dans le sous-réseau
GATEWAYDEV = eth0

/etc/host.conf D'abord rechercher les hôtes dans le fichier /etc/hosts, puis dans le serveur de nom
order hosts, bind # une machine peut avoir plusieurs adresses IP (dans le cas de multiples interfaces réseaux)
multi on

/etc/resolv.conf
nom de domaine local de l'ordinateur
domain cfipen.fr
adresse du serveur primaire DNS de Créteil
nameserver  195.98.246.50
liste de domaines à essayer, si le nom d'hôte ne précise pas son domaine
domainsearch      ac-creteil.fr On peut mettre jusqu'à 3 serveurs de noms

/etc/networks
# décrit les noms et adresses IP des différents sous-réseaux routables à partir de l'hôte

/etc/conf.modules
modules installés
alias eth0 wd
options wd  io=0x240


TP

  1. Examiner la configuration matérielle de l'interface réseau

  2. Examen de la configuration logicielle


Annexe

DNS =service de noms de domaine, est un logiciel contenant des tables de correspondance entre des adresses IP de machines et un ou plusieurs domaines.
A chaque requête Web notamment adressée au fournisseur d'accés académique, le navigateur client s'adresse à la machine abritant le DNS de Créteil, ie 195.98.246.50
Celle-ci se charge (éventuellement en demandant à son tour de l'aide à d'autres DNS) de trouver l'équivalent IP du nom de serveur présent dans l'URL de la requête.
Exemple si on est abonné à wanadoo, les requêtes s'adressent au nameserver (DNS) 193.252.19.3, paramétre mis dans les propriétés TCP/IP du paramétrage réseau sous Windows 9x, et pour nous, dans le fichier /etc/resolv.conf

Même si on dispose d'un serveur de noms local, il est conseillé de garder le fichier /etc/hosts.