Module 1
Chapitre 09 - Reseau
1. Introduction
Afin d'utiliser le réseau, il vous faudra activer le support de votre carte en "dur" dans votre noyau ou encore la charger par le biais d'un module au lancement du système.
De plus certaines distributions incluent des outils de détection automatique.
2. Configuration Automatique
Lorsque le réseau possède un serveur DHCP, il devient trés simple de configurer sa carte réseau sous Linux en tapant simplement :
dhclient
| Note: | |
la commande dhclient est la plus récente et la plus utilisée, mais il existe d'autres commandes tel que dhcpcd et pump. |
3. Configuration manuelle
3.1 Les interfaces
Le noyau Linux attribue des noms d'interfaces composées d'un préfixe précis selon le type. Toutes les interfaces Ethernet, par exemple, commençant par eth. Le préfixe est suivi d'un chiffre, le premier étant 0 (eth0, eth1, eth2...)
Ethernet | eth[01234...] |
Anneau à jeton | tr[01234...] |
FDDI | fddi[01234...] |
3.1.1 ifconfig
La commande ifconfig permet de connaitre l'état des interfaces réseaux présentes et détectées par le système.
L'option -a permet d'afficher toutes les interfaces actives ou non.
luser@localhost $ /sbin/ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:04:AC:45:63:7E
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:164442 errors:0 dropped:0 overruns:0 frame:1
TX packets:133671 errors:0 dropped:0 overruns:72 carrier:0
collisions:0 txqueuelen:100
RX bytes:91115012 (86.8 Mb) TX bytes:33953990 (32.3 Mb)
Interrupt:10 Base address:0xc000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:3431 errors:0 dropped:0 overruns:0 frame:0
TX packets:3431 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:197669 (193.0 Kb) TX bytes:197669 (193.0 Kb)
La commande ifconfig permet aussi de configurer la carte réseau avec la syntaxe suivante :
ifconfig adr_ip netsmask masque_ss_réseau broadcast adr_broadcast
3.1.2 ifup/ifdown
La commande ifup permet d'activer une carte réseau :
ifup <interface>
Exemple :
root@localhost # ifup eth0
La commande ifdown permet de désactiver une carte réseau :
ifdown <interface>
Exemple :
root@localhost # ifdown eth0
| Note: | |
attention les commandes ifup et ifdown ne sont pas présentes dans certaines distributions. |
Dans ce cas il faut avoir recourt à la commande ifconfig :
root@localhost # ifconfig eth0 up
OU
root@localhost # ifconfig eth0 down
3.2 Les routes
La commande route permet d'afficher la table de routage du système :
root@localhost # route
Table de routage IP du noyau
Destination Passerelle Genmask Indic Metric Ref Use Iface
172.16.0.0 * 255.255.0.0 U 0 0 0 eth0
default gate.esi-supinf 0.0.0.0 UG 0 0 0 eth0
voici un exemple de modification de la table de routage :
Pour attacher un sous réseau local à une interface :
root@localhost # /sbin/route add -net 172.16.1.0/25 dev eth0
Pour atteindre un sous réseau distant, il est nécessaire de spécifier une passerelle (gateway, en anglais) :
root@localhost # /sbin/route add -net 172.16.1.128/25 gw 172.16.1.125
Les communications ne correspondant à aucune des routes présentes utilisent la route par défaut (pour l'Internet notamment) :
root@localhost # /sbin/route add default gw 172.16.1.1
3.3 La résolution de nom
Pour résoudre les noms sur le réseau, il faut stocker dans le fichier "/etc/resolv.conf" l'adresse IP de vos serveurs DNS :
domain nux.net
nameserver 216.223.224.7
nameserver 216.223.224.6
Nous avons ici configuré le domaine du réseau (nux.net) et l'IP de deux serveurs DNS.
4. Les outils de tests réseau
4.1 Ping
La commande ping est LA commande de base pour tester le réseau. elle vérifie la connectivité entre votre interface réseau et une autre :
luser@localhost $ ping 127.0.0.1
127.0.0.1 est l'adresse loopback de votre interface réseau (lo). faire un ping sur votre adresse loopback revient à vous "pinger" vous meme. Si votre interfaces lo vous répond, c'est que votre carte réseau est supportée : votre kernel supporte le TCP/IP, le driver de votre carte fonctionne.
ping <votre_ip>
Ici vous pouvez vérifier que vous avez bien configurer votre adresse IP.
ping <une_ip>
Si une_ip fait partie de votre réseau, il s'agit de vérifier la connexion au réseau local.
Dans le cas contraire, vous serez en mesure de tester le bon fonctionnement de votre passerelle.
ping <un_nom>
Ici, c'est votre configuration DNS que vous vérifiez.
4.2 Traceroute
La commande traceroute vous permet de connaître le chemin des paquets émis par votre interface.
Cela peut, en outre vous permettre, de détecter des problèmes éventuels de congestion sur un routeur du réseau.
| Note: | |
la commande traceroute fonctionne au niveau réseau du modèle OSI. Elle ne détectera donc pas les passages par des équipements réseau fonctionnant sur des couches inférieures ( hub,switchs). |
Par exemple, voyons le chemin que prend nos paquets pour atteindre la machine www.google.com :
luser@localhost $ /usr/bin/traceroute mail.supinfo.com
traceroute to mail.supinfo.com (212.80.91.71), 30 hops max, 40 byte packets
1 gougniafier (192.168.1.1) 0.282 ms 0.147 ms 0.105 ms
2 193.253.160.3 (193.253.160.3) 55.493 ms 55.736 ms 58.933 ms
12 easy-interlan.router.easynet.fr (212.180.0.135) 55.892 ms 53.760 ms
13 easy-interlan-10.easynet.fr (212.180.93.42) 59.920 ms 56.677 ms 59.887
14 supinfo-2.supinfo.com (212.180.91.71) 57.182 ms 51.742 ms 53.876 ms
4.3 Netstat
Netstat permet d'afficher des détails sur les connexions actives de votre machine (statistiques, ports...)
root@localhost # netstat -tlp
Active Internet connexions (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 *:36167 *:* LISTEN 20091/artsd
tcp 0 0 *:6000 *:* LISTEN 20032/X
tcp 0 0 *:www *:* LISTEN 17170/apache
tcp 0 0 *:ssh *:* LISTEN 8283/sshd
Pour afficher la liste des connexions actives :
root@localhost # netstat -top
Active Internet connexions (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 192.168.1.10:35514 205.188.9.63:5190 ESTABLISHED 7981/centericq
tcp 0 0 192.168.1.10:36240 nephtys.lip6.fr:45196 ESTABLISHED 28124/ncftp
tcp 0 0 192.168.1.10:33605 207.46.106.47:1863 ESTABLISHED 7981/centericq
tcp 0 0 192.168.1.10:35936 gougniafier:ssh ESTABLISHED 18543/ssh