Administration réseau sous Linux/Configuration réseau
Installation de la carte réseau
modifierLes cartes réseau sont souvent détectées au démarrage. Si ce n'est pas le cas il faudra charger les modules correspondants.
Pour obtenir la liste des interfaces réseau qui ont été détectées, on peut utiliser dans l'invite de commandes :
ifconfig -a
Les sections qui commencent par ethX correspondent aux cartes Ethernet, où X est le numéro de la carte.
Si la carte n'est pas détectée, il faudra charger le module avec la commande
modprobe <nom du module>
Parmi les modules courants on peut noter : ne2k-pci pour les cartes NE2000, via-rhine, rtl8139...
Les modules disponibles pour votre noyau se trouvent dans /lib/modules/<nom du noyau>/kernel/drivers/net/
.
La commande suivante affiche les modules réseau disponibles pour le noyau en cours d'utilisation :
ls /lib/modules/`uname -r`/kernel/drivers/net/
Pour connaître le nom du module en fonction du nom commercial d'une carte, une recherche sur l'internet est souvent la meilleure solution.
Le noyau donne parfois des informations utiles sur les cartes réseau. On peut rechercher les messages contenant "eth0" pour avoir plus d'informations sur la première carte réseau détectée :
dmesg | grep eth0
La commande suivante permet d'afficher les cartes réseaux reliées au bus PCI :
lspci | grep Ethernet
Configuration de l'interface réseau
modifierUne fois votre carte reconnue par le noyau, vous devez au moins préciser son adresse IP et son masque de sous-réseau. Dans le cas d'un réseau local connecté à l'internet, vous devez aussi ajouter l'adresse IP de la passerelle et l'adresse IP d'un ou plusieurs serveurs DNS.
Adresse IP
modifier>Pour attribuer une adresse IP à une interface réseau, on peut utiliser la commande ifconfig
:
ifconfig <interface> <adresse ip>
>Par exemple :
ifconfig eth0 192.168.1.12
Le masque de sous-réseau est déterminé automatiquement en fonction de la classe de l'adresse IP. S'il est différent on peut le spécifier avec l'option netmask
:
ifconfig eth0 192.168.1.12 netmask 255.255.255.128
>Pour voir si la carte réseau est bien configurée, on peut utiliser la commande :
ifconfig eth0
Passerelle et routage
modifierPour ajouter une passerelle, on peut utiliser la commande route
:
route add default gw <adresse ip>
Pour afficher les routes vers les différents réseaux :
route -n
Tester le réseau
modifierPour vérifier que la carte réseau fonctionne, on peut essayer de communiquer avec une autre machine avec la commande
ping <adresse ip>
La commande ping
envoi un paquet à l'adresse IP puis attend que la machine réponde. Elle affiche ensuite le temps qu'a pris toute l'opération, en millisecondes.
Informations sur les interfaces
modifierPour vérifier les ports ouverts, on peut utiliser la commande
netstat -a
>Nom d'hôte (hostname)
modifierLe fichier /etc/hostname contient le nom de la machine. Il suffit de l'éditer pour changer le nom d'hôte de la machine. Cette modification n'est pas prise en compte immédiatement par le système, elle le sera au prochain démarrage de la machine ou après avoir lancé :
/etc/init/hostname.sh (ubuntu)
/etc/hostname (debian)
Le fichier est vide par défaut. Si le fichier n'existe pas, il faut le créer.
On peut également changer le nom d'hôte avec la commande suivante, mais il ne sera pas conservé au prochain démarrage :
hostname <nom d'hôte>
>Configuration automatique au démarrage
modifierLe fichier /etc/network/interfaces
permet de configurer les cartes réseau de manière permanente.
Par exemple :
auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.1.2 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 8.8.8.8
Cette configuration initialisera automatiquement les interfaces "lo" et "eth0".
L'interface "lo" est souvent indispensable au système, il est important de l'initialiser. Elle aura systématiquement l'adresse IP 127.0.0.1.
L'interface "eth0" sera configurée avec l'adresse IP 192.168.1.2, le masque de sous réseau 255.255.255.0 et la passerelle 192.168.1.1 (ce paramètre est facultatif).
Dans le cas d'une IP fixe, il vaut mieux renseigner un serveur DNS (ci-dessus celui de Google). Sinon, si l'interface eth0 doit être configurée automatiquement par un serveur DHCP, il faut indiquer :
auto eth0 iface eth0 inet dhcp
Pour que les modifications de ce fichier soient prises en compte, il faut redémarrer ou utiliser les commandes ifup
et ifdown
. Par exemple :
ifup eth0
ATTENTION : Avant de redémarrer la configuration réseau (systemctl restart networking, ou ifup/ifdown, ...
) déconfigurez manuellement les interfaces réseaux via la commande ip addr flush ethX
(X valant 0 puis 1 puis 2 pour r2).
Résolution de noms d'hôte
modifierLe fichier /etc/host.conf
indique comment les noms doivent être résolus (c'est à dire comment passer d'une adresse IP à un nom, et inversement).
Par exemple :
# D'abord traduire avec les serveurs DNS et ensuite avec /etc/hosts. order bind,hosts # Il existe des machines avec plusieurs adresses multi on # Vérifie l'usurpation d'adresse IP nospoof on
Serveurs DNS
modifierLe fichier /etc/resolv.conf
contient les adresses IP des serveurs DNS.
Par exemple :
nameserver 208.164.186.1 nameserver 208.164.186.2 search foo
La commande search
indique que si un nom de domaine n'est pas trouvé, il faudra essayer en lui ajoutant .foo
.
Fichier hosts
modifierLe fichier /etc/hosts
contient une liste de résolutions de noms (adresses IP et noms de machine).
Par exemple:
192.168.105.2 sasa
Ce fichier indique que sasa
correspond à l'adresse IP 192.168.105.2
, qui sera accessible par cet alias.
Problèmes connus
modifierping: unknown host
modifier- Vérifier en renseignant le DNS mentionné ci-dessus.
- La commande ping permet de tester la joingnabilité d'une adresse ip disponible dans un même réseau. Essayons de voir les options de la commande ping :
- ping Adaptive -A. intervalle Interpacket adapte à temps aller-retour, de sorte que effectivement pas plus d'un (ou plus, si la précharge est set) sonde sans réponse est présent dans le réseau. inter- Minimal val est 200msec pour ne pas super-utilisateur. Sur les réseaux à faible rtt ce mode est essentiellement équivalent au mode d'inondation. -b Autoriser pinger une adresse de diffusion. -B Ne pas laisser ping pour changer l'adresse source de sondes. le l'adresse est liée à celle sélectionnée lorsque ping commence. -c count Arrêt après l'envoi de paquets de comptage ECHO_REQUEST. Avec délai option ping attend les paquets de comptage ECHO_REPLY, jusqu'à ce que le Time- expire out.
Pour éviter que ceci se produise en passant du DHCP en IP statique, il faut tester aupavavant la résolution DNS :
- Tester le pare-feu :
telnet 8.8.8.8 53
. - Si
dig google.fr
fonctionne mais pasdig @8.8.8.8 google.fr
, vérifier que le sous-réseau de la machine a bien accès au DNS.