Configuration du réseau

Ubuntu est fourni avec de nombreux utilitaires graphiques pour la configuration des périphériques réseau. Ce document s'adresse aux administrateurs de serveurs et se focalisera sur la gestion de votre réseau en ligne de commande.

Ethernet

La plus grande partie de la configuration ethernet est centralisée dans un seul fichier, /etc/network/interfaces. Si vous n'avez aucun périphérique ethernet, seul l'interface loopback apparaitra dans ce fichier, qui ressemblera alors à ceci :

#This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback
address 127.0.0.1
netmask 255.0.0.0

Si vous avez un seul périphérique ethernet, eth0, et que ce périphérique obtient sa configuration à partir d'un serveur DHCP, et qu'il est activé automatiquement au démarrage, seulement deux lignes supplémentaires sont nécessaires :

auto eth0
iface eth0 inet dhcp

La première ligne précise que l'interface eth0 doit être activée au démarrage. La seconde signifie que l'interface (« iface ») eth0 doit avoir une adresse IPv4 (remplacer « inet » par « inet6 » pour un périphérique IPv6) et qu'elle obtient sa configuration automatiquement d'un serveur DHCP. En supposant que votre réseau et que votre serveur DHCP soient configurés correctement, le paramétrage réseau de cette machine ne devrait nécessiter aucune configuration supplémentaire. Le serveur DHCP fournira l'adresse de la passerelle par défaut (implémentée par la commande route), l'adresse IP de l'interface (implémentée par la commande ifconfig) ainsi que les adresses des serveurs DNS utilisés sur le réseau (implémentés dans le fichier /etc/resolv.conf).

Pour configurer une interface ethernet avec une adresse IP statique, davantage d'informations sont nécessaires. Supposons que l'on veuille assigner l'adresse IP 192.168.0.2 à l'interface eth1, avec le masque réseau typique 255.255.255.0. Supposons que l'adresse de votre passerelle soit 192.168.0.1. Vous devrez alors indiquer les informations suivantes dans votre fichier /etc/network/interfaces :

iface eth1 inet static
	address 192.168.0.2
	netmask 255.255.255.0
	gateway 192.168.0.1

Dans ce cas, il vous faudra renseigner manuellement les adresses de vos serveurs DNS dans /etc/resolv.conf de la façon suivante :

search mondomaine.exemple
nameserver 192.168.0.1
nameserver 4.2.2.2

La directive search ajoutera mondomaine.exemple aux requêtes destinées à résoudre les noms de votre réseau. Par exemple, si le domaine de votre réseau est mondomaine.exemple et que vous essayez de pinguer la machine « monpc », la requête DNS sera ainsi modifiée : « monpc.mondomaine.exemple » avant d'être résolue. Les directives nameserver indiquent les adresses des serveurs DNS à utiliser pour transformer les noms de machines en adresses IP. Si vous utilisez votre propre serveur de noms, indiquez le à cet endroit. Sinon, indiquez les adresses des serveurs DNS primaires et secondaires fournies par votre Fournisseur d'Accès à l'Internet dans le fichier /etc/resolv.conf comme ci-dessus.

De nombreuses autres configurations sont possibles, y compris pour les interfaces de modem PPP, les réseaux IPv6, des VPN, etc. Lisez man 5 interfaces pour plus d'informations et les options supportées. Souvenez-vous que /etc/network/interfaces est utilisé par les scripts ifup/ifdown à un niveau plus haut que dans beaucoup d'autres distribution Linux, et que les utilitaires de bas niveau comme ifconfig, route, et dhclient sont toujours disponibles pour configurer votre réseau comme vous le souhaitez.

Gérer les entrées DNS

Cette partie explique comment configurer le serveur de noms à utiliser pour convertir les adresses IP en nom de machines et vice versa. Elle n'explique pas comment configurer un système en serveur de noms.

Pour gérer les entrées DNS, vous pouvez ajouter, modifier, ou enlever les noms des DNS du fichier /etc/resolv.conf. Un fichier d'exemple est donné ci-dessous :

search com
nameserver 204.11.126.131
nameserver 64.125.134.133
nameserver 64.125.134.132
nameserver 208.185.179.218

La clé search indique la chaîne de caractères qui sera ajoutée à la fin d'un nom d'hôte incomplet. Supposons que nous ayons indiqué la valeur com. À ce moment-là, quand on exécute la commande : ping ubuntu, elle sera interprétée comme suit : ping ubuntu.com.

La clé nameserver indique l'adresse IP d'un serveur de noms. Elle sera utilisée pour convertir (pour résoudre) une adresse IP ou un nom d'hôte. Plusieurs adresses de serveurs de noms peuvent être indiquées dans ce fichier. Les serveurs de noms seront utilisés dans l'ordre indiqué.

[Avertissement]

Si les adresses des serveurs de noms sont récupérées dynamiquement par DHCP ou PPPoE (à partir de votre FAI par exemple), ne rajoutez aucune entrée de serveurs de noms dans ce fichier. Elle serait remplacée par celle obtenue automatiquement.

[Avertissement]

Les modifications apportées dans /etc/resolv.conf seront écrasées lors du redémarrage de votre machine. Si vous voulez rendre permanent ce changement, vous devez installer le paquet resolvconf à partir du dépôt Universe et mettre à jour les informations DNS dans le fichier /etc/resolvconf/resolv.conf.d/base fourni par ce paquet.

Gérer les hôtes

Pour gérer les hôtes, vous pouvez ajouter, éditer ou retirer des hôtes du fichier /etc/hosts. Ce fichier contient les adresses IP et leur nom d'hôte correspondant. Quand votre système essaye de résoudre un nom d'hôte vers une IP ou une IP vers un nom d'hôte, il regarde d'abord dans le fichier /etc/hosts avant de faire appel aux serveurs DNS. Si l'adresse IP est listée dans /etc/hosts, les serveurs DNS ne seront pas utilisés. Ce comportement peut être modifié en éditant /etc/nsswitch.conf à vos risques et périls.

Si votre réseau contient des ordinateurs dont les adresses IP ne sont pas listées par les DNS, il est recommandé de les ajouter dans le fichier /etc/hosts.