Traduction(s): English - Français - Italiano - 简体中文


Préalables pour le lecteur : pour tirer le maximum de profit de la lecture de cet article, il est conseillé d'avoir acquis au préalable les concepts suivants : les outils basiques de ligne de commande unix, les éditeurs de texte, DNS, TCP/IP, DHCP, masque de réseau (netmask), passerelle (gateway)

Table of Contents

Configurer une interface Ethernet

L'essentiel de la configuration d'un réseau peut être fait en passant par le fichier de configuration interfaces du répertoire /etc/network/interfaces. Là, vous pourrez donner à votre carte de réseau une adresse IP (ou utiliser dhcp), configurer les informations de routage ou le masquage d'IP, le routage par défaut et bien d'autres choses.

N'oubliez pas d'ajouter à la ligne 'auto' les interfaces que vous souhaitez lancer au démarrage de l'ordinateur.

Pour plus d'informations, voir man interfaces.

Utiliser DHCP pour configurer automatiquement une interface réseau

Si vous utilisez juste DHCP, vous n'avez qu'à entrer quelque chose comme ça :

    auto eth0
    allow-hotplug eth0
    iface eth0 inet dhcp

Pour DHCPv6 (utilsé par IPv6), ajoutez la section iface suivante

    iface eth0 inet6 dhcp

Autrement, IPv6 peut être configuré automatiquement en utilisant l'autoconfiguration sans état (stateless address autoconfiguration ou SLAAC) qui est spécifiée en utilisant auto à la place de dhcp dans la section inet6 :

    iface eth0 inet6 auto

Configurez une interface réseau manuellement

Si vous configurez l'interface réseau manuellement, quelque chose comme ce qui suit paramètrera la passerelle par défaut (réseau, broadcast – adresse de diffusion et passerelle - gateway sont optionnels) :

    auto eth0
    iface eth0 inet static
        address 192.0.2.7
        netmask 255.255.255.0
        gateway 192.0.2.254

Si vous voulez ajouter une adresse IPv6, ajoutez quelque chose comme cela :

    iface eth0 inet6 static
        address 2001:db8::c0ca:1eaf
        netmask 64
        gateway 2001:db8::1ead:ed:beef

Pour plus d'options, voir man interfaces.

Configurer la vitesse et le duplex

Une auto-négociation défaillante à maintes reprises est souvent le signe d'un problème de câblage, donc vérifiez votre installation matériel avant de considérer que ce sont les algorithmes d'auto-négociation de l'interface qui sont incompatibles. Si vous arrêtez l'auto-négociation puis configurez vous-même la vitesse et le mode duplex, l'interface du partenaire situé à l'autre bout du câble supposera que l'absence d'auto-négociation indique une vitesse de 10 Mbit/s et un mode duplex de la moitié. Pour que ça fonctionne sans erreur, si vous configurez vous-même la vitesse et le mode duplex, vous devez vous assurer que l'interface du partenaire a adopté exactement la même vitesse et le même mode duplex.

Si vous configurez manuellement la vitesse et le mode duplex de votre interface, quelques essais seront sans doute nécessaires. Voici les étapes à suivre :


Activer une interface réseau sans adresse IP

Il faut se servir d'une méthode manuelle pour créer une interface réseau sans adresse IP puis utiliser les commandes pre-up et post-down pour activer ou désactiver l'interface.

   iface eth0 inet manual
      pre-up ifconfig $IFACE up
      post-down ifconfig $IFACE down

Si l'interface est une interface VLAN, les commandes up/down doivent être exécutées respectivement avant et après la connection du vlan. after/before the vlan hooks. (Vous devez aussi installez le paquet vlan.)

   iface eth0.99 inet manual
      post-up ifconfig $IFACE up
      pre-down ifconfig $IFACE down

Remarque : si vous créez l'interface VLAN seulement pour le mettre dans un bridge, il n'est pas besoin de définir l'interface LAN soi-même. Il suffit de configurer le bridge et l'interface VLAN interface sera créé automatiquement lors de la création du bridge (voir plus bas).

Définir les serveurs de noms de domaine (DNS)

Pour qu'un ordinateur puisse se connecter à une ressource réseau externe (par exemple, un serveur web), il faut qu'il ait le moyen de convertir un nom alpha-numérique (par exemple wiki.debian.org) en une adresse réseau numérique (par exemple 140.211.166.4). (Internet utilise ces adresses IP numériques structurées comme adresses réseaux.)

