Configuration réseau (Linux)

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 :

  • lancer des "ping" sur les machines voisines :
    [stagex@pox]$ ping 10.194.2.10y
    [stagex@pox]$ ping p0y si p0y figure dans le fichier /etc/hosts
  • ouvrir une session telnet ou ftp sur un hôte dans lequel il posséde un compte.(cf tp 1)


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

  • adresse IP de l'adaptateur réseau (une machine de type passerelle ayant 2 cartes)

  • Par exemple : 10.194.2.5 se composant de l'adresse du réseau (supposé de classe C) 192.168.1 et du numéro de la machine, ici 5 ( de 1 à 254)
  • Adresse de "boucle" : une machine isolée a toujours l'adresse 127.0.0.1, ce qui lui permet de se connecter à elle-même
  • masque de sous-réseau (netmask) : ce qui détermine les adresses qu'il est possible d'attribuer aux machines de ce sous-réseau, ici 255.255.255.0
  • adresse IP générale du sous-réseau : elle se déduit du masque et d'une adresse ; ici 10.194.2.0
  • nom complet : nom station + nom du domaine, ici p0x.cfipen.fr

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 :

  • adresse ip : 10.194.2.100 à 10.194.2.119
  • masque de sous-réseau : 255.255.255.0
  • passerelle par défaut : 10.194.2.245 (adresse du routeur, ce pourrait être l'adresse d'un boitier ISB 100)
  • serveur de nom primaire : 195.98.246.50 (Le DNS du fournisseur d'accès, ici ac-creteil.fr)
  • nom de domaine : cfipen.fr
  • nom de machine : p01.cfipen.fr à p19.cfipen.fr
  • 2ème serveur de nom :
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.
  • ifconfig nom-interface renseigne sur l'interface, son paramétrage et son activité

  • ifconfig lo (interface loopback)
    ifconfig eth0 (interface Ethernet) donne la configuration irq, adresse E/S
  • ifconfig nom-interface adresse-IP assigne cette adresse à l'interface et l'active
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
  • mode affichage F3 : pour lire sans risquer de modifier (par inadvertance)
  • mode édition F4 : pour modifier, F2 pour sauvegarder.
/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: ....

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
    • dmesg | less
    • ifconfig

  2. Examen de la configuration logicielle
    • Editer les divers fichiers de /etc décrits précédemment
    • Voir avec l'utilitaire Linuxconf, les diverses commandes de réglage.
      Pour chacune, chercher la correspondance avec le fichier de configuration concerné.


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.