Guide d'administration système : services IP

Fichiers de configuration TCP/IP

Chaque système du réseau obtient ses informations de configuration TCP/IP des fichiers de configuration TCP/IP et bases de données réseau ci-dessous :

Lors de l'installation, le programme d'installation de Oracle Solaris crée ces fichiers. Vous pouvez également les modifier manuellement, comme indiqué dans cette section. Les bases de données réseau hosts et netmasks sont lues par les services de noms disponibles sur les réseaux Oracle Solaris. Le concept de base de données réseau est décrit à la section Bases de données réseau et fichier nsswitch.conf Dans Solaris 10 11/06 et les versions antérieures, pour plus d'informations sur le fichier ipnodes, reportez-vous à la section Base de données ipnodes.

Fichier /etc/hostname.interface

Ce fichier définit les interfaces réseau physiques sur l'hôte local. Au moins un fichier /etc/hostname.interface doit exister sur le système local. Le programme d'installation de Oracle Solaris crée un fichier /etc/hostname.interface pour la première interface détectée lors de l'installation. Cette interface possède généralement le plus petit numéro de périphérique, par exemple eri0. Elle constitue l'interface réseau principale. Si le programme d'installation détecte d'autres interfaces, vous pouvez également les configurer au cours du processus d'installation.


Remarque –

Si vous créez d'autres fichiers de nom d'hôte pour la même interface, ces fichiers doivent également suivre le format de nom hostname.[0-9]*, par exemple : hostname.qfe0.a123. Des noms tels que hostname.qfe0.bak ou hostname.qfe0.old ne sont pas valides et seront ignorés par les scripts pendant l'initialisation du système.

Une interface ne doit contenir qu'un seul fichier de nom d'hôte correspondant. Si vous créez un autre fichier de nom d'hôte pour une interface avec un nom de fichier valide, tels que /etc/hostname.qfe et /etc/hostname.qfe.a123 , les scripts d'initialisation tenteront de configurer les données en référençant le contenu des deux fichiers de nom d'hôte et cela peut générer des erreurs. Pour éviter ce genre d'erreurs, indiquez un nom de fichier non valide pour le fichier de nom d'hôte à ne pas utiliser dans la configuration.


Si vous ajoutez une interface réseau supplémentaire au système après l'installation, vous devez créer un fichier /etc/hostname.interface pour cette interface, comme indiqué à la section Configuration d'une interface physique après l'installation du système. En outre, pour que le logiciel Oracle Solaris reconnaisse et utilise la nouvelle interface réseau, le pilote de périphérique de l'interface doit être chargé dans le répertoire correspondant. Reportez-vous à la documentation accompagnant la nouvelle interface réseau pour obtenir le nom d'interface adéquat et les instructions du pilote de périphérique.

Le fichier /etc/hostname.interface de base contient une entrée : l'adresse IPv4 ou le nom d'hôte associé à l'interface réseau. L'adresse IPv4 peut s'exprimer au format décimal avec points classique ou en notation CIDR. Si l'entrée du fichier /etc/hostname.interface est un nom d'hôte, celui-ci doit également se trouver dans le fichier /etc/inet/hosts.

Par exemple, soit smc0 l'interface réseau principale d'un système appelé tenere. L'entrée du fichier /etc/hostname.smc0 peut être une adresse IPv4 selon la numérotation décimale avec points ou en notation CIDR, ou le nom d'hôte tenere.


Remarque –

IPv6 définit les interfaces réseau à l'aide du fichier /etc/hostname6.interface. Pour plus d'informations, reportez-vous à la section Fichier de configuration d'interface IPv6.


Fichier /etc/nodename

Ce fichier doit contenir une entrée : le nom d'hôte du système local. Par exemple, sur le système timbuktu, le fichier /etc/nodename contiendrait l'entrée timbuktu.

Fichier /etc/defaultdomain

Ce fichier doit contenir une entrée : le nom complet du domaine administratif auquel appartient le réseau de l'hôte local. Vous pouvez fournir ce nom au programme d'installation Oracle Solaris ou modifier le fichier plus tard. Pour plus d'informations sur les domaines de réseau, reportez-vous au System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP) .

Fichier /etc/defaultrouter