La bibliothèque C et les autres bibliothèques de résolveur vont chercher dans /etc/resolv.conf une liste de noms de serveurs. Dans le cas le plus simple, c'est un fichier à éditer pour dresser la liste des serveurs. Notez que d'autres programmes de configuration dynamique se feront un plaisir de remplacer vos réglages :

  1. Le programme resolvconf

  2. Le démon network-manager

  3. les clients DHCP

Dans la plupart des situations, le fichier à éditer est le fichier de configuration d'un tel programme.

Dans les cas les plus complexes, utiliser resolvconf est réellement le bon choix, même si avec des configurations plus simples, c'est probablement excessif.

Le fichier de configuration resolv.conf

Le fichier de configuration resolv.conf du répertoire /etc/resolv.conf contient les informations qui permettent à un ordinateur connecté au réseau de convertir les noms en adresses. (Note : Il ne faut pas confondre ce fichier de configuration avec le programme resolvconf qui porte malencontreusement presque le même nom.)

Le fichier resolv.conf contient habituellement les adresses IP des serveurs de noms de domaine (DNS) qui tenteront de convertir les noms en adresse pour tous les nœuds disponibles sur le réseau. Vous y verrez des lignes comme celle-ci :

nameserver 12.34.56.78
nameserver 12.34.56.79

Dans cet exemple, le système se sert de serveurs de noms de domaine dont les adresses IP sont 12.34.56.78 et 12.34.56.79. Il vous suffit de modifier le fichier en entrant l'adresse IP des serveurs de noms de domaine dont vous avez besoin après chaque nameserver ; ajoutez des lignes de nameserver si vous avez plus de serveurs de noms de domaine. N'utilisez pas cette méthode si vous avez installé le programme resolvconf.

Le fichier de configuration resolv.conf a plusieurs options pour définir comment le résolveur recherche les noms ; regardez man resolv.conf pour plus de détails.

Le programme resolvconf

Le programme resolvconf garde la trace des informations du système sur les serveurs de noms de domaine actuellement disponibles. Il ne faut pas le confondre avec le fichier de configuration resolv.conf qui porte malencontreusement presque le même nom. Le programme resolvconf est optionnel sur les systèmes Debian.

Le fichier de configuration resolv.conf contient des informations sur les serveurs de noms de domaine que le système doit utiliser. Néanmoins, quand plusieurs programmes doivent modifer dynamiquement le fichier de configuration resolv.conf, ils peuvent se chevaucher et le fichier peut ne plus être synchronisé. Le programme resolvconf s'occupe de ce problème. Il agit comme un intermédiaire entre les programmes qui fournissent des informations sur les serveurs de noms de domaine (par exemple les clients dhcp) et les programmes qui les utilisent (par exemple resolver).

Quand resolvconf est correctement installé, le fichier de configuration resolv.conf du répertoire /etc/resolv.conf est remplacé par un lien symbolique pointant vers le fichier /etc/resolvconf/run/resolv.conf et le résolveur utilise plutôt le fichier de configuration qui est généré dynamiquement par resolvconf à cet emplacement /etc/resolvconf/run/resolv.conf.

Le programme resolvconf est en général seulement nécessaire quand un système a plusieurs programmes qui ont besoin de modifier de façon dynamique les informations sur les serveurs de noms de domaine. Sur un système simple où les serveurs de noms de domaine ne changent pas souvent ou bien ne sont modifiés que par un programme, le fichier de configuration resolv.conf est suffisant.

Si le programme resolvconf est installé, vous n'aurez pas à modifier à la main le fichier de configuration resolv.conf car il sera changé de façon dynamique par les programmes. Si vous avez besoin de définir vous-même les serveurs de noms de domaine (comme avec une interface statique), ajoutez au fichier de configuration interfaces du répertoire /etc/network/interfaces une ligne comme celle-ci :

dns-nameservers 12.34.56.78 12.34.56.79

Mettez la ligne indéntée dans un paragraphe iface, par exemple juste après la ligne gateway. Entrez les adresses IP des serveurs de noms de domaine dont vous avez besoin après dns-nameservers, toutes sur la même ligne, séparées par des espaces. N'oubliez pas le "s" à la fin de dns-nameservers.

Le programme resolvconf est un ajout plutôt récent à Debian et plusieurs anciens programmes ont besoin d'être mis à jour ou reconfigurés pour fonctionner correctement avec lui . Si vous rencontrez des problèmes, regardez /usr/share/doc/resolvconf/README qui contient beaucoup d'informations sur la manière de faire fonctionner resolvconf avec d'autres programmes.

Configuration de DNS pour network-manager

