La configuration manuelle des logiciels réseau doit toujours être la dernière alternative. Il est recommandé d'utiliser YaST. Toutefois, ces informations générales sur la configuration réseau peuvent également vous aider à utiliser YaST.
Toutes les cartes réseau intégrées et les cartes réseau à chaud (PCMCIA, USB, certaines cartes PCI) sont détectées et configurées via la fonctionnalité d'enfichage à chaud. Le système considère la carte réseau de deux manières : tout d'abord comme un périphérique physique et en second lieu, comme une interface. L'insertion ou la détection d'un périphérique déclenche un événement d'enfichage à chaud. Cet événement déclenche l'initialisation du périphérique avec le script hwup. Lorsque la carte réseau est initialisée en tant que nouvelle interface réseau, le kernel génère un autre événement d'enfichage à chaud qui déclenche la configuration de l'interface avec ifup.
Le kernel numérote les noms d'interface en fonction de leur date d'enregistrement. L'ordre d'initialisation est déterminant pour l'attribution des noms. Si l'une des cartes réseau est défaillante, la numérotation de toutes les cartes initialisées par la suite est modifiée. Pour les cartes réellement enfichables à chaud, il faut tenir compte de l'ordre de connexion des périphériques.
Pour obtenir une configuration flexible, la configuration des périphériques (matériel) et des interfaces a été séparée, et l'association des configurations à leurs périphériques et interfaces ne dépend plus du nom des interfaces. La configuration des périphériques est située dans /etc/sysconfig/hardware/hwcfg-*. La configuration des interfaces se trouve dans /etc/sysconfig/network/ifcfg-*. Le nom des fichiers de configuration est attribué de façon à décrire leurs périphériques et interfaces respectifs. L'association précédente entre pilotes et noms d'interface nécessitait des noms d'interface statiques. Cette association ne peut donc plus avoir lieu dans /etc/modprobe.conf. Avec le nouveau concept, des déclarations d'alias dans ce fichier provoqueraient des effets secondaires indésirables.
Les noms des configurations (tout ce qui suit hwcfg- ou ifcfg-) peuvent décrire les périphériques à l'aide du connecteur, d'un identifiant propre au périphérique ou du nom de l'interface. Par exemple, le nom de configuration d'une carte PCI pourrait être bus-pci-0000:02:01.0 (connecteur PCI) ou vpid-0x8086-0x1014-0x0549 (ID fabricant et ID produit). Le nom de l'interface associée pourrait être bus-pci-0000:02:01.0 ou wlan-id-00:05:4e:42:31:7a (adresse MAC).
Pour assigner une configuration réseau à une carte d'un type donné (dont une seule peut être insérée à la fois) plutôt qu'à une carte donnée, sélectionnez des noms de configuration moins spécifiques. Par exemple, bus-pcmcia peut être utilisé pour toutes les cartes PCMCIA. D'autre part, les noms peuvent être limités par l'utilisation du type d'interface. Par exemple, wlan-bus-usb pourrait désigner les cartes WLAN connectées à un port USB.
Le système utilise toujours la configuration qui décrit le mieux une interface ou le périphérique qui fournit l'interface. La commande getcfg permet de rechercher la meilleure configuration possible. Le résultat de getcfg fournit toutes les informations utiles pour décrire un périphérique. Les détails sur les noms de configuration sont disponibles à la page du manuel qui porte sur getcfg.
La méthode décrite permet de configurer correctement une interface réseau même si les périphériques réseau ne sont pas toujours initialisés dans le même ordre. Toutefois, le nom de l'interface dépend toujours de l'ordre d'initialisation. Il existe deux manière de garantir un accès fiable à l'interface d'une carte réseau donnée :
getcfg-interface
retourne le nom de l'interface réseau associée. Par conséquent, le nom de configuration, tel que pare-feu, dhcpd, routage ou différentes interfaces réseau virtuelles (tunnels), peut être saisi dans certains fichiers de configuration à la place du nom d'interface, qui n'est pas persistant.
nom de la configuration
Vous pouvez assigner des noms d'interface persistants à toutes les interfaces dont les fichiers de configuration n'incluent pas de nom d'interface. Pour cela, utilisez les déclarations PERSISTENT_NAME= dans un fichier de configuration d'interface (pname
ifcfg-*). Toutefois, le nom persistant pname ne doit pas être identique au nom automatiquement attribué par le kernel. Par conséquent, eth*, tr*, wlan*, etc., ne sont pas autorisés. Utilisez plutôt net* ou des noms descriptifs comme externe, interne ou dmz. Vous ne pouvez assigner un nom persistant à une interface qu'immédiatement après son enregistrement, ce qui impose de recharger le pilote de la carte réseau ou d'exécuter hwup
. La commande rcnetwork description du périphérique
restart
ne suffit pas pour remplir cette fonction.
![]() | Utilisation de noms d'interface persistants |
|---|---|
L'utilisation de noms d'interface persistants n'a pas été testée dans tous les domaines. Par conséquent, certaines applications risquent de ne pas être en mesure de gérer les noms d'interface librement choisis. | |
La commande ifup exige une interface existante puisqu'elle n'initialise pas le matériel. La commande hwup (exécutée par hotplug ou coldplug) gère l'initialisation du matériel. Lorsqu'un périphérique est initialisé, hotplug exécute automatiquement la commande ifup pour la nouvelle interface qui est configurée si le mode de démarrage est onboot, hotplug ou auto et si le service network a été démarré. Auparavant, la commande ifup
déclenchait l'initialisation du matériel. Désormais, la procédure est inversée. Un composant matériel est d'abord initialisé, puis toutes les autres actions suivent. Vous pouvez ainsi configurer un nombre variable de périphériques de manière optimale avec un ensemble de configurations existant.
nom d'interface
Le Tableau 38.5, « Scripts de configuration réseau manuelle » récapitule les principaux scripts impliqués dans la configuration réseau. Dans la mesure du possible, la distinction a été faite entre matériel et interface.
Tableau 38.5. Scripts de configuration réseau manuelle
|
Étape de configuration |
Commande |
Fonction |
|---|---|---|
|
Matériel |
hw{up,down,status} |
Les scripts |
|
Interface |
getcfg |
Vous pouvez utiliser la commande getcfg pour demander le nom d'interface associé au nom d'une configuration ou à la description d'un matériel. Pour plus d'informations, reportez-vous à la page du manuel qui porte sur getcfg. |
|
Interface |
if{up,down,status} |
Les scripts |
Pour plus d'informations sur les noms de périphérique enfichables à chaud et persistants, consultez le Chapitre 32, Le système Hotplug et le Chapitre 33, Noeuds de périphériques dynamiques avec udev.
Cette section présente les fichiers de configuration réseau, et explique leur fonction et le format utilisé.
Ces fichiers contiennent les configurations matérielles des cartes réseau et d'autres périphériques. Ils contiennent les paramètres nécessaires, tels que le module de kernel, le mode de démarrage et les associations de scripts. Pour plus d'informations, reportez-vous à la page du manuel qui porte sur hwup. Quel que soit le matériel existant, les configurations hwcfg-static-* sont appliquées lors du démarrage de coldplug.
Ces fichiers contiennent les configurations de l'interface réseau. Ils incluent notamment des informations telles que le mode de démarrage et l'adresse IP. Les paramètres possibles sont décrits dans la page du manuel qui porte sur ifup. En outre, vous pouvez utiliser toutes les variables des fichiers dhcp, wireless et config dans les fichiers ifcfg-* si un paramétrage général doit être utilisé pour une seule interface.
Le fichier config contient les paramètres généraux relatifs au comportement des commandes ifup, ifdown et ifstatus. Le fichier dhcp contient les paramètres relatifs à DHCP et le fichier wireless, les paramètres concernant les cartes LAN sans fil. Les variables des trois fichiers de configuration sont commentées et vous pouvez également les utiliser dans les fichiers ifcfg-*, où elles sont prioritaires.
Le routage statique des paquets TCP/IP est déterminé ici. Vous pouvez saisir toutes les routes statiques requises par les différentes tâches système dans le fichier /etc/sysconfig/network/routes : routes vers un hôte, routes vers un hôte via une passerelle et routes vers un réseau. Définissez un fichier de configuration supplémentaire pour chaque interface nécessitant un routage individuel : /etc/sysconfig/network/ifroute-*. Remplacez * par le nom de l'interface. Les déclarations des fichiers de configuration du routage ont l'aspect suivant :
# Destination Fictif/Passerelle Masque réseau Périphérique # 127.0.0.0 0.0.0.0 255.255.255.0 lo 204.127.235.0 0.0.0.0 255.255.255.0 eth0 default 204.127.235.41 0.0.0.0 eth0 207.68.156.51 207.68.145.45 255.255.255.255 eth1 192.168.0.0 207.68.156.51 255.255.0.0 eth1
La destination de la route apparaît dans la première colonne. Celle-ci peut contenir l'adresse IP d'un réseau ou d'un hôte ou, en cas de serveurs de noms accessibles, le réseau ou le nom d'hôte complet.
La deuxième colonne contient la passerelle par défaut ou une passerelle permettant d'accéder à un hôte ou à un réseau. La troisième colonne contient le masque réseau pour les réseaux ou les hôtes placés derrière une passerelle. Par exemple, le masque est 255.255.255.255 pour un hôte placé derrière une passerelle.
La quatrième colonne n'est utile que pour les réseaux connectés à l'hôte local, tels que la boucle, Ethernet, RNIS, PPP et le périphérique factice. Vous devez saisir le nom du périphérique ici.
Vous pouvez utiliser une cinquième colonne (facultative) pour spécifier le type d'une route. Les colonnes inutiles doivent contenir le signe moins (-) pour garantir que l'analyseur interprète correctement la commande. Pour plus d'informations, reportez-vous à la page du manuel qui porte sur routes(5).
Ce fichier indique le domaine auquel appartient l'hôte (mot-clé search). L'état de l'adresse du serveur de noms auquel vous devez accéder y figure également (mot-clé nameserver). Vous pouvez spécifier plusieurs noms de domaine. En cas de résolution d'un nom qui n'est pas complet, le système tente d'en générer un en reliant les différents éléments search. Pour utiliser plusieurs serveurs de noms, saisissez plusieurs lignes, chacune débutant par nameserver. Faites précéder les commentaires du caractère #. YaST entre le serveur de noms spécifié dans ce fichier. L'Exemple 38.5, «
/etc/resolv.conf
» illustre à quoi /etc/resolv.conf peut ressembler.
Exemple 38.5.
/etc/resolv.conf
# Notre domaine search exemple.com # # Nous utilisons sun (192.168.0.20) comme serveur de noms nameserver 192.168.0.20
Certains services, tels que pppd (wvdial), ipppd (isdn), dhcp (dhcpcd et dhclient), pcmcia et hotplug, modifient le fichier /etc/resolv.conf à l'aide du script modify_resolvconf. Si le fichier /etc/resolv.conf a été temporairement modifié par ce script, il contient un commentaire prédéfini qui fournit des informations sur le service qui l'a modifié, l'endroit où le fichier d'origine a été sauvegardé et le moyen de désactiver le mécanisme de modification automatique. Si /etc/resolv.conf est modifié plusieurs fois, le fichier inclut les modifications successives. Vous pouvez revenir sur ces modifications si l'annulation a lieu dans un ordre différent de celui dans lequel les modifications ont été introduites. Parmi les services susceptibles d'avoir besoin de cette flexibilité figurent isdn, pcmcia et hotplug.
Si un service n'a pas été arrêté comme il se doit, vous pouvez utiliser le fichier modify_resolvconf pour restaurer le fichier d'origine. En outre, à l'amorçage du système, un contrôle permet de vérifier s'il existe un fichier resolv.conf modifié ou non nettoyé, par exemple à la suite d'un crash système, auquel cas le fichier resolv.conf d'origine (non modifié) est restauré.
YaST utilise la commande modify_resolvconf
check pour savoir si le fichier resolv.conf a été modifié. Il avertit ensuite l'utilisateur que ses modifications seront perdues après la restauration du fichier. À l'exclusion de cet aspect, YaST n'a pas recours au fichier modify_resolvconf. Par conséquent, la modification de resolv.conf via YaST a le même impact que n'importe quelle modification manuelle. Dans les deux cas, l'effet des modifications est permanent. Les modifications demandées par les services mentionnés ne sont que temporaires.
Dans ce fichier, illustré dans l'Exemple 38.6, «
/etc/hosts
», les adresses IP sont assignées aux noms d'hôte. Si aucun serveur de noms n'est implémenté, tous les hôtes vers lesquels une connexion IP doit être configurée doivent être listés ici. Pour chaque hôte, saisissez une ligne composée de l'adresse IP, du nom d'hôte complet et du nom d'hôte dans le fichier. L'adresse IP doit être placée en début de ligne et les éléments doivent être séparés par des espaces et des tabulations. Les commentaires sont toujours précédés du caractère #.
Ici, les noms de réseau sont convertis en adresses réseau. Leur format est similaire à celui du fichier hosts, si ce n'est que les noms de réseau précèdent les adresses. (voir Exemple 38.7, «
/etc/networks
»).
Ce fichier contrôle la résolution de noms (conversion des noms d'hôte et de réseau via la bibliothèque du résolveur). Il est exclusivement utilisé pour les programmes liés aux bibliothèques libc4 ou libc5. Pour les programmes glibc actuels, reportez-vous aux paramètres de /etc/nsswitch.conf. Un paramètre doit toujours être seul dans sa propre ligne. Les commentaires sont précédés du caractère #. Le Tableau 38.6, « Paramètres de /etc/host.conf » indique les paramètres disponibles. Un exemple de fichier /etc/host.conf est présenté dans l'Exemple 38.8, «
/etc/host.conf
».
Tableau 38.6. Paramètres de /etc/host.conf
|
order hosts, bind |
Indique l'ordre d'accès aux services pour la résolution du nom. Les arguments disponibles sont les suivants (séparés par des espaces ou des virgules) : |
|
hosts : lance la recherche dans le fichier | |
|
bind : accède à un serveur de noms | |
|
nis : utilise NIS | |
|
multi on/off |
Détermine si un hôte saisi dans |
|
nospoof on spoofalert on/off |
Ces paramètres ont un impact sur la prévention de la simulation du serveur de noms, mais n'ont pas d'autre effet sur la configuration réseau. |
|
trim nom de domaine |
Le nom de domaine spécifié est séparé du nom d'hôte après la résolution de ce dernier (tant que le nom d'hôte inclut le nom de domaine). Cette option est utile si le fichier |
La bibliothèque C version 2.0 de GNU a introduit le NSS (Name Service Switch – Commutation de service de noms). Pour plus d'informations, reportez-vous à la page du manuel qui porte sur nsswitch.conf(5) et au manuel The GNU C Library Reference Manual.
L'ordre des requêtes est déterminé dans le fichier /etc/nsswitch.conf. Un exemple de fichier nsswitch.conf est présenté dans l'Exemple 38.9, «
/etc/nsswitch.conf
». Les commentaires sont précédés du caractère #. Dans cet exemple, l'élément situé sous la base de données hosts signifie qu'une requête est envoyée à /etc/hosts (files) via DNS (consultez le Chapitre 40, La résolution de noms).
Exemple 38.9.
/etc/nsswitch.conf
passwd: compat group: compat hosts: files dns networks: files dns services: db files protocols: db files netgroup: files automount: files nis
Les « bases de données » disponibles sur NSS sont listées dans le Tableau 38.7, « Bases de données disponibles via /etc/nsswitch.conf ». De plus, automount, bootparams, netmasks et publickey sont prévus dans un futur proche. Les options de configuration des bases de données NSS sont listées dans le Tableau 38.8, « Possibilités de configuration des « bases de données » NSS ».
Tableau 38.7. Bases de données disponibles via /etc/nsswitch.conf
|
|
Alias de messagerie implémentés par |
|
|
Adresses Ethernet. |
|
|
Pour les groupes d'utilisateurs ; utilisée par |
|
|
Pour les noms d'hôte et les adresses IP ; utilisée par |
|
|
Listes des utilisateurs et hôtes valides sur le réseau, dans le but de contrôler les autorisations d'accès. Consultez la page du manuel qui porte sur |
|
|
Adresses et noms des réseaux ; utilisée par |
|
|
Mots de passe utilisateur ; utilisée par |
|
|
Protocoles réseau ; utilisée par |
|
|
Noms et adresses d'appels de procédure distants ; utilisée par |
|
|
Services réseau ; utilisée par |
|
|
Mots de passe shadow des utilisateurs ; utilisée par |
Tableau 38.8. Possibilités de configuration des « bases de données » NSS
|
|
accès direct aux fichiers (par exemple, |
|
|
accès via une base de données |
|
|
NIS ; consultez également le Chapitre 41, Utilisation de NIS |
|
|
uniquement utilisée en tant qu'extension de |
|
|
uniquement utilisée en tant qu'extension de |
Ce fichier permet de configurer nscd (name service cache daemon - démon cache de service de noms). Consultez les pages du manuel qui portent sur nscd(8) et nscd.conf(5). Par défaut, les entrées système de passwd et groups sont mises en cache par nscd. Ceci est important pour les performances des services Annuaire, tels que NIS et LDAP puisque, sinon, la connexion réseau doit être utilisée pour chaque accès aux noms ou aux groupes. hosts n'est pas mis en cache par défaut puisque le mécanisme de nscd qui permet de mettre les hôtes en cache rend le système local incapable de se fier aux recherches directes et inverses. Configurez un serveur de cache DNS au lieu de demander à nscd de mettre les noms en mémoire cache.
Si la mise en cache de passwd est activée, la reconnaissance d'un nouvel utilisateur local prend environ 15 secondes. Pour réduire ce temps d'attente, redémarrez nscd à l'aide de la commande rcnscd restart.
En plus des fichiers de configuration décrits précédemment, il existe différents scripts qui chargent les programmes réseau lors du démarrage de la machine. Ces programmes démarrent dès que le système passe à l'un des niveaux d'exécution multi-utilisateurs. Certains de ces scripts sont décrits dans le tableau Tableau 38.9, « Quelques scripts de démarrage des programmes réseau ».
Tableau 38.9. Quelques scripts de démarrage des programmes réseau
|
Ce script gère la configuration des interfaces réseau. Le matériel doit déjà avoir été initialisé par /etc/init.d/coldplug (via hotplug). Si le service network n'a pas été démarré, aucune interface réseau n'est implémentée lors de son ajout via hotplug. | |
|
Démarre le service xinetd, qui permet de rendre les services de serveur disponibles sur le système. Par exemple, il peut démarrer vsftpd dès l'établissement d'une connexion FTP. | |
|
Démarre portmapper dont le serveur RPC a besoin (un serveur NFS, par exemple). | |
|
Démarre le serveur NFS. | |
|
Contrôle le processus sendmail. | |
|
Démarre le serveur NIS. | |
|
Démarre le client NIS. |