Ce fichier peut contenir une entrée pour chaque routeur directement connecté au réseau. L'entrée doit correspondre au nom de l'interface réseau servant de routeur entre les réseaux. La présence du fichier /etc/defaultrouter indique que le système prend en charge le routage statique.

Base de données hosts

La base de données hosts contient les adresses IPv4 et noms d'hôtes des systèmes résidant sur le réseau. Si vous utilisez le service de noms NIS ou DNS, ou le service d'annuaire LDAP, la base de données hosts est mise à jour dans une base de données conçue pour les informations d'hôte. Par exemple, sur un réseau exécutant NIS, la base de données hosts est mise à jour dans le fichier hostsbyname.

Si vous utilisez des fichiers locaux en tant que service de noms, la base de données hosts est mise à jour dans le fichier /etc/inet/hosts. Ce fichier contient les noms d'hôtes et les adresses IPv4 de l'interface réseau principale, des autres interfaces réseau connectées au système et toute autre adresse réseau que le système doit vérifier.


Remarque –

Pour assurer la compatibilité avec les systèmes d'exploitation BSD, le fichier /etc/hosts définit un lien symbolique vers /etc/inet/hosts.


Format de fichier /etc/inet/hosts

Le fichier /etc/inet/hosts utilise la syntaxe de base ci-dessous. Pour obtenir les informations complètes relatives à cette syntaxe, reportez-vous à la page de manuel hosts(4).

