Translation(s): English - Español - Français - Italiano - Português (Brasil) - 简体中文
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). |
Contents
- 3 façons pour configurer le réseau
-
Configurer une interface Ethernet
- Démarrer et stopper des interfaces
- Réinitialiser une nouvelle configuration de réseau
- Noms d'interface réseau
- Utiliser DHCP pour configurer automatiquement une interface réseau
- Configurer une interface réseau manuellement
- Configurer la vitesse et le duplex
- Activer une interface réseau sans adresse IP
- Définir les serveurs de noms de domaine (DNS)
- Relais
- Comment utiliser un réseau local virtuel - vlan (dot1q, 802.1q, trunk) avec Etch et Lenny
- Comment créer une connexion tolérante aux pannes avec un vlan (dans Etch jusqu'à Stretch)
- Adresses IP multiples pour une interface
3 façons pour configurer le réseau
- Le fichier de configuration des interfaces à cet emplacement /etc/network/interfaces (cette page) : pour des configurations de base ou simples (par exemple un station de travail)
NetworkManager : C'est la façon par défaut pour la configuration d'un ordinateur portable
Systemd : Chapitre 5 du Guide de référence Debian
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.
Démarrer et stopper des interfaces
Les interfaces configurées avec /etc/network/interfaces peuvent être activées et désactivées avec les commandes ifup et ifdown.
Quelques guides surannés enseignent de redémarrer le service réseau pour appliquer les changements à /etc/network/interfaces. Cependant, cela est en effet obsolète car il est possible que toutes les interfaces ne soient pas redémarrées. Utilisez plutôt ifup et ifdown pour appliquer les changements pour chaque interface. Par exemple, avec une interface nommée enp7s0 :
# ifdown enp7s0 # ifup enp7s0
Réinitialiser une nouvelle configuration de réseau
Si vous faites des modifications de réseau plus profondes, par exemple en ajoutant de nouvelles interfaces virtuelles (par exemple un pont) dans /etc/network/interfaces, vous pouvez réinitialiser la configuration du réseau en redémarrant le démon networking :
# systemctl status networking # systemctl restart networking
Noms d'interface réseau
Voir NetworkInterfaceNames. Depuis Stretch, les nouveaux systèmes n'utilisent par défaut désormais plus les anciens noms d'interface tels que eth0, eth1, wlan0, wlan1. Le nouveau système utilise des noms basés sur les emplacements du matériel tels que no0, enp0s31f6, wlp1s7 (ou dans le cas des dongles USB, l'adresse MAC : enx2c56ac39ec0d).
Vous pouvez lister les interfaces avec : ls /sys/class/net.
Divers exemples plus bas continuent d'utiliser « eth0 » comme nom d'interface par défaut, même s'il est peu probable que cela existe sur un système moderne.
Mise à niveau et noms d'interface réseau
Stretch et Buster conservent toujours une prise en charge pour l'ancien système de nommage tant que le fichier /etc/udev/rules.d/70-local-persistent-net.rules est encore en place, mais il est conseillé aux utilisateurs de basculer vers le nouveau le système de nommage avec Bullseye.
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
Voir aussi IPv6PrefixDelegation.
Configurer 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/24 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/64 gateway 2001:db8::1ead:ed:beef
Pour plus d'options, voir man interfaces.
Assurez-vous de désactiver tous les services DHCP, par exemple dhcpcd.
Mixer la configuration manuelle et automatique est également possible, par exemple, utiliser IPv6 SLAAC pour la connectivité internet et des adresses statiques à l'intérieur du réseau :
# manual unique local address iface eth0 inet6 static address fdc3:cafe::3/64 # use SLAAC to get global IPv6 address from the router # we may not enable ipv6 forwarding, otherwise SLAAC gets disabled autoconf 1 accept_ra 2
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 :
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 Mbit/s 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 .../... 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
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 :
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
Configuration de serveurs DNS supplémentaires
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.
Configuration de domaines de recherche supplémentaires
Ajout de domaines de recherche pour les VPN ou les réseaux virtuels locaux :
append domain-name " virt vpn";
Notez l'espace qui précède puisque la chaine est littéralement ajoutée au domaine de recherche fourni par d'autres configurations.
Relais
Un relais permet de mettre plusieurs interfaces dans le même segment de réseau. C'est très répandu pour connecter un serveur à de nombreux switch pour une haute disponibilité ou pour de la virtualisation. Dans ce dernier cas, on a l'habitude de créer un relais sur l'hôte (par exemple dom0) et de mettre les interfaces virtuelles des invités (domU) dans le relais.
Le paquet bridge-utils est requis pour créer des interfaces relais.
Exemple : Connexion d'un serveur à 2 switch (via eth0 et eth1) en définissant un relais 0 et attribution au serveur d'une adresse IP dans ce sous réseau :
auto br0 iface br0 inet static address 10.10.0.15/24 gateway 10.10.0.1 bridge_ports eth0 eth1 up /usr/sbin/brctl stp br0 on
Si un serveur est connecté à plusieurs switch, on a besoin habituellement d'utiliser l'algorithme de l'arbre recouvrant (« spanning tree protocol » - STP) pour éviter les boucles. Donc le STP doit être activé avec une commande « up » comme ci-dessus.
Exemple : Installation d'un relais sans configuration d'adresse IP (utilisez « manual » à la place de « static ») pour « faire suivre » une interface à un invité VM. (La configuration d'un relais statique ne contient qu'une interface physique. L'interface virtuelle sera ajouté au relais au démarrage de la VM.)
auto br1 iface br1 inet manual bridge_ports eth4 up /usr/sbin/brctl setageing br1 0 up /usr/sbin/brctl stp br1 off
Attention : Les relais Linux ne gèrent que le STP, et non le RSTP (Rapid Spanning Tree). Donc, ils ne gèrent que les anciens coûts du STP, et pas les nouveaux coûts du RSTP (voir Spanning_Tree_Protocol). Cela marche bien avec les switch Cisco, mais les switch Juniper, par exemple, utilisent les coûts RSTP, et donc cela peut entraîner des calculs d'arbre différents et des problèmes de boucle. Cela peut être corrigé en fixant les coûts soi-même, soit sur le switch soit sur le serveur. Il est préférable de configurer les coûts sur les switch parce que Linux revient aux coûts par défaut chaque fois qu'une interface est redémarrée
Relais sans switch
Par défaut un relais Linux se comporte comme un switch. Cela veut dire qu'il retient les adresses MAC derrière un port de switch et si l'adresse MAC de destination est connue, les paquets de données sont seulement acheminés aux ports correspondants - sinon les paquets sont diffusés à tous les ports.
Dans certaines configurations, cela ne marche pas. Par exemple, si le relais connecte 2 interfaces de tronc, les mêmes adresses MAC peuvent être vues par les deux interfaces, selon le réseau. Comme un relais Linux ne gère pas les VLAN (table d'adresses MAC dédiées pour chaque VLAN), avec de tels configurations, vous devez désactiver la mémorisation des adresses MAC et configurer le relais dans un mode de « relais » réel avec la commande :
up /sbin/brctl setageing br0 0 up /sbin/brctl stp br0 off
Comment utiliser un réseau local virtuel - vlan (dot1q, 802.1q, trunk) avec Etch et Lenny
Configuration manuelle
modprobe 8021q apt install vlan vconfig add eth0 222 # 222 est le numéro du vlan ifconfig eth0.222 up ifconfig eth0.222 mtu 1496 #optionnel si votre carte réseau ne gère pas le MTU 1504B ifconfig eth0.222 10.10.10.1 netmask 255.255.255.0
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é.
Note : Si vous nommez votre interface VLAN ethX.YYY, il n'y a pas besoin de spécifier le vlan-raw-device, parce que le nom brut du périphérique peut être trouvé à partir du nom de l'interface.
Par exemple :
auto eth0.222 iface eth0.222 inet static address 10.10.10.1/24 vlan-raw-device eth0
Relais et VLAN
Si vous créez des interfaces VLAN seulement pour les mettre dans un relais, il n'est pas nécessaire de définir les interfaces VLAN soi-même. Il suffit de configurer le relais et l'interface VLAN sera créé automatiquement lors de la création du relais, par exemple :
auto br1 iface br1 inet manual bridge_ports eth0.99 eth1.99 up /usr/sbin/brctl stp br1 on
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/24 iface eth0.110 inet manual vlan-raw-device eth0 iface bri0 inet static address 192.168.110.1/24 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).
Comment créer une connexion tolérante aux pannes avec un vlan (dans Etch jusqu'à Stretch)
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
Configuration 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/24 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/24 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/24 network 10.30.0.0 broadcast 10.30.255.255 vlan-raw-device bond0
Dans Debian Buster, vous devez utiliser les noms d'interface pour les VLAN sous la forme : bond0.10, bond0.20, and bond0.30 au lieu de vlan10, vlan20, vlan30
https://www.kernel.org/doc/Documentation/networking/bonding.txt - Documentation du noyau Linux sur le bonding
https://www.dm.unibo.it/~donatini/admin/rete/bonding.html - Le bonding sur Linux 2.6
Comment configurer la valeur de MTU (Max Transfer unit / taille de paquet) avec un VLAN sur une interface avec bonding
Le MTU doit être configuré sur l'interface de bonding et les interfaces esclaves après que la remise à zéro de la configuration ait été appliquée aux interfaces de bonding. Ceci s'effectue dans la configuration de l'interface de bonding.
auto bond0 iface bond0 inet manual up ifconfig lacptrunk0 0.0.0.0 up slaves eth0 eth1 # bond-mode 4 = 802.3ad bond-mode 4 bond-miimon 100 bond-downdelay 200 bond-updelay 200 bond-lacp-rate 1 bond-xmit-hash-policy layer2+3 post-up ifconfig eth0 mtu 9000 && ifconfig eth1 mtu 9000 && ifconfig bond0 mtu 9000 #vlan devices will use the MTU set on bond0 device auto vlan101 iface vlan101 inet static address 10.101.60.123/24 gateway 10.155.60.1 vlan-raw-device bond0 auto vlan151 iface vlan151 inet static address 192.168.1.1/24 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.
Ancienne méthode
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/24 gateway 192.168.1.1 auto eth0:0 allow-hotplug eth0:0 iface eth0:0 inet static address 192.168.1.43/24 auto eth0:1 allow-hotplug eth0:1 iface eth0:1 inet static address 192.168.1.44/24
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.
Méthode iproute2
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.
Attention toutefois, cette méthode est dangereuse ! Certaines combinaisons de pilote et de matériel peuvent parfois faire échouer la connexion si aucune étiquette n'a été affectée aux interfaces alias. (Comportement observé avec Debian Wheezy et Jessie un contrôleur RTL8111/8168/8411 PCI Express Gigabit Ethernet (rev 01) et une auto-négociation de 10/full. Un avertissement similaire d'un autre utilisateur existe dans l'historique de cette page.)
Ce fichier /etc/network/interfaces attribue trois adresses IP à eth0.
auto eth0 allow-hotplug eth0 iface eth0 inet static address 192.168.1.42/24 gateway 192.168.1.1 iface eth0 inet static address 192.168.1.43/24 iface eth0 inet static address 192.168.1.44/24 # ajouter l'adresse IP de différents sous-réseaux est aussi possible iface eth0 inet static address 10.10.10.14/24
Approche manuelle :
auto eth0 allow-hotplug eth0 iface eth0 inet static address 192.168.1.42/24 gateway 192.168.1.1 up ip addr add 192.168.1.43/24 dev $IFACE label $IFACE:0 down ip addr del 192.168.1.43/24 dev $IFACE label $IFACE:0 up ip addr add 192.168.1.44/24 dev $IFACE label $IFACE:1 down ip addr del 192.168.1.44/24 dev $IFACE label $IFACE:1 up ip addr add 10.10.10.14/24 dev $IFACE label $IFACE:2 down ip addr del 10.10.10.14/24 dev $IFACE label $IFACE:2
CategoryNetwork CategorySystemAdministration CategoryNetwork