Configuration Reseau Linux LPI 102
Configuration Reseau Linux LPI 102
Configuration Reseau Linux LPI 102
révision 3
Objectifs
Comprendre et savoir configurer les interfaces réseau;
Comprendre et savoir configurer les information de la machine;
Savoir démarrer et arrêter le réseau;
Connaître les outils réseau
Points importants
Sous Linux tout est géré par un fichier même les interfaces réseau;
Présenter d'abord les commandes de configuration du réseau puis les fichiers ou l'on peut
sauvegarder la configuration de manière permanente.
L'interface réseau (NIC network Interface Card) utilisée doit être supportée par le noyau
Linux, généralement sous la forme d'un module chargé à la demande au démarrage.
Les interfaces sont désignées sous Linux de la manière suivante ethX où X représente le
numéro de l'interface (e.g. etho pour la première interface)
Pour obtenir la liste de(s) interface(s) détectée(s) automatiquement, vous pouvez utiliser
la commande /bin/dmesg
/bin/dmesg
3c59x: Donald Becker and others.
www.scyld.com/network/vortex.html
See Documentation/networking/vortex.txt
02:0c.0: 3Com PCI 3c905C Tornado at 0xec80. Vers LK1.1.18-ac
00:b0:d0:a2:2b:37, IRQ 18
product code 0000 rev 00.14 date 07-03-97
Internal config register is 1800000, transceivers 0xa.
8K byte-wide RAM 5:3 Rx:Tx split, autoselect/Autonegotiate
interface.
MII transceiver found at address 24, status 782d.
Enabling bus-master transmits and whole-frame receives.
Une carte réseau se trouve en général sur le bus PCI, pour connaître les cartes trouvées
par le système, vous pouvez consulter le contenu du fichier /proc/pci
Page 1/9
less /proc/pci
Bus 2, device 12, function 0:
Ethernet controller: 3Com Corporation 3c905C-TX/TX-M
[Tornado] (rev 120).
IRQ 18.
Master Capable. Latency=64. Min Gnt=10.Max Lat=10.
I/O at 0xec80 [0xecff].
Non-prefetchable 32 bit memory at 0xfafffc00 [0xfafffc7f].
more /proc/interrupts
18: 15557021 IO-APIC-level eth0
/bin/lsmod
Module Size Used by Tainted: P
3c59x 31536 1 (autoclean)
Vous pouvez ainsi vérifier que le module correct a été chargé par le noyau avec les bons
paramètres : adresse (I.O) et interruption (IRQ)
#/etc/hosts
Page 2/9
193.54.85.245 serveur.transfer-tic.org serveur
127.0.0.1 localhost
Les informations concernant les noms de domaines (DNS Domain Name System) se
trouvent dans le fichier
/etc/resolv.conf
On y indique principalement les noms des machines capables de résoudre les noms ainsi
que le domaine de recherche par défaut.
#/etc/resolv.conf
nameserver 134.157.9.1
nameserver 134.157.0.129
search transfer-tic.org
#/etc/sysconfig/network/
NETWORKING=yes
HOSTNAME= serveur.transfer-tic.org
GATEWAY= 134.157.9.126
GATEWAYDEV=eth0
#/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
IPADDR=134.157.9.52
NETMASK=255.255.255.0
NETWORK=134.157.9.0
BROADCAST=134.157.9.255
ONBOOT=yes
Page 3/9
Enfin, il est possible de nommer les interfaces, mais ce n'est pas normalisé et reste très
dépendant de la distribution Linux utilisée.
La distribution stocke les informations de toutes les interfaces réseau dans le fichier
/etc/network./interfaces
On y indique pour chaque interface son nom et les informations de réseau associées
auto eth0
iface eth0 inet static
address 192.168.10.10
netmask 255.255.255.0
network 192.168.10.0
broadcast 192.168.10.255
gateway 192.168.10.1
Démarrage 'classique'
/sbin/ifup eth0
Page 4/9
Comme pour la plupart des services sous Linux, on peut démarrer le service 'réseau'
(donc toutes les interfaces) avec le script /etc/rc.d/init.d/network qui utilise la commande
ifup vue précédemment pour chaque interface définie.
/etc/rc.d/init.d/network start
La ligne
net.ipv4.ip_forward=1
indique de forwarder les paquets ip (elle a pour effet de modifier le contenu du fichier
'/proc/sys/net/ipv4/ip_forward' en transformant son contenu qui est 0 par défaut en 1)
On peut utiliser les outils suivants (suivant la distribution utilisée) pour récupérer une
nouvelle adresse IP depuis un serveur DHCP (Dynamic Host Configuration Protocol)
pump
dhcpclient
Attention, le serveur DHCP de Linux s'appelle dhcpd, alors que le client se nomme
dhcpcd
1.4 Routage
Lorsque l'on utilise 'ifconfig' ou si la passerelle n'est pas renseignée, il faut indiquer cette
passerelle (et d'autres routes éventuellement) par la commande /sbin/route qui permet
de configurer la table de routage.
Exemple : ajouter une route par défaut vers la machine 192.168.1.1 joignable par
l'interface physique eth0
Page 5/9
/sbin/route add default gw 192.168.1.1 eth0
/sbin/route -n
Table de routage IP du noyau
Destination Passerelle Genmask ... Iface
192.168.1.0 0.0.0.0 255.255.255.0 ... eth0
192.168.2.0 0.0.0.0 255.255.255.0 ... eth2
192.168.100.0 192.168.2.1 255.255.255.0 ... eth2
127.0.0.0 0.0.0.0 255.0.0.0 lo
0.0.0.0 192.168.1.1 0.0.0.0 eth0
La route vers le réseau 0.0.0.0 signifie vers n'importe quel réseau : c'est la route par
défaut ou passerelle par défaut (route add default ... ou celle se trouvant dans le fichier /
etc/sysconfig/network).
/bin/ping
Page 6/9
ping www.transfer-tic.org
PING www.transfer-tic.org (81.80.122.16) 56(84) bytes of data.
64 bytes from transfer-tic.org (81.80.122.16): icmp_seq=1
ttl=238 time=4.42 ms
64 bytes from transfer-tic.org (81.80.122.16): icmp_seq=2
ttl=238 time=4.29 ms
64 bytes from transfer-tic.org (81.80.122.16): icmp_seq=3
ttl=238 time=11.6 ms
64 bytes from transfer-tic.org (81.80.122.16): icmp_seq=4
ttl=238 time=4.20 ms
©64 bytes from transfer-tic.org (81.80.122.16): icmp_seq=5
ttl=238 time=4.88 ms
64 bytes from transfer-tic.org (81.80.122.16): icmp_seq=6
ttl=238 time=4.35 ms
64 bytes from transfer-tic.org (81.80.122.16): icmp_seq=7
ttl=238 time=3.81 ms
/bin/netstat
Donne des informations sur la configuration réseau comme la table de routage (comme la
commande 'route'), mais aussi des statistiques.
netstat -n
Connexions Internet actives (sans serveurs)
Proto Recv-Q Send-Q Adresse locale Adresse distante
Etat
tcp 0 0 134.157.9.32:22 134.157.9.52:46903
ESTABLISHED
tcp 0 0 134.157.9.32:22 134.157.9.52:46639
ESTABLISHED
tcp 0 0 134.157.9.32:800 134.157.9.11:2049
ESTABLISHED
Page 7/9
tcp 0 0 134.157.9.32:643 134.157.9.11:111
TIME_WAIT
On remarque deux connexions sur le port 2, une sur le port 800 et une sur le port 643.
/sbin/arp
Permet d'afficher la table cache de résolution d'adresses du noyau (i.e. L'association avec
l'adresse physique MAC d'une machine) pour les machines présentes sur le même
réseau.
arp
Address HWtype HWaddress Flags Mask
Iface
cerbere.lodyc.jussieu.f ether 00:B0:D0:D1:8B:2A C
eth0
nestor.lodyc.jussieu.fr ether 00:04:76:E4:BB:33 C
eth0
/usr/sbin/traceroute
Affiche les différents noeuds du réseau traversés pour joindre une machine
traceroute -n www.transfer-tic.org
traceroute to www.transfer-tic.org (81.80.122.16), 30 hops max,
38 byte packets
1 134.157.9.126 0.640 ms 0.265 ms 0.242 ms
2 134.157.247.238 5.000 ms 0.655 ms 0.545 ms
3 134.157.254.126 1.010 ms 0.830 ms 0.826 ms
4 195.221.127.181 1.656 ms 1.130 ms 1.083 ms
5 193.51.181.102 1.447 ms 1.028 ms 1.097 ms
6 193.51.180.158 1.888 ms 1.826 ms 1.771 ms
7 193.51.179.1 1.030 ms 1.443 ms 1.383 ms
8 193.51.185.1 1.815 ms 1.384 ms 1.100 ms
9 193.251.241.97 1.361 ms 1.675 ms 1.438 ms
Page 8/9
La commande 'traceroute' force les noeuds traversés intermédiaires à renvoyer une
réponse qui est un message d'erreur ( ICMP TIME_EXCEEDED ), en positionnant une valeur
de TTL (Time To Live) trop basse. Dés qu'un message d'erreur est reçu, la commande
incrémente cette valeur et renvoie le message ce qui lui permet de passer au noeud
suivant et ainsi de suite.
1.6 Exercices
Mots clefs
Réseau
Interface
Ethernet
Routage
/proc/pci
/proc/interrupts
/etc/resolv.conf
/etc/HOSTNAME
/etc/hosts
/etc/sysconfig/networks
/etc/sysconfig/networks-scripts/ifcfg-eth0
/sbin/ifconfig
/sbin/ifup
/etc/rc.d/network
/sbin/route
/proc/sys/net/ipv4/ip_forward
/bin/ping
/bin/netstat
/usr/sbin/traceroute
Page 9/9