Attention : Cette section n'a pas été testé avec une vraie configuration de network-manager. S'il vous plaît, testez-la puis retirez cet avertissement. Note : Cette section paraît valable avec les systèmes type Red Hat mais pas pour Debian dans la mesure où les systèmes RH utilisent habituellement /etc/sysconfig/network-scripts/, mais pas les systèmes Debian. La référence à /etc/sysconfig/network-scripts/ifcfg-* ne convient sans doute pas ici.

Si vous utilisez NetworkManager, mettez votre configuration dans le fichier /etc/sysconfig/network-scripts/ifcfg-*. Exemple :

DNS1=127.0.0.1
DNS2=8.8.8.8
DNS3=8.8.4.4

Avec l'interface graphique, cela signifie ::

  1. Menu système → Préférences → Connexion réseau.
  2. Choisir une connexion dans l'onglet réseau filaire ou sans fil et cliquer Modifier.
  3. Dans l'onglet configuration IPv4, changez la Méthode en autre chose que “Automatique (DHCP)” . Par exemple, “Automatic (DHCP) addresses only” est probablement approprié.
  4. Entrez les serveurs de noms de domaine dans le champ “DNS servers”, séparés par des espaces.
  5. Cliquer sur “Appliquer”.

Notez que votre client DHCP pourrait corriger ces paramètres ; s'il en est ainsi, vous pouvez envisager de le signaler comme un bogue et voir plus bas pour la configuration du client DHCP.

Cette section est basée sur la page http://code.google.com/speed/public-dns/docs/using.html, pour plus d'information, vous pouvez vous y reporter.

Configuration du client DHCP

Exemple : dhclient3 utilise /etc/dhcp/dhclient.conf et la configuration voulue est la suivante :

supersede domain-name-servers 12.34.56.78, 12.34.56.79;

ou peut-être

prepend domain-name-servers 12.34.56.78, 12.34.56.79;

Voir la page du manuel dhclient.conf(5) pour plus de détails.

Comment utiliser un réseau local virtuel - vlan (dot1q, 802.1q, trunk) avec Etch et Lenny

Configuration manuelle

modprobe 8021q

apt-get install vlan

vconfig add eth0 222    # 222 is vlan number
ifconfig eth0.222 up
ifconfig eth0.222 mtu 1496    #optional if your network card doesn't support MTU 1504B
ifconfig eth0.222 10.10.10.1 netmask 255.255.255.0

Avertissement sur l'utilisation d'un relais (bridging) et d'un réseau local virtuel (vlan)

#/etc/network/interfaces
auto eth0 bri0
iface eth0 inet static
        address 192.168.1.1
        netmask 255.255.255.0
        network 192.168.1.0
        broadcast 192.168.1.255
iface eth0.110 inet manual
        vlan-raw-device eth0
iface bri0 inet static
        address 192.168.110.1
        network 192.168.110.0
        netmask 255.255.255.0
        broadcast 192.168.110.255
        bridge_ports eth0.110
        bridge_stp on
        bridge_maxwait 10

Si vous utilisez une configuration VLAN brigde qui est probablement utile pour un réseau dans des environnements de virtualisation, veillez à attacher un seul dispositif bridge ou VLAN à un dispositif physique – comme on l'a montré plus haut. Attacher une interface physique (eth0) à un bridge (par exemple bri1), alors que vous utilisez la même interface physique sur des VLAN apparemment différents, aura comme résultat que tous les paquets resteront balisés (avec des noyaux supérieurs à 2.6.37 et antérieurs à 3.2).

Configuration de réseau avec script init

Ajoutez cette ligne au fichier /etc/modules :

8021q

Dans la section iface du fichier /etc/network/interfaces ajoutez le paramètre :

        vlan-raw-device eth0

Le nom de l'interface devrait être le nom brut de l'interface (le même qui est spécifié par vlan-raw-device) suivi d'un point et de l'ID du VLAN, par exemple eth0.100. Il peut plutôt être "vlan" suivi de l'ID du VLAN, par exemple vlan100. Dans les deux cas, l'ID du VLAN est à la fin, et c'est le seul endroit où il est configuré. Par exemple :

auto eth0.222
iface eth0.222 inet static
        address 10.10.10.1
        netmask 255.255.255.0
        network 10.10.10.0
        broadcast 10.10.10.255
        vlan-raw-device eth0

Comment créer une connexion tolérante aux pannes avec un vlan dans Etch

debian_bonding.png

debian_bonding.dia

Comment configurer un des serveurs ci-dessus en backup actif connectant 3 vlan {vlan10,vlan20,vlan30} dans un réseau Debian sans SPOF et sans vlan natif.

aptitude install vlan ifenslave-2.6