adresse-IPv4 nom-hôte [pseudo] [#commentaire]

adresse-IPv4

Contient l'adresse IPv4 de chaque interface que l'hôte local doit reconnaître.

nom-hôte

Contient le nom d'hôte attribué au système lors de la configuration, ainsi que les noms d'hôtes attribués aux interfaces réseau supplémentaires que l'hôte local doit reconnaître.

[pseudo]

Champ facultatif contenant un pseudo pour l'hôte.

[#commentaire]

Champ de commentaire facultatif.

Fichier /etc/inet/hosts initial

Lors de l'exécution du programme d'installation Oracle Solaris sur un système, le programme configure le fichier /etc/inet/hosts initial. Ce fichier contient les entrées minimales requises par l'hôte local. Les entrées incluent l'adresse loopback, l'adresse IPv4 de l'hôte et le nom d'hôte.

Par exemple, le programme d'installation Oracle Solaris peut créer le fichier /etc/inet/hosts suivant pour le système tenere indiqué dans la Figure 5–1 :


Exemple 10–1 Fichier /etc/inet/hosts pour système tenere


127.0.0.1     localhost         loghost    #loopback address
192.168.200.3   tenere                      #host name

Adresse loopback

Dans l'Exemple 10–1, l'adresse IPv4 127.0.0.1 constitue l'adresse loopback. L'adresse loopback est l'interface réseau réservée utilisée par le système local pour permettre les communications entre processus. L'hôte utilise cette adresse pour s'envoyer des paquets à lui-même. La commande ifconfig utilise l'adresse loopback pour la configuration et les tests, comme expliqué à la section Contrôle de la configuration de l'interface avec la commande ifconfig. Tout système du réseau TCP/IP doit utiliser l'adresse IP 127.0.0.1 pour le loopback IPv4 sur l'hôte local.

Nom de l'hôte

L'adresse IPv4 192.168.200.1 et le nom tenere constituent l'adresse et le nom d'hôte du système local. Ils sont attribués à l'interface réseau principale du système.

Interfaces réseau multiples

Certains systèmes possèdent plusieurs interfaces réseau, car ils constituent des routeurs ou des hôtes multiréseau. Chaque interface réseau connectée au système requiert sa propre adresse IP et le nom associé. À l'installation, vous devez configurer l'interface réseau principale. Si un système présente plusieurs interfaces lors de l'installation, le programme d'installation Oracle Solaris vous invite à configurer également ces interfaces supplémentaires. Vous pouvez configurer les interfaces supplémentaires ou une partie d'entre elles à l'installation, ou les configurer manuellement plus tard.

Une fois l'installation de Oracle Solaris terminée, vous pouvez configurer des interfaces supplémentaires pour un routeur ou un hôte multiréseau en ajoutant ces informations au fichier /etc/inet/hosts du système. Pour de plus amples informations sur la configuration de routeurs et d'hôtes multiréseau, reportez-vous aux sections Configuration d'un routeur IPv4 et Configuration des hôtes multiréseaux.

L'Exemple 10–2 présente le fichier /etc/inet/hosts du système timbuktu illustré sur la Figure 5–1.


Exemple 10–2 Fichier /etc/inet/hosts pour le système timbuktu


127.0.0.1        localhost     loghost
192.168.200.70   timbuktu      #This is the local host name
192.168.201.10   timbuktu-201  #Interface to network 192.9.201

Avec ces deux interfaces, timbuktu connecte les réseaux 192.168.200 et 192.168.201 en tant que routeur.

Impact des services de noms sur la base de données hosts

Les services de noms NIS et DNS, et le service d'annuaire LDAP mettent à jour les adresses et les noms d'hôtes sur un ou plusieurs serveurs. Ces serveurs mettent à jour les bases de données hosts contenant les informations de tous les hôtes et routeurs (le cas échéant) du réseau du serveur. Pour de plus amples informations sur ces services, reportez-vous au System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP).

Service de nom assuré par les fichiers locaux

Sur un réseau utilisant des fichiers locaux pour le service de noms, les systèmes s'exécutant en mode de fichiers locaux consultent leurs fichiers /etc/inet/hosts individuels pour connaître les adresses IPv4 et noms d'hôtes des autres systèmes du réseau. Par conséquent, les fichiers /etc/inet/hosts de ces systèmes doivent contenir les informations suivantes :

La Figure 10–1 présente le fichier /etc/inet/hosts du système tenere. Ce système s'exécute en mode fichiers locaux. Comme vous pouvez le constater, le fichier contient les adresses IPv4 et noms d'hôtes de tous les systèmes du réseau 192.9.200. Il contient également l'adresse IPv4 et le nom d'interface timbuktu-201. Cette interface connecte le réseau 192.9.200 au réseau 192.9.201.

Un système configuré en tant que client réseau consulte le fichier local /etc/inet/hosts pour connaître son adresse loopback et son adresse IPv4.

Figure 10–1 Fichier /etc/inet/hosts pour un système s'exécutant en mode fichiers locaux

Présente un exemple de fichier d'hôtes pour un système s'exécutant en mode fichiers locaux.

Base de données ipnodes


Remarque –

La base de données ipnodes n'est plus incluse dans les versions supérieures à Solaris 10 11/06. Dans ces versions, les fonctions IPv6 de ipnodes migrent vers la base de données hosts.


Le fichier /etc/inet/ipnodes conserve les adresses IPv4 et IPv6. En outre, vous pouvez enregistrer les adresses IPv4 en numérotation décimale avec points classique ou selon la notation CIDR. Ce fichier sert de base de données locale et associe les noms des hôtes à leurs adresses IPv4 et IPv6. N'enregistrez pas les noms d'hôtes ni leurs adresses dans des fichiers statiques, par exemple /etc/inet/ipnodes. Toutefois, à des fins de test, enregistrez les adresses IPv6 dans un fichier de la même façon que les adresses IPv4 sont enregistrées dans /etc/inet/hosts. Le fichier ipnodes applique les mêmes conventions de format que le fichier hosts. Pour de plus amples informations sur /etc/inet/hosts, reportez-vous à la section Base de données hosts. Le fichier ipnodes est décrit dans la page de manuel ipnodes(4).

Les applications compatibles IPv6 font appel à la base de données /etc/inet/ipnodes. La base de données /etc/hosts existante, contenant exclusivement des adresses IPv4, reste identique afin de servir les applications existantes. Si la base de données ipnodes n'existe pas, les applications IPv6 font appel à la base de données hosts existante.


Remarque –

Pour ajouter des adresses IPv4, insérez-les à la fois dans les fichiers hosts et ipnodes. Insérez les adresses IPv6 dans le fichier ipnodes uniquement.



Exemple 10–3 Fichier /etc/inet/ipnodes

Groupez les adresses de nom d'hôte selon le nom d'hôte, comme indiqué dans cet exemple.


#
# Internet IPv6 host table
# with both IPv4 and IPv6 addresses
#
::1     localhost
2001:db8:3b4c:114:a00:20ff:fe78:f37c   farsite.com farsite farsite-v6
fe80::a00:20ff:fe78:f37c     farsite-11.com farsitell
192.168.85.87   				 farsite.com farsite farsite-v4
2001:db8:86c0:32:a00:20ff:fe87:9aba   nearsite.com nearsite nearsite-v6
fe80::a00:20ff:fe87:9aba     nearsite-11.com nearsitell
10.0.0.177  				 nearsite.com nearsite nearsite-v4 loghost

Base de données netmasks

La base de données netmasks ne doit être modifiée à la configuration du réseau que si vous avez configuré la création de sous-réseaux sur le réseau. La base de données netmasks est constituée d'une liste de réseaux et des masques de sous-réseau associés.


Remarque –

Lors de la création de sous-réseaux, chaque nouveau réseau doit constituer un réseau physiquement distinct. Vous ne pouvez pas appliquer la création de sous-réseaux à un réseau physique unique.


Qu'est-ce que la création de sous-réseaux ?

La création de sous-réseaux permet d'optimiser l'espace d'adressage IPv4 32 bits limité et de réduire la taille des tables de routage d'un interréseau étendu. Quelle que soit la classe d'adresse, la création de sous-réseaux permet d'allouer une partie de l'espace d'adressage hôte à des adresses réseau, afin d'utiliser des réseaux supplémentaires. La partie de l'espace d'adressage hôte allouée aux nouvelles adresses réseau est appelée numéro de sous-réseau.

Outre une utilisation plus efficace de l'espace d'adressage IPv4, la création de sous réseau offre de nombreux avantages administratifs. Le routage peut devenir très compliqué lorsque les réseaux deviennent nombreux. Dans une petite organisation, par exemple, un numéro de classe C peut être attribué à chaque réseau local. Lorsque l'organisation s'étend, l'administration de nombreux numéros de réseau peut devenir complexe. Il s'avère alors judicieux d'allouer quelques numéros de réseau de classe B à chaque grande division de l'organisation. Par exemple, allouez un réseau de classe B au service Ingénierie, un réseau de classe B au service Opérations, etc. Ensuite, vous pouvez diviser chaque réseau de classe B en réseaux supplémentaires, à l'aide des numéros de réseau supplémentaires, obtenus grâce à la création de sous-réseaux. Cette division permet également de réduire le volume d'informations de routage transférées entre les routeurs.

Création du masque de réseau des adresses IPv4

Lors de la création de sous-réseaux, vous devez sélectionner un masque de réseau englobant le réseau. Le masque de réseau détermine les bits de l'espace d'adressage hôte qui représentent le numéro de sous-réseau et les bits qui représentent le numéro d'hôte. Pour rappel, l'adresse IPv4 complète est constituée de 32 bits. Selon la classe d'adresse, de 8 à 24 bits sont disponibles pour représenter l'espace d'adressage hôte. Le masque de réseau est spécifié dans la base de données netmasks.

Si vous souhaitez utiliser des sous-réseaux, définissez le masque de réseau avant de configurer TCP/IP. Si vous souhaitez installer le système d'exploitation au sein d'une configuration réseau, vous devez indiquer le masque du réseau au programme d'installation Oracle Solaris.

Comme décrit à la section Conception d'un schéma d'adressage IPv4, les adresses IP 32 bits se décomposent en une partie réseau et une partie hôte. Les 32 bits sont divisés en 4 octets. Chaque octet est attribué au numéro de réseau ou au numéro d'hôte, selon la classe à laquelle appartient le réseau.

Par exemple, dans une adresse IPv4 de classe B, les 2 octets de gauche sont attribués au numéro de réseau, tandis que les 2 octets de droite sont attribués au numéro d'hôte. Dans l'adresse IPv4 de classe B 172.16.10, vous pouvez attribuer les 2 octets de droite aux hôtes.

Pour implémenter la création de sous-réseaux, vous devez appliquer aux adresses de sous-réseau une partie des bits correspondant aux octets attribués au numéro d'hôte. Par exemple, un espace d'adressage hôte de 16 bits assure l'adressage de 65 534 hôtes. Si vous appliquez le troisième octet aux adresses de sous-réseau et le quatrième octet aux adresses d'hôte, vous pouvez adresser jusqu'à 254 réseaux, contenant chacun 254 hôtes maximum.

Les bits des octets d'adresse hôte appliqués aux adresses de sous-réseau et ceux qui sont appliqués aux adresses d'hôte sont déterminés par un masque de sous-réseau. Les masques de sous-réseau permettent de sélectionner des bits à partir de tout octet pour les utiliser en tant qu'adresses de sous-réseau. Les bits de masque de réseau doivent être contigus, mais ils n'ont pas besoin de s'aligner sur les limites d'octet.

Le masque de réseau peut s'appliquer à une adresse IPv4 à l'aide de l'opérateur de bit logique AND. Cette opération permet de sélectionner les positions du numéro de réseau et du numéro de sous-réseau dans l'adresse.

Les masques de réseau peuvent s'exprimer à l'aide de leur représentation binaire. Vous pouvez effectuer la conversion de notation binaire à décimale à l'aide d'une calculatrice. L'exemple suivant présente les formes binaires et décimales du masque de réseau.

Si le masque de réseau 255.255.255.0 est appliqué à l'adresse IPv4 172.16.41.101, le résultat est l'adresse IPv4 de 172.16.41.0.

172.16.41.101 & 255.255.255.0 = 172.16.41.0

En notation binaire, l'opération est la suivante :

10000001.10010000.00101001.01100101 (adresse IPv4)

AND

11111111.11111111.11111111.00000000 (masque de réseau)

À présent, le système recherche le numéro de réseau 172.16.41 au lieu du numéro de réseau 172.16. Si le réseau possède le numéro 172.16.41, il correspond à ce que le système recherche. Comme vous pouvez attribuer jusqu'à 254 valeurs au troisième octet de l'espace d'adressage IPv4, la création de sous-réseaux permet de créer un espace d'adressage pour 254 réseaux alors que, auparavant, l'espace n'était disponible que pour un réseau.

Si vous fournissez l'espace d'adressage à deux réseaux supplémentaires seulement, vous pouvez utiliser le masque de sous-réseau suivant :

255.255.192.0

Le résultat de ce masque de réseau est le suivant :

11111111.11111111.1100000.00000000

Ce résultat laisse encore 14 bits disponibles pour les adresses hôte. Comme tous les 0 et les 1 sont réservés, au moins 2 bits doivent être réservés pour le numéro d'hôte.

Fichier /etc/inet/netmasks

Si le réseau exécute NIS ou LDAP, les serveurs de ces services de noms mettent à jour les bases de données netmasks. Pour les réseaux utilisant des fichiers locaux comme service de noms, cette information est enregistrée dans le fichier /etc/inet/netmasks.


Remarque –

Pour assurer la compatibilité avec les systèmes d'exploitation BSD, le fichier /etc/netmasks correspond à un lien symbolique vers /etc/inet/netmasks.


L'exemple suivant présente le fichier /etc/inet/netmasks d'un réseau de classe B.


Exemple 10–4 Fichier /etc/inet/netmasks pour un réseau de classe B


 # The netmasks file associates Internet Protocol (IPv4) address
 # masks with IPv4 network numbers.
 #
 # 	network-number	netmask
 #
 # Both the network-number and the netmasks are specified in
 # “decimal dot” notation, e.g:
 #
 #        128.32.0.0   255.255.255.0
 192.168.0.0  255.255.255.0

Si le fichier /etc/netmasks n'existe pas, créez-le à l'aide d'un éditeur de texte. Utilisez la syntaxe suivante :

network-number	netmask-number

Pour des informations plus détaillées, reportez-vous à la page de manuel netmasks(4).

À la création de numéros de masque de réseau, saisissez le numéro de réseau attribué par le FAI ou l'IR (Internet Registry, registre Internet) (et non le numéro de sous-réseau) et le numéro de masque de réseau dans /etc/inet/netmasks. Chaque masque de sous-réseau doit être spécifié sur une ligne distincte.

Exemple :


128.78.0.0	    255.255.248.0

Vous avez également la possibilité de saisir des noms symboliques correspondant aux numéros de réseau dans le fichier /etc/inet/hosts. Ensuite, vous pouvez utiliser ces noms de réseau au lieu des numéros de réseau en tant que paramètres de commandes.