Les fichiers de configuration d'interfaces contrôlent le fonctionnement des interfaces logicielles associées aux périphériques réseau individuels. Lorsque votre système Red Hat Linux démarre, il utilise ces fichiers pour savoir quelles interfaces il doit afficher automatiquement et comment les configurer. Ces fichiers sont en général nommés ifcfg-<name>, où <name> fait référence au nom du périphérique contrôlé par le fichier de configuration.
Le fichier ifcfg-eth0 représente l'un des fichiers d'interfaces les plus courants ; il contrôle la première carte d'interface réseau Ethernet ou NIC (de l'anglais Network Interface Card) du système. Dans un système comportant plusieurs cartes, il y a plusieurs fichiers ifcfg-eth<X> (où <X> correspond à un numéro unique associé à une interface spécifique). Étant donné que chaque périphérique a son propre fichier de configuration, un administrateur peut contrôler le fonctionnement individuel de chaque interface.
Ci-dessous figure un exemple de fichier ifcfg-eth0 pour un système utilisant une adresse IP fixe :
DEVICE=eth0 BOOTPROTO=none ONBOOT=yes NETWORK=10.0.1.0 NETMASK=255.255.255.0 IPADDR=10.0.1.27 USERCTL=no |
Les valeurs requises dans un fichier de configuration d'interfaces peuvent changer en fonction d'autres valeurs. Par exemple, le fichier ifcfg-eth0 pour une interface utilisant DHCP est légèrement différent, car les informations IP sont fournies par le serveur DHCP :
DEVICE=eth0 BOOTPROTO=dhcp ONBOOT=yes |
L'Outil d'administration réseau (system-config-network) permet de modifier facilement les différents fichiers de configuration des interfaces réseau (reportez-vous au chapitre intitulé Configuration réseau du Guide d'administration système de Red Hat Enterprise Linux pour obtenir des instructions détaillées sur l'utilisation de cet outil).
Cependant, vous pouvez également modifier manuellement les fichiers de configuration pour une interface réseau donnée.
Vous trouverez ci-dessous une liste de paramètres pouvant être configurés dans un fichier de configuration d'interface Ethernet :
BOOTPROTO=<protocol>, où <protocol> correspond à l'une des valeurs suivantes :
none — Indique qu'aucun protocole de démarrage ne devrait être utilisé.
bootp — Indique que le protocole BOOTP devrait être utilisé.
dhcp — Indique que le protocole DHCP devrait être utilisé.
BROADCAST=<address>, où <address> correspond à l'adresse de diffusion. Cette directive a été abandonnée car la valeur est calculée automatiquement avec ifcalc.
DEVICE=<name>, où <name> correspond au nom du périphérique physique (à l'exception des périphériques PPP à affectation dynamique où il s'agit du nom logique).
DHCP_HOSTNAME — N'utilisez cette option que si le serveur DHCP a besoin du client pour spécifier un nom d'hôte avant de recevoir une adresse IP. (Avec Red Hat Enterprise Linux, le démon serveur DHCP ne prend pas en charge cette fonctionnalité.)
DNS{1,2}=<address>, où <address> correspond à l'adresse d'un serveur devant être placée dans /etc/resolv.conf si la directive PEERDNS est réglée sur la valeur yes.
ETHTOOL_OPTS=<options>, où <options> correspond à toutes les options spécifiques au périphériques qui sont prises en charge par ethtool. Par exemple, si vous souhaitiez forcer 100 Mo en transmission bidirectionnelle simultanée(ou full-duplex), vous choisiriez les paramètres suivants :
ETHTOOL_OPTS="autoneg off speed 100 duplex full" |
Notez bien que la modification des paramètres de vitesse ou duplex nécessite presque toujours la désactivation de l'auto-négotiation à l'aide de l'option autoneg off. Ce point doit être mentionné en premier car les entrées d'options sont tributaires de l'ordre dans lequel elles apparaissent.
GATEWAY=<address>, où <address> correspond à l'adresse IP du routeur réseau ou du périphérique de passerelle (s'il existe).
HWADDR=<MAC-address>, où <MAC-address> correspond à l'adresse matérielle du périphérique Ethernet sous la forme AA:BB:CC:DD:EE:FF. Cette directive est utile pour les machines possédant de multiples NIC pour s'assurer que les interfaces sont assignées aux bons noms de périphériques indépendamment de l'ordre de chargement configuré pour chaque module de NIC. Cette directive ne devrait pas être utilisée avec MACADDR.
IPADDR=<address>, où <address> correspond à l'adresse IP.
MACADDR=<MAC-address>, où <MAC-address> correspond à l'adresse matérielle du périphérique Ethernet sous la forme AA:BB:CC:DD:EE:FF. Cette directive est utilisée pour assigner une adresse MAC à une interface, écrasant celle assignée par le NIC physique. Cette directive ne devrait pas être utilisée avec HWADDR.
MASTER=<bond-interface>, où <bond-interface> correspond à l'interface de liaison de canaux à laquelle l'interface Ethernet est liée.
Cette directive est utilisée en conjonction avec la directive SLAVE.
Reportez-vous à la Section 8.2.3 pour obtenir davantage d'informations sur les interfaces de liaison de canaux.
NETMASK=<mask>, où <mask> correspond à la valeur du masque réseau.
NETWORK=<address>, où <address> correspond à l'adresse du réseau. Cette directive a été abandonnée car la valeur est calculée automatiquement avec ifcalc.
ONBOOT=<answer>, où <answer> correspond à l'une des valeurs suivantes :
yes — Indique que ce périphérique devrait être activé au démarrage.
no — Indique que ce périphérique ne devrait pas être activé au démarrage.
PEERDNS=<answer>, où <answer> correspond à l'une des valeurs suivantes :
yes — Modifier /etc/resolv.conf si la directive DNS est paramétrée. Si DHCP est utilisé, yes est alors la valeur par défaut.
no — Ne pas modifier /etc/resolv.conf.
SLAVE=<bond-interface>,où <bond-interface> correspond à l'une des valeurs suivantes :
yes — Ce périphérique est contrôlé par l'interface de liaison de canaux spécifiée dans la directive MASTER.
no — Ce périphérique n'est pas contrôlé par l'interface de liaison de canaux spécifiée dans la directive MASTER.
Cette directive est utilisée en conjonction avec la directive MASTER.
Reportez-vous à la Section 8.2.3 pour obtenir de plus amples informations sur les interfaces de liaison de canaux.
SRCADDR=<address>, où <address> correspond à l'adresse IP source spécifiée pour les paquets sortants.
USERCTL=<answer>, où <answer> correspondant à l'une des valeurs suivantes :
yes — Les utilisateurs autres que le super-utilisateur sont autorisés à contrôler ce périphérique.
no — Les utilisateurs autres que le super-utilisateur ne sont pas autorisés à contrôler ce périphérique.
Avec Red Hat Enterprise Linux il est possible de se connecter à d'autres hôtes ou réseaux à l'aide d'une connexion IP sécurisée appelée IPsec. Pour obtenir des instructions sur la configuration d'IPsec à l'aide de l'Outil d'administration réseau (system-config-network) reportez-vous au chapitre intitulé Configuration réseau du Guide d'administration système de Red Hat Enterprise Linux. Pour obtenir des informations sur la configuration manuelle d'IPsec, consultez le chapitre intitulé Réseaux virtuels privés du Guide de sécurité de Red Hat Enterprise Linux.
L'extrait suivant correspond au fichier ifcfg d'une connexion IPsec de réseau à réseau pour le LAN A. Le nom unique permettant d'identifier la connexion de notre exemple est ipsec1, d'où le nom /etc/sysconfig/network-scripts/ifcfg-ipsec1 donné au fichier qui lui correspond.
TYPE=IPsec ONBOOT=yes IKE_METHOD=PSK SRCNET=192.168.1.0/24 DSTNET=192.168.2.0/24 DST=X.X.X.X |
Dans cet exemple, la valeur X.X.X.X correspond à l'adresse IP routable sur un réseau public du routeur IPsec de destination.
Ci-dessous figure une liste des paramètres configurables peuvant s'appliquer à une interface IPsec :
DST=<address>, où <address> représente l'adresse IP de l'hôte ou du routeur IPsec de destination. Ce paramètre est utilisé aussi bien pour des connexions IPsec d'hôte à hôte que pour des connexions IPsec de réseau à réseau.
DSTNET=<network>, où <network> représente l'adresse réseau du réseau IPsec de destination. Ce paramètre est seulement utilisé pour des configurations IPsec de réseau à réseau.
SRC=<address>, où <address> représente l'adresse IP de l'hôte ou du routeur IPsec source. Ce paramètre, disponible en tant qu'option, est seulement utilisé pour des connexions IPsec d'hôte à hôte.
SRCNET=<network>, où <network> représente l'adresse réseau du réseau Ipsec source. Ce paramètre est seulement utilisé pour des configurations Ipsec de réseau à réseau.
TYPE=<interface-type>, où <interface-type> a la valeur IPSEC. Les deux applications font partie du paquetage ipsec-tools.
Reportez-vous au fichier /usr/share/doc/initscripts-<version-number>/sysconfig.txt (remplacez <version-number> par le numéro de version du paquetage initscripts installé) pour obtenir des informations sur les paramètres de configuration, si vous utilisez des clés manuelles de cryptage avec Ipsec.
Le démon de gestion des clés IKEv1 baptisé racoon négocie et configure un ensemble de paramètres pour IPSec. Il peut utiliser des clés pré-partagées, des signatures RSA ou GSS-API. Si racoon est utilisé pour gérer automatiquement le cryptage des clés, les options suivantes sont alors requises :
IKE_METHOD=<encryption-method>, où <encryption-method> représente PSK, X509 ou GSSAPI. Si la valeur PSK est spécifiée, le paramètre IKE_PSK doit lui aussi être défini. Si la valeur X509 est mentionnée, le paramètre IKE_CERTFILE doit lui aussi être défini.
IKE_PSK=<shared-key>, où <shared-key> correspond à la valeur secrète et partagée de la méthode PSK (de l'anglais preshared keys).
IKE_CERTFILE=<cert-file> où <cert-file> correspond à un fichier de certificats X.509 valide pour l'hôte.
IKE_PEER_CERTFILE=<cert-file> où <cert-file> correspond à un fichier de certificats X.509 valide pour l'hôte distant.
IKE_DNSSEC=<answer> où <answer> correspond à yes. Le démon racoon extrait le certificat X.509 de l'hôte distant via DNS. Si un paramètre IKE_PEER_CERTFILE est défini, n'incluez pas le paramètre ci-dessus.
Pour obtenir de plus amples informations sur les algorithmes de cryptage disponibles pour IPsec, consultez la page de manuel de setkey. Pour davantage d'informations sur racoon, reportez-vous aux pages de manuel de racoon et racoon.conf.
Red Hat Enterprise Linux permet aux administrateurs de lier ensemble plusieurs interfaces réseau pour ne former qu'un seul canal à l'aide du module de noyau bonding et d'une interface de réseau spéciale appelée interface de liaison de canaux. La liaison de canaux permet à plusieurs interfaces réseau d'agir comme une seule interface, augmentant simultanément la largeur de bande et offrant alors une certaine redondance.
Pour créer une interface de liaison de canaux, créez un fichier dans le répertoire /etc/sysconfig/network-scripts/ nommé ifcfg-bond<N>, en remplaçant <N> par le numéro de l'interface, comme par exemple 0.
Le contenu du fichier peut être identique à tout type d'interface qui sera lié, comme par exemple une interface Ethernet. La seule différence repose sur le fait que la directive DEVICE= doit correspondre à bond<N>, où <N> représente le numéro de l'interface.
Ci-dessous figure un exemple de fichier de configuration de liaison de canaux :
DEVICE=bond0 BOOTPROTO=none ONBOOT=yes NETWORK=10.0.1.0 NETMASK=255.255.255.0 IPADDR=10.0.1.27 USERCTL=no |
Une fois l'interface de liaison de canaux créée, les interfaces réseau à lier ensemble doivent être configurées en ajoutant les directives MASTER= et SLAVE= dans leurs fichiers de configuration. Les fichiers de configuration pour chaque interface de liaison de canaux peuvent être pratiquement identiques.
Par exemple, dans le cas de deux interfaces Ethernet de liaison de canaux, eth0 et eth1 peuvent ressembler à l'extrait suivant :
DEVICE=eth<N> BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes USERCTL=no |
Dans cet exemple, remplacez <N> par la valeur numérique de l'interface.
Pour qu'une interface de liaison de canaux soit valide, le module de noyau doit être chargé. Pour s'assurer que le module est bien chargé lorsque l'interface de liaison de canaux est activée, ajoutez la ligne suivante dans /etc/modules.conf :
alias bond<N> bonding |
Remplacez <N> par le numéro de l'interface, comme par exemple 0. Pour chaque interface de liaison de canaux, une entrée correspondante doit se trouver dans /etc/modules.conf.
Une fois que /etc/modules.conf est configuré et que l'interface de liaison de canaux et les interfaces réseau sont elles aussi configurées, la commande ifup peut être utilisée pour activer l'interface de liaison de canaux.
![]() | Important |
---|---|
Les aspects importants de l'interface de liaison de canaux sont contrôlés par le module de noyau. Pour davantage d'informations sur le contrôle des modules bonding, reportez-vous à la Section A.3.2. |
Il existe deux types de fichiers de configuration d'interfaces d'une utilisation moins courante : les fichiers alias et clone.
Les fichiers de configuration d'interface alias qui sont utilisés principalement pour lier plusieurs adresses à une seule interface, suivent le principe de nommage ifcfg-<if-name>:<alias-value>.
Par exemple, un fichier ifcfg-eth0:0 peut être configuré pour spécifier DEVICE=eth0:0 et une adresse IP statique de 10.0.0.2, servant donc d'alias pour une interface Ethernet déjà configurée pour recevoir ses informations IP via DHCP dans ifcfg-eth0. Avec une telle configuration, le périphérique eth0 est lié à une adresse IP dynamique, mais la même carte réseau physique peut recevoir des requêtes via l'adresse IP fixe 10.0.0.2.
![]() | Attention |
---|---|
Les interfaces alias ne prennent pas en charge DHCP. |
Le nom d'un fichier de configuration d'interface clone doit suivre le format suivant : ifcfg-<if-name>-<clone-name>. Alors qu'un fichier alias autorise plusieurs adresses pour une interface existante, un fichier clone lui permet de spécifier des options complémentaires pour une interface. Par exemple, le fichier d'une interface Ethernet DHCP standard appelée eth0, pourrait ressembler à l'extrait ci-dessous :
DEVICE=eth0 ONBOOT=yes BOOTPROTO=dhcp |
Puisque la valeur par défaut de la directive USERCTL est no si aucune valeur n'est spécifiée, les utilisateurs ne peuvent pas activer ou désactiver cette interface. Pour permettre aux utilisateurs de le faire, créez un clone en copiant ifcfg-eth0 dans ifcfg-eth0-user, puis ajoutez la ligne suivante dans ifcfg-eth0-user :
USERCTL=yes |
De cette manière, un utilisateur peut activer l'interface eth0 avec la commande /sbin/ifup eth0-user puique les options de configuration de ifcfg-eth0 sont combinées à celles de ifcfg-eth0-user. Bien qu'il s'agisse ici d'un exemple élémentaire, cette méthode peut être utilisée avec des options et interfaces diverses.
La méthode la plus simple pour créer des fichiers de configuration d'interface alias et clone consiste à utiliser l'Outil d'administration réseau graphique. Pour en savoir plus sur l'utilisation de cet outil, reportez-vous au chapitre intitulé Configuration réseau du Guide d'administration système de Red Hat Enterprise Linux.
Si vous vous connectez à un réseau comme l'Internet par l'intermédiaire d'une connexion commutée PPP, il vous faut un fichier de configuration pour cette interface.
Le nom des fichiers d'interface PPP est attribué selon le format suivant : ifcfg-ppp<X> (où <X> représente un numéro unique correspondant à une interface spécifique).
Le fichier de configuration d'interface PPP est créé automatiquement lorsque vous utilisez wvdial, l'Outil d'administration réseau ou alors, Kppp est utilisé pour créer un compte de connexion par modem. Vous pouvez également créer et éditer ce fichier manuellement.
Un fichier ifcfg-ppp0 typique ressemble à l'extrait ci-dessous :
DEVICE=ppp0 NAME=test WVDIALSECT=test MODEMPORT=/dev/modem LINESPEED=115200 PAPNAME=test USERCTL=true ONBOOT=no PERSIST=no DEFROUTE=yes PEERDNS=yes DEMAND=no IDLETIMEOUT=600 |
Le protocole Internet ligne série (SLIP) (de l'anglais Serial Line Internet Protocol) constitue une autre interface de connexion commutée, même s'il est moins fréquemment utilisé. Les fichiers SLIP ont des noms de fichiers de configuration d'interface de type ifcfg-sl0.
Parmi les options dont nous n'avons pas encore parlé, et qui peuvent être utilisées dans ces fichiers, figurent :
DEFROUTE=<answer>, où <answer> correspond à l'une des valeurs suivantes :
yes — Indique que cette interface doit être configurée comme itinéraire par défaut.
no — Indique que cette interface ne doit pas être configurée comme itinéraire par défaut.
DEMAND=<answer>, où <answer> correspond à l'une des valeurs suivantes :
yes — Indique que cette interface permettra à pppd d'initialiser une connexion lorsque quelqu'un essaiera de l'utiliser.
no — Indique qu'une connexion doit être établie manuellement pour cette interface.
IDLETIMEOUT=<value>, où <value> correspond au nombre de secondes d'inactivité engendrant la déconnexion automatique de l'interface.
INITSTRING=<string>, où <string> correspond à la chaîne d'initialisation transférée au modem. Cette option est principalement utilisée avec les interfaces SLIP.
LINESPEED=<value>, où <value> correspond à la vitesse de transmission (en bauds) du périphérique. Parmi les valeurs standard possibles figurent 57600, 38400, 19200 et 9600.
MODEMPORT=<device>, où <device> correspond au nom du périphérique série utilisé pour établir la connexion pour l'interface.
MTU=<value>, où <value> correspond au paramètre unité de transfert maximum (MTU) (de l'anglais Maximum Transfer Unit) pour l'interface. La valeur de MTU correspond au nombre maximal d'octets de données qu'un cadre peut comporter, sans compter les informations d'en-tête. Dans certaines situations de connexion par modem, le réglage de ce paramètre sur la valeur 576 entraîne une réduction du nombre de paquets éliminés abandonnés et une légère augmentation du débit de connexion.
NAME=<nom>, où <nom> correspond à la référence au nom donné à un ensemble de configurations de connexions commutées.
PAPNAME=<name>, où <name> correspond au nom d'utilisateur donné lors de l'échange d'informations avec le protocole d'authentification du mot de passe (PAP) (de l'anglais, Password Authentication Protocol) afin de permettre la connexion à un système distant.
PERSIST=<answer>, où <answer> correspond à l'une des valeurs suivantes :
yes — Spécifie que cette interface doit rester active en permanence, même si elle est désactivée lorsqu'un modem raccroche.
no — Spécifie que cette interface ne doit pas rester active en permanence.
REMIP=<address>, où <address> correspond à l'adresse IP du système distant. Cette valeur n'est généralement pas spécifiée.
WVDIALSECT=<name>, où <name> associe cette interface à une configuration de composeur dans /etc/wvdial.conf. Ce fichier contient le numéro de téléphone à composer et d'autres informations importantes pour l'interface.
Parmi d'autres fichiers de configuration d'interfaces courants figurent :
ifcfg-lo — Une interface de bouclage locale (loopback) est souvent utilisée pour effectuer des tests et pour une utilisation dans un certain nombre d'applications qui nécessitent une adresse IP référant au même système. Toutes les données envoyées au périphérique de bouclage sont immédiatement renvoyées vers la couche réseau de l'hôte.
![]() | Avertissement |
---|---|
Ne modifier jamais manuellement le script de l'interface de bouclage, /etc/sysconfig/network-scripts/ifcfg-lo. Des modifications pourraient provoquer un mauvais fonctionnement du système. |
ifcfg-irlan0 — Une interface infrarouge permet à des informations de circuler entre des périphériques tels qu'un ordinateur portable et une imprimante, par l'intermédiaire d'un lien infrarouge fonctionnant de la même façon qu'un périphérique Ethernet, sauf qu'il est généralement utilisé dans une connexion de poste à poste.
ifcfg-plip0 — Une connexion PLIP (Parallel Line Interface Protocol) fonctionne de la même façon qu'un périphérique Ethernet, sauf qu'elle utilise un port parallèle.
ifcfg-tr0 — Les topologies en anneau à jeton (ou Token Ring) ne sont pas aussi courantes sur les Réseaux locaux (ou LAN de l'anglais Local Area Networks) qu'elles ne l'étaient autrefois ; elles ont été supplantées par Ethernet.
Précédent | Sommaire | Suivant |
Interfaces réseau | Niveau supérieur | Scripts de contrôle d'interfaces |