Congifuration de réseau

Exemple de configuration de l'interface d'un switch Cisco

interface GigabitEthernet1/2
 description eth1
 switchport
 switchport trunk encapsulation dot1q
 switchport trunk allowed vlan 10,20,30
 switchport mode trunk
 no ip address
 no cdp enable
 spanning-tree portfast trunk

Connexion avec backup actif

Créez un fichier /etc/modprobe.d/bonding.conf contenant :

alias bond0 bonding
options bonding mode=active-backup miimon=100 downdelay=200 updelay=200 primary=eth1

/etc/network/interfaces

# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto bond0
iface bond0 inet manual
        up ifconfig bond0 0.0.0.0 up
        slaves eth1 eth0
auto vlan10
iface vlan10 inet static
        address 10.10.10.12
        netmask 255.255.0.0
        network 10.10.0.0
        broadcast 10.10.255.255
        vlan-raw-device bond0
        gateway 10.10.0.1
        dns-search hup.hu
        dns-nameservers 10.10.0.2
auto vlan20
iface vlan20 inet static
        address 10.20.10.12
        netmask 255.255.0.0
        network 10.20.0.0
        broadcast 10.20.255.255
        vlan-raw-device bond0
auto vlan30
iface vlan30 inet static
        address 10.30.10.12
        netmask 255.255.0.0
        network 10.30.0.0
        broadcast 10.30.255.255
        vlan-raw-device bond0

Adresses IP multiples pour une interface

Les alias d'interface permettent à une interface d'avoir de multiples adresses IP. C'est utile quand on a besoin que plus d'un serveur soit visible sur Internet. Notez que les hosts virtuels peuvent gérer plusieurs serveurs Apache avec une adresse IP unique. Apache répond au nom de domaine fourni par le client dans l'en-tête HTTP. Dans d'autres situations, on a besoin d'une IP externe pour chaque serveur qui utilise un port.

Ce texte du fichier /etc/network/interfaces assigne trois adresses IP à eth0.

auto eth0
allow-hotplug eth0
iface eth0 inet static
    address 192.168.1.42
    netmask 255.255.255.0
    gateway 192.168.1.1

auto eth0:0
allow-hotplug eth0:0
iface eth0:0 inet static
    address 192.168.1.43
    netmask 255.255.255.0

auto eth0:1
allow-hotplug eth0:1
iface eth0:1 inet static
    address 192.168.1.44
    netmask 255.255.255.0

L'alias d'une interface ne devrait pas avoir de "gateway" ou "dns-nameservers"; l’assignation dynamique d'IP est acceptée.

La configuration ci-dessus est l'ancienne méthode traditionelle qui reflète l'utilisation traditionnelle de ifconfig pour configurer des dispositifs réseau. ifconfig a introduit le concept d' alias d'interface ou d'interface virtuelle. Ces types d'interfaces virtuelles sont nommés sous la forme interface:chiffre et ifconfig les traite d'une manière très proche de celles des interfaces réelles.

Aujourd'hui, ifupdown se sert de l'utilitaire ip que l'on trouve dans le paquet iproute2 à la place de celui qui est dans ifconfig. Ce nouvel utilitaire ip n'utilise pas le concept d'alias ou d'interfaces virtuelles. Néanmoins, il gère l'attribution de noms arbitraires aux interfaces (on les appelle étiquettes - labels). ifupdown utilise cette fonctionnalité pour gérer les interfaces désignées par un alias quand on utilise ip. ifupdown gère aussi la définition d'interfaces multiples en répétant les sections iface avec le même nom d'interface. La différence essentielle, par rapport à la méthode décrite plus haut, est que ces différentes sections sont traitées par ifupdown comme une seule interface, et donc l'utilisateur ne peut ni les ajouter ni les retirer une par une. Malgré tout, les commandes up et down, tout comme les scripts, sont appelés pour chaque section, comme avant.

Ce fichier /etc/network/interfaces attribue trois adresses IP à eth0.

auto eth0
allow-hotplug eth0
iface eth0 inet static
    address 192.168.1.42
    netmask 255.255.255.0
    gateway 192.168.1.1

iface eth0 inet static
    address 192.168.1.43
    netmask 255.255.255.0

iface eth0 inet static
    address 192.168.1.44
    netmask 255.255.255.0

# ajouter l'adresse IP de différents sous-réseaux est aussi possible
iface eth0 inet static
    address 10.10.10.14
    netmask 255.255.255.0

On peut trouver des informations supplémentaires dans la page http://www.shorewall.net/Shorewall_and_Aliased_Interfaces.html.


CategoryNetwork