Guide d'administration système : services IP

Bases de données réseau et fichier nsswitch.conf

Les bases de données réseau sont des fichiers fournissant des informations requises pour configurer le réseau. Les bases de données réseau sont les suivantes :

À la configuration, vous modifiez les bases de données hosts et netmasks, si le réseau se décompose en sous-réseaux. Deux bases de données réseau, bootparams et ethers, permettent de configurer les systèmes en tant que clients réseau. Les autres bases de données sont employées par le système d'exploitation et requièrent rarement des modifications.

Le fichier nsswitch.conf ne constitue pas une base de données réseau, mais vous devez le configurer avec la base de données réseau adéquate. nsswitch.conf spécifie le service de noms à utiliser pour un système particulier : fichiers locaux, NIS, DNS ou LDAP.

Impact des services de noms sur les bases de données réseau

Le format de la base de données réseau dépend du type de service de noms sélectionné pour le réseau. Par exemple, la base de données hosts contient au moins le nom d'hôte et l'adresse IPv4 du système local, ainsi que toute interface réseau directement connectée au système local. Cependant, la base de données hosts peut contenir d'autres adresses IPv4 et noms d'hôtes, selon le type de service de noms utilisé sur le réseau.

Les bases de données réseau s'utilisent comme suit :


Remarque –

Les fichiers de données et d'initialisation DNS ne correspondent pas exactement aux bases de données réseau.


La figure ci-dessous présente les différentes formes de base de données hosts utilisées par ces services de noms.

Figure 10–2 Formes de base de données hosts utilisées par les services de noms

Cette figure indique comment les services de noms DNS, NIS, NIS+ et les fichiers locaux stockent les bases de données hôte.

Le tableau ci-dessous répertorie les bases de données réseau, ainsi que les fichiers locaux et cartes NIS correspondants.


Remarque –

La base de données ipnodes a été supprimée des versions Oracle Solaris suivant la version 10 11/06.


Tableau 10–1 Bases de données réseau et fichiers de service de noms correspondants

Base de données réseau 

Fichiers locaux 

Cartes NIS 

hosts

/etc/inet/hosts

hosts.byaddr hosts.byname

ipnodes

/etc/inet/ipnodes

ipnodes.byaddr ipnodes.byname

netmasks

/etc/inet/netmasks

netmasks.byaddr

ethers

/etc/ethers

ethers.byname ethers.byaddr

bootparams

/etc/bootparams

bootparams ;

protocols

/etc/inet/protocols

protocols.byname protocols.bynumber

services

/etc/inet/services

services.byname

networks

/etc/inet/réseaux

networks.byaddr networks.byname

Ce manuel décrit les bases de données réseau telles qu'elles sont perçues par les réseaux utilisant des fichiers locaux pour les services de noms.

Pour de plus amples informations sur les correspondances de bases de données réseau dans NIS, DNS et LDAP, reportez-vous au System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP).

Fichier nsswitch.conf

Le fichier /etc/nsswitch.conf définit l'ordre de recherche des bases de données réseau. Le programme d'installation Oracle Solaris crée un fichier /etc/nsswitch.conf par défaut pour le système local, selon le service de noms indiqué lors de l'installation. Si vous avez sélectionné l'option Aucun, en indiquant les fichiers locaux à utiliser pour le service de noms, le fichier nsswitch.conf obtenu est similaire à l'exemple ci-dessous.


Exemple 10–5 nsswitch.conf pour réseaux utilisant des fichiers pour le service de noms


# /etc/nsswitch.files:
#
# An example file that could be copied over to /etc/nsswitch.conf;
# it does not use any naming service.
#
# "hosts:" and "services:" in this file are used only if the
# /etc/netconfig file contains "switch.so" as a
# nametoaddr library for "inet" transports.

passwd:          files
group:           files
hosts:           files
networks:        files
protocols:       files
rpc:             files
ethers:          files
netmasks:        files
bootparams:      files
publickey:       files
# At present there isn't a 'files' backend for netgroup; the
# system will figure it out pretty quickly,
# and won't use netgroups at all.
netgroup:        files
automount:       files
aliases:         files
services:        files
sendmailvars:    files

La page de manuel nsswitch.conf(4) décrit le fichier en détail. La syntaxe de base est la suivante :

base-de-données service-de-noms-à-rechercher

Le champ base-de-données indique l'un des divers types de bases de données recherchés par le système d'exploitation. Par exemple, le champ peut spécifier une base de données affectant les utilisateurs, telle que passwd ou aliases, ou une base de données réseau. Le paramètre nom-de-service-à-rechercher peut prendre les valeurs files, nis ou nis+ pour les bases de données réseau. La base de données hosts peut également rechercher le service de noms dns. Vous avez également la possibilité de répertorier plusieurs services de noms, par exemple nis+ et files.

Dans l'Exemple 10–5, la seule option de recherche indiquée est files. Par conséquent, outre les informations de base de données réseau, les fichiers résidant dans les répertoires /etc et /etc/inet du système local lui fournissent les informations de sécurité et de montage automatique.

Modification de nsswitch.conf

Le répertoire /etc contient le fichier nsswitch.conf créé par le programme d'installation Oracle Solaris. Ce répertoire contient également des fichiers de modèles pour les services de noms suivants :

Pour passer d'un service de noms à un autre, copiez le modèle adéquat dans nsswitch.conf. Vous pouvez également modifier le fichier nsswitch.conf et changer le service de noms par défaut pour rechercher individuellement des bases de données.

Par exemple, sur un réseau exécutant NIS, il peut s'avérer nécessaire de modifier le fichier nsswitch.conf sur les clients du réseau. Le chemin de recherche pour les bases de données bootparams et ethers doit indiquer files comme première option, puis nis. L'exemple suivant présente les chemins de recherche corrects.


Exemple 10–6 nsswitch.conf pour un client d'un réseau exécutant NIS


# /etc/nsswitch.conf:#
.
.
passwd:        files nis
group:         files nis

# consult /etc "files" only if nis is down.
hosts:         nis    [NOTFOUND=return] files
networks:      nis    [NOTFOUND=return] files
protocols:     nis    [NOTFOUND=return] files
rpc:           nis    [NOTFOUND=return] files
ethers:        files  [NOTFOUND=return] nis
netmasks:      nis    [NOTFOUND=return] files	
bootparams:    files  [NOTFOUND=return] nis
publickey:     nis    
netgroup:      nis

automount:     files nis
aliases:       files nis

# for efficient getservbyname() avoid nis
services:      files nis
sendmailvars:  files

Pour de plus amples informations sur le basculement entre les services de noms, reportez-vous au System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP).

Base de données bootparams

La base de données bootparams contient des informations utilisées par les systèmes configurés pour s'initialiser en mode client réseau. Vous devez modifier cette base de données si le réseau possède des clients réseau. Les procédures sont expliquées à la section Configuration des clients réseau La base de données est élaborée à partir des informations saisies dans le fichier /etc/bootparams.

La page de manuel bootparams(4) indique la syntaxe complète de cette base de données. La syntaxe de base est la suivante :

nom-système fichier-clés nom-serveur:chemin

Pour chaque système client du réseau, l'entrée peut contenir les informations suivantes : le nom du client, une liste de clés, les noms des serveurs et des chemins. Le premier élément de chaque entrée est le nom du système client. Tous les autres éléments sont facultatifs. Reportez-vous à l'exemple ci-dessous.


Exemple 10–7 Base de données bootparams


myclient   root=myserver : /nfsroot/myclient  \
swap=myserver : /nfsswap//myclient \
dump=myserver : /nfsdump/myclient

Dans cet exemple, le terme dump= indique aux hôtes client de ne pas rechercher un fichier de vidage.

Entrée de caractère générique pour bootparams

Dans la plupart des cas, utilisez l'entrée de caractère générique lors de la modification de la base de données bootparams pour prendre en charge les clients. Cette entrée se présente comme suit :

*  root=server:/path dump=:

L'astérisque (*) indique que cette entrée s'applique à tous les clients non spécifiquement nommés dans la base de données bootparams.

Base de données ethers

La base de données ethers est élaborée à partir d'informations entrées dans le fichier /etc/ethers. Cette base de données associe les noms d'hôtes à leurs adresses MAC (Media Access Control, contrôle d'accès média). Ne créez une base de données ethers que si vous exécutez le démon RARP. En d'autres termes, vous devez créer cette base de données si vous configurez des clients réseau.

RARP utilise le fichier pour mapper les adresses MAC aux adresses IP. Si vous exécutez le démon RARP in.rarpd, vous devez configurer le fichier ethers et mettre à jour ce fichier sur tous les hôtes exécutant le démon afin de refléter les modifications réalisées sur le réseau.

La page de manuel ethers(4) indique la syntaxe complète de cette base de données. La syntaxe de base est la suivante :


MAC-address   hostname   #comment
adresse-MAC

Adresse MAC de l'hôte

nom-hôte

Nom officiel de l'hôte

#commentaire

Toute note que vous souhaitez joindre à une entrée du fichier

Le constructeur de l'équipement fournit l'adresse MAC. Si un système n'affiche pas l'adresse MAC lors de l'initialisation du système, reportez-vous aux manuels du matériel pour obtenir de l'aide.

Lors de l'ajout d'entrées à la base de données ethers, assurez-vous que les noms d'hôtes correspondent aux noms principaux dans la base de données hosts et, pour Solaris 10 11/06 et les versions antérieures, la base de données ipnodes, non les pseudos, comme indiqué ci-dessous.


Exemple 10–8 Entrées de la base de données ethers


8:0:20:1:40:16  fayoum
8:0:20:1:40:15  nubian 
8:0:20:1:40:7   sahara    # This is a comment
8:0:20:1:40:14  tenere 

Autres bases de données réseau

Les autres bases de données réseau ont rarement besoin d'être modifiées.

Base de données networks

La base de données networks associe les noms de réseau à des numéros de réseau, afin de permettre à certaines applications d'utiliser et d'afficher les noms au lieu des numéros. La base de données networks se base sur les informations du fichier /etc/inet/réseaux. Ce fichier contient les noms de tous les réseaux auxquels le réseau se connecte via les routeurs.

Le programme d'installation Oracle Solaris configure la base de données networks initiale. Toutefois, si vous ajoutez un réseau à la topologie réseau existante, vous devez mettre à jour cette base de données.

La page de manuel networks(4) contient la syntaxe complète de /etc/inet/networks. Le format de base est le suivant :


network-name  network-number  nickname(s)  #comment
nom-réseau

Nom officiel du réseau

numéro-réseau

Numéro attribué par le FAI ou l'IR (Internet Registry, registre Internet)

pseudo

Tout autre nom appliqué au réseau

#commentaire

Toute note que vous souhaitez joindre à une entrée du fichier

Il est impératif de mettre à jour le fichier networks. Le programme netstat utilise les informations de cette base de données pour générer les tables d'état.

Un exemple de fichier /etc/networks est fourni ci-dessous.


Exemple 10–9 Fichier /etc/networks


#ident	"@(#)networks	1.4	92/07/14 SMI"	/* SVr4.0 1.1	*/
#
# The networks file associates Internet Protocol (IP) network
# numbers with network names. The format of this file is:
#
# 	network-name		 	 network-number		 	 nicnames . . .

# The loopback network is used only for intra-machine communication
loopback		 	 127

#
# Internet networks
#
arpanet     10	   arpa  # Historical
#
# local networks

eng   192.168.9 #engineering
acc   192.168.5 #accounting
prog  192.168.2 #programming

Base de données protocols

La base de données protocols répertorie les protocoles TCP/IP installés sur le système et leurs numéros de protocole. Le programme d'installation Oracle Solaris crée automatiquement la base de données. Ce fichier requiert rarement des tâches d'administration.

La page de manuel protocols(4) décrit la syntaxe de cette base de données. Un exemple de fichier /etc/inet/protocols est fourni ci-dessous.


Exemple 10–10 Fichier /etc/inet/protocols


#
# Internet (IP) protocols
#
ip    0   IP    # internet protocol, pseudo protocol number
icmp  1   ICMP  # internet control message protocol
tcp   6   TCP   # transmission control protocol
udp  17   UDP   # user datagram protocol

Base de données services

La base de données services répertorie les noms des services TCP et UDP, ainsi que leurs numéros de port connus. Cette base de données est employée par les programmes faisant appel aux services réseau. La base de données services est créée automatiquement lors de l'installation de Oracle Solaris. En général, cette base de données ne requiert aucune tâche d'administration.

Vous trouverez les informations complètes de syntaxe dans la page de manuel services(4) Un extrait de fichier /etc/inet/services classique est fournit ci-dessous.


Exemple 10–11 Fichier /etc/inet/services


#
# Network services
#
echo      7/udp
echo      7/tcp
echo      7/sctp6
discard   9/udp     sink null
discard   11/tcp
daytime   13/udp
daytime   13/tcp
netstat   15/tcp
ftp-data  20/tcp
ftp       21/tcp
telnet    23/tcp
time      37/tcp    timeserver
time      37/udp    timeserver
name      42/udp    nameserver
whois     43/tcp    nickname