20363
Comment: minor fixes
|
20362
dhcp now lies in /etc/dhcp/ (dhcp3 is a transitional package).
|
Deletions are marked like this. | Additions are marked like this. |
Line 140: | Line 140: |
Exemple : dhclient3 utilise {{{/etc/dhcp3/dhclient.conf}}} et la configuration voulue est la suivante : | Exemple : dhclient3 utilise {{{/etc/dhcp/dhclient.conf}}} et la configuration voulue est la suivante : |
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
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
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.168.0.7 netmask 255.255.255.0 gateway 192.168.0.254
Pour plus d'options, voir man interfaces.
Configurer la vitesse et le duplex
Sur certains réseaux, l'auto-négociation est impossible. Si vous devez configurer manuellement la vitesse et le mode duplex de votre interface, quelques essais seront sans doute nécessaires. Voici les étapes à suivre :
Installez les paquets ethtool et net-tools afin de disposer des programmes ethtool et mii-tool. L'un ou l'autre devrait marcher pour votre interface.
Assurez-vous d'avoir un moyen de vous connecter au système au cas où l'interface réseau deviendrait non-fonctionnelle. Une connexion ?ssh peut s'interrompre, vous devez avoir une solution de repli.
- Identifiez l'interface que vous voulez configurer (c'est souvent eth0). Modifier le reste des instructions en conséquence.
- Essayez de déterminer quels sont les paramètres de vitesse et de duplex habituels. C'est là que cela devient drôle :
En tant que super-utilisateur, essayez d'abord ethtool eth0 et regardez si les lignes "Speed :" et "Duplex :" ont l'air valides. En cas contraire, ethtool pourrait ne pas être supporté par votre périphérique.
En tant que super-utilisateur, essayez mii-tool -v eth0 et regardez si ses données de sortie semblent correctes. En cas contraire, mii-tool pourrait ne pas être supporté par votre périphérique.
Si aucun des deux n'est supporté, vous allez avoir à paramétrer directement le module du pilote du noyau. Identifiez quel module est utilisé en lisant les données de dmesg et de lsmod. Essayez modinfo MODULENAME pour voir quels paramètres sont valides, s'il y en a (vous pouvez utiliser modinfo même avec des modules qui ne sont pas chargés pour comparer.) ToDo : où configure-t-on les paramètres des modules du noyau ?
- Ensuite, essayez de changer les réglages de l'interface pendant qu'il fonctionne. Vous aurez bien sûr besoin d'être super-utilisateur. D'abord :
ethtool -s eth0 autoneg off speed 100 duplex full (en supposant que la vitesse est 100 Mbps et le mode full duplex)
mii-tool -F 100baseTx-FD eth0 (même hypothèse).
Si une de ces commandes réussit à configurer votre contrôleur d'interface réseau, enregistrez-la dans le fichier /etc/network/interfaces afin qu'elle fonctionne quand vous mettez en marche votre interface (par exemple au moment du démarrage de l'ordinateur). Néanmoins, avant de le faire, vous devez comprendre que tous les pilotes et périphériques ne se comportent pas tous de la même manière. Quand le module du pilote est chargé, le contrôleur d'interface réseau peut commencer une auto-négociation sans que l'on puisse l’arrêter (surtout les pilotes qui n'acceptent pas de paramètres). Les réglages enregistrés dans interfaces s'appliquent ensuite à un moment quelconque qui peut être juste au milieu de l'auto-négociation. Aussi, certains pensent qu'il est nécessaire de retarder de quelques secondes la commande ethtool ou mii-tool. Ainsi :
iface eth0 inet static address ... netmask ... gateway ... up sleep 5; ethtool -s eth0 ...
ou de manière analogue avec la commande mii-tool.
- Redémarrez l'ordinateur pour être sûr qu'il s'allume correctement et soyez prêt à intervenir manuellement (par exemple Ctrl-Alt-Del et puis redémarrez en mode mono-utilisateur avec GRUB ou LILO) si ça ne marche pas.
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
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-numerique (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 :
Le programme resolvconf
Le démon network-manager
- 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 ::
- Menu système → Préférences → Connexion réseau.
- Choisir une connexion dans l'onglet réseau filaire ou sans fil et cliquer Modifier.
- Dans l'onglet configuration IPv4, changez la Méthode en autre chose que “Automatique (DHCP)” . Par exemple, “Automatic (DHCP) addresses only” est probablement approprié.
- Entrez les serveurs de noms de domaine dans le champ “DNS servers”, séparés par des espaces.
- 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.0.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
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 www.niif.hu :) 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.
# the loopback interface auto lo iface lo inet loopback # 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. C'est ifconfig qui a introduit le concept dalias 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. L'utilitaire Cet exemple du fichier /etc/network/interfaces attribue trois adresses IP à eth0 et leur donne un nom. On peut trouver des informations supplémentaires dans la page http://www.shorewall.net/Shorewall_and_Aliased_Interfaces.html. auto eth0
allow-hotplug eth0
iface eth0 inet static
address 192.168.1.42
netmask 255.255.255.0
gateway 192.168.1.1
up ip addr add 192.168.1.43/24 dev eth0 label eth0:0
down ip addr del 192.168.1.43/24 dev eth0 label eth0:0
up ip addr add 192.168.1.44/24 dev eth0 label eth0:1
down ip addr del 192.168.1.44/24 dev eth0 label eth0:1