Guide d'administration système : services IP

Chapitre 8 Gestion d'un réseau TCP/IP (tâches)

Ce chapitre présente les tâches permettant d'administrer un réseau TCP/IP. Il aborde les sujets suivants :

L'exécution des tâches présentées dans ce chapitre nécessite l'installation d'un réseau TCP/IP opérationnel sur votre site (IPv4 uniquement ou IPv4/IPv6 double pile). Pour plus d'informations sur l'implémentation d'un réseau IPv6, reportez-vous aux chapitres suivants :

Principales tâches d'administration TCP/IP (liste des tâches)

Le tableau suivant répertorie les autres tâches permettant de gérer le réseau après la configuration initiale, notamment l'affichage des informations réseau. Le tableau comprend la description des actions de chaque tâche et la section de la documentation actuelle dans laquelle les étapes permettant d'effectuer ces tâches sont décrites en détails.

Tâche 

Description 

Référence 

Affichage des informations de configuration d'une interface. 

Déterminez la configuration actuelle des différentes interfaces du système. 

Méthode d'obtention d'informations sur une interface spécifique

Affichage des assignations d'adresses d'interface. 

Déterminez les assignations d'adresse de toutes les interfaces du système local. 

Procédure d'affichage des assignations d'adresses de l'interface

Affichage des statistiques par protocole. 

Contrôlez les performances des protocoles réseau sur un système donné. 

Affichage des statistiques par protocole

Affichage du statut du réseau. 

Contrôlez le système en affichant tous les sockets et toutes les entrées de table de routage. La sortie inclut la famille d'adresses inet pour les réseaux IPv4 et la famille d'adresses inet6 pour les réseaux IPv6.  

Affichage du statut des sockets

Affichage du statut des interfaces réseau. 

Contrôlez les performances des interfaces réseau, notamment afin de dépanner les transmissions de données. 

Affichage du statut de l'interface réseau

Affichage du statut de transmission des paquets. 

Contrôlez le statut des paquets lors de leur transmission sur le réseau câblé. 

Affichage du statut des transmissions de paquets associés à un type d'adresse spécifique

Contrôle de l'affichage des sorties de commandes IPv6. 

Contrôlez la sortie des commandes ping, netstat, ifconfig et traceroute. Créez un fichier intitulé inet_type. Définissez la variable DEFAULT_IP de ce fichier.

Contrôle de la sortie d'affichage des commandes IP

Contrôle du trafic réseau. 

Affichez tous les paquets IP à l'aide de la commande snoop.

Contrôle du trafic réseau IPv6

Affichage de toutes les routes connues par les routeurs du réseau. 

Affichez toutes les routes à l'aide de la commande traceroute.

Affichage du suivi de toutes les routes

Contrôle de la configuration de l'interface avec la commande ifconfig

La commande ifconfig vous permet d'assigner des adresses IP à des interfaces et de configurer des paramètres d'interface manuellement. De plus, les scripts de démarrage Oracle Solaris exécutent la commande ifconfig pour configurer des pseudo-interfaces, telles que des points d'extrémité de tunnels 6to4.

Ce manuel décrit les nombreuses tâches qui s'accomplissent avec les diverses options de la commande ifconfig. Pour de plus amples informations sur cette commande, ses options et ses variables, reportez-vous à la page de manuel ifconfig(1M) La commande ifconfig possède la syntaxe de base suivante :

ifconfig interface [famille protocole]

ProcedureMéthode d'obtention d'informations sur une interface spécifique

La commande ifconfig permet de déterminer les informations de base relatives aux interfaces d'un système particulier. Par exemple, une simple requête ifconfig peut indiquer les informations suivantes :

La procédure suivante décrit la façon dont la commande ifconfig doit être utilisée pour fournir des informations de configuration de base sur les interfaces d'un système.

  1. Sur l'hôte local, connectez-vous en tant qu'administrateur principal ou superutilisateur.

    Le rôle d'administrateur principal inclut le profil d'administrateur principal. Pour plus d'informations sur la création d'un rôle et son assignation à un utilisateur, reportez-vous au Chapitre 2, Working With the Solaris Management Console (Tasks) du System Administration Guide: Basic Administration.

  2. Récupérez les informations sur l'interface qui vous intéresse.


    # ifconfig interface
    

    La commande ifconfig affiche la sortie suivante :

    • Ligne relative au statut

      La première ligne de la sortie de la commande ifconfig indique le nom de l'interface ainsi que le statut qui lui est actuellement associé (par le biais d'un indicateur). Sur cette ligne figurent également l'unité de transmission maximale configurable sur l'interface ainsi qu'un numéro d'index. La ligne relative au statut vous permet de connaître l'état actuel de l'interface.

    • Ligne d'informations sur l'adresse IP

      La deuxième ligne de la sortie de la commande ifconfig inclut l'adresse IPv4 ou IPv6 configurée sur l'interface. S'il s'agit d'une adresse IPv4, cette ligne indique également le masque de réseau configuré et l'adresse de diffusion.

    • Ligne relative à l'adresse MAC

      Lorsque vous exécutez la commande ifconfig en tant que superutilisateur ou avec un rôle similaire, la sortie contient une troisième ligne. Si une adresse IPv4 est configurée, cette ligne indique l'adresse MAC (adresse de couche Ethernet) assignée à l'interface. S'il s'agit d'une adresse IPv6, cette troisième ligne contient l'adresse locale du lien que le démon IPv6 in.ndpd génère à partir de l'adresse MAC.


Exemple 8–1 Obtention d'informations de base sur l'interface avec la commande ifconfig

L'exemple suivant décrit la syntaxe de la commande ifconfig à rédiger pour obtenir des informations sur l'interface eri configurée sur un hôte particulier.


# ifconfig eri
eri0: flags=863<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 1
      inet 10.0.0.112 netmask ffffff80 broadcast 10.8.48.127
      ether 8:0:20:b9:4c:54 
	

Le tableau suivant décrit les informations de la variable de la requête de la commande ifconfig et comprend également la description de la variable qui peut s'afficher à l'écran et le type d'informations fournies. Il se base sur l'exemple de sortie précédent.

Variable 

Sortie écran 

Description 

Nom de l'interface 

eri0

Indique le nom du périphérique de l'interface dont le statut a été requis par la commande ifconfig.

Statut de l'interface 

flags=863<UP

Indique le statut de l'interface et spécifie notamment les indicateurs actuellement associés à celle-ci. Cette information vous permet de savoir si l'interface est initialisée (UP) ou non (DOWN ).

Statut de la diffusion 

BROADCAST

Indique si l'interface prend en charge les diffusions sur IPv4. 

Etat de transmission 

RUNNING

Indique si le système transmet actuellement des paquets via l'interface. 

Statut de la multidiffusion 

MULTICAST, IPv4

Indique si l'interface prend en charge les transmissions multidiffusions. Dans cet exemple, l'interface prend en charge les transmissions multidiffusions IPv4. 

Unité de transmission maximale 

mtu 1500

Indique que la taille de transfert maximale de cette interface est de 1 500 octets. 

Adresse IP 

inet 10.0.0.112

Indique l'adresse IPv4 ou IPv6 assignée à l'interface. Dans cet exemple, l'interface eri0 possède l'adresse IPv4 10.0.0.112.

Masque de réseau 

netmask ffffff80

Indique le masque de réseau IPv4 de l'interface. Notez que les adresses IPv6 n'utilisent pas de masques de réseau. 

Adresse MAC 

ether 8:0:20:b9:4c:54

Indique l'adresse de couche Ethernet de l'interface. 


ProcedureProcédure d'affichage des assignations d'adresses de l'interface

Les routeurs et hôtes multiréseaux possèdent plusieurs interfaces auxquelles sont souvent assignées plus d'une adresse IP. La commande ifconfig vous permet dans ce cas d'afficher toutes les adresses assignées aux interfaces d'un système. Elle peut n'indiquer que les assignations d'adresses IPv4 ou IPv6. Pour afficher également les adresses MAC des interfaces, vous devez d'abord vous connecter en tant que superutilisateur ou assumer un rôle similaire.

Pour de plus amples informations sur la commande ifconfig, reportez-vous à la page de manuel ifconfig(1M).

  1. Sur le système local, connectez-vous en tant qu'administrateur réseau ou superutilisateur.

    Les rôles contiennent des autorisations et des commandes privilégiées. Pour de plus amples informations sur les rôles, reportez-vous à la section Configuring RBAC (Task Map) du System Administration Guide: Security Services.

  2. Récupérez les informations sur toutes les interfaces.

    Vous pouvez exécuter la commande ifconfig -a pour obtenir les informations suivantes :

    • adresses de toutes les interfaces du système ;


      # ifconfig -a
      
    • toutes les adresses IPv4 assignées aux interfaces du système ;


      # ifconfig -a4
      
    • toutes les adresses IPv6 assignées aux interfaces du système, à condition que celui-ci soit compatible avec IPv6.


      ifconfig -a6
      

Exemple 8–2 Affichage des informations sur les adresses de toutes les interfaces

L'exemple suivant correspond à un hôte ne possédant qu'une interface du réseau principal nommée qfe0. La sortie de la commande ifconfig indique néanmoins que trois formes d'adresses sont actuellement assignées à qfe0 : loopback (lo0), IPv4 (inet) et IPv6 (inet6). Dans la section de la sortie relative à IPv6, la ligne de l'interface qfe0 indique une adresse IPv6 locale du lien. La seconde adresse de qfe0 figure sur la ligne qfe0:1.


% ifconfig -a
lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000 
qfe0: flags=1004843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 
        inet 10.0.0.112 netmask ffffff80 broadcast 10.0.0.127
        ether 8:0:20:b9:4c:54 
lo0: flags=2000849 <UP,RUNNING,MULTICAST,IPv6> mtu 8252 index 1
        inet6 ::1/128 
qfe0: flags=2000841 <UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2
        ether 8:0:20:b9:4c:54 
        inet6 fe80::a00:20ff:feb9:4c54/10 
qfe0:1: flags=2080841 <UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2
        inet6 2001:db8:3c4d:48:a00:20ff:feb9:4c54/64 


Exemple 8–3 Affichage des informations sur les adresses de toutes les interfaces IPv4

Dans l'exemple suivant, l'adresse IPv4 est configurée pour un hôte multiréseau. Pour exécuter ce type de commande ifconfig, vous devez vous connecter en tant que superutilisateur.


% ifconfig -a4
lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
qfe0: flags=1004843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 10.0.0.112 netmask ffffff80 broadcast 10.0.0.127
        ether 8:0:20:b9:4c:54 
qfe1: flags=1004843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 10.0.0.118 netmask ffffff80 broadcast 10.0.0.127
        ether 8:0:20:6f:5e:17


Exemple 8–4 Affichage des informations sur les adresses de toutes les interfaces IPv6

Cet exemple n'indique que les adresses IPv6 configurée pour un hôte particulier. Pour exécuter ce type de commande ifconfig, vous devez vous connecter en tant que superutilisateur.


% ifconfig -a6
lo0: flags=2000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv6> mtu 8252 index 1
        inet6 ::1/128 
qfe0: flags=2000841 <UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2
        ether 8:0:20:b9:4c:54 
        inet6 fe80::a00:20ff:feb9:4c54/10
qfe0:1: flags=2080841 <UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2
        inet6 2001:db8:3c4d:48:a00:20ff:feb9:4c54/64 

Cet exemple de sortie ifconfig indique les trois types d'adresse IPv6 assignés à une seule interface d'un hôte :

lo0

Adresse de loopback IPv6.

inet6 fe80::a00:20ff:feb9:4c54/10

Adresse locale du lien assignée à l'interface du réseau principal.

inet6 2001:db8:3c4d:48:a00:20ff:feb9:4c54/64

Adresse IPv6 (y compris le préfixe de sous-réseau). Le terme ADDRCONF qui figure dans la sortie indique que cette adresse a été automatiquement configurée par l'hôte.


Contrôle du statut du réseau à l'aide de la commande netstat

La commande netstat génère des affichages illustrant le statut du réseau ainsi que les statistiques des protocoles. Vous pouvez afficher le statut des points d'extrémité TCP, SCTP et UDP sous forme de table. Vous pouvez également afficher les informations de table de routage ainsi que les informations d'interface.

La commande netstat permet d'afficher différents types d'informations sur le réseau, suivant l'option de ligne de commande sélectionnée. Les affichages obtenus constituent la principale référence pour l'administration du système. L'exemple ci-dessous illustre la syntaxe de base de la commande netstat :

netstat [-m] [-n] [-s] [-i | -r] [-f famille-adresses]

Cette section décrit les options fréquemment utilisées avec la commande netstat. Pour obtenir une description détaillée des toutes les options netstat, reportez-vous à la page de manuel netstat(1M).

ProcedureAffichage des statistiques par protocole

L'option -s de la commande netstat permet d'afficher les statistiques des protocoles UDP, TCP, SCTP, ICMP et IP.


Remarque –

Vous pouvez obtenir la sortie de la commande netstat à l'aide du compte utilisateur Oracle Solaris.


  1. Affichez le statut du protocole.


    $ netstat -s
    

Exemple 8–5 Statistiques des protocoles réseau

L'exemple suivant illustre la sortie de la commande netstat - s. Certaines parties de la sortie ont été tronquées. La sortie peut signaler les opérations ayant généré des problèmes pour les différents protocoles. Par exemple, les statistiques affichées pour ICMPv4 et ICMPv6 peuvent signaler les opérations ayant généré des erreurs pour le protocole ICMP.


RAWIP
        rawipInDatagrams    =  4701     rawipInErrors       =     0
        rawipInCksumErrs    =     0     rawipOutDatagrams   =     4
        rawipOutErrors      =     0

UDP
        udpInDatagrams      = 10091     udpInErrors         =     0
        udpOutDatagrams     = 15772     udpOutErrors        =     0

TCP     tcpRtoAlgorithm     =     4     tcpRtoMin           =   400
        tcpRtoMax           = 60000     tcpMaxConn          =    -1
        .
        .
        tcpListenDrop       =     0     tcpListenDropQ0     =     0
        tcpHalfOpenDrop     =     0     tcpOutSackRetrans   =     0

IPv4    ipForwarding        =     2     ipDefaultTTL        =   255
        ipInReceives        =300182     ipInHdrErrors       =     0
        ipInAddrErrors      =     0     ipInCksumErrs       =     0
        .
        .
        ipsecInFailed       =     0     ipInIPv6            =     0
        ipOutIPv6           =     3     ipOutSwitchIPv6     =     0

IPv6    ipv6Forwarding      =     2     ipv6DefaultHopLimit =   255
        ipv6InReceives      = 13986     ipv6InHdrErrors     =     0
        ipv6InTooBigErrors  =     0     ipv6InNoRoutes      =     0
        .
        .
        rawipInOverflows    =     0     ipv6InIPv4          =     0
 
       ipv6OutIPv4         =     0     ipv6OutSwitchIPv4   =     0

ICMPv4  icmpInMsgs          = 43593     icmpInErrors        =     0
        icmpInCksumErrs     =     0     icmpInUnknowns      =     0
        .
        .
        icmpInOverflows     =     0

ICMPv6  icmp6InMsgs         = 13612     icmp6InErrors       =     0
        icmp6InDestUnreachs =     0     icmp6InAdminProhibs =     0
        .
        .
        icmp6OutGroupQueries=     0     icmp6OutGroupResps  =     2
        icmp6OutGroupReds   =     0

IGMP:
      12287 messages received
          0 messages received with too few bytes
          0 messages received with bad checksum
      12287 membership queries received
SCTP  sctpRtoAlgorithm     =  vanj    
      sctpRtoMin           =  1000 
      sctpRtoMax           = 60000
      sctpRtoInitial       =  3000
      sctpTimHearBeatProbe =     2
      sctpTimHearBeatDrop  =     0
      sctpListenDrop       =     0
      sctpInClosed         =     0 

ProcedureAffichage du statut des protocoles de transport

La commande netstat permet d'afficher le statut des protocoles de transport. Pour plus d'informations, reportez-vous à la page de manuel netstat(1M).

  1. Affichez le statut des protocoles de transport TCP et SCTP sur un système.


    $ netstat
    
  2. Affichez le statut d'un protocole de transport donné sur un système.


    $ netstat -P transport-protocol
    

    La variable protocole-transport peut être définie sur les valeurs suivantes : tcp, sctp ou udp.


Exemple 8–6 Affichage du statut des protocoles de transport TCP et SCTP

L'exemple ci-dessous illustre la sortie de base de la commande netstat. Les informations contenues dans la sortie se rapportent uniquement à IPv4.


$ netstat

TCP: IPv4
   Local Address     Remote Address    Swind Send-Q  Rwind Recv-Q      State
----------------- -------------------- ----- ------  ----- ------     -------
lhost-1.login      abc.def.local.Sun.COM.980 49640      0     49640    0 ESTABLISHED
lhost-1.login      ghi.jkl.local.Sun.COM.1020 49640     1     49640    0 ESTABLISHED
remhost-1.1014     mno.pqr.remote.Sun.COM.nfsd 49640    0     49640    0 TIME_WAIT
SCTP:                  
Local Address    Remote Address  Swind  Send-Q  Rwind  Recv-Q StrsI/O  State 
---------------- --------------  -----  ------ ------ ------  ------   -------
 *.echo            0.0.0.0            0       0 102400      0   128/1   LISTEN
 *.discard         0.0.0.0            0       0 102400      0   128/1   LISTEN
 *.9001            0.0.0.0            0       0 102400      0   128/1   LISTEN


Exemple 8–7 Affichage du statut d'un protocole de transport donné

L'exemple ci-dessous illustre le résultat obtenu suite à l'exécution de la commande netstat avec l'option -P.


$ netstat -P tcp
   
TCP: IPv4
   Local Address     Remote Address    Swind Send-Q  Rwind Recv-Q      State
----------------- -------------------- ----- ------  ----- ------     -------
lhost-1.login      abc.def.local.Sun.COM.980 49640      0     49640    0 ESTABLISHED
lhost.login        ghi.jkl.local.Sun.COM.1020 49640     1     49640    0 ESTABLISHED
remhost.1014       mno.pqr.remote.Sun.COM.nfsd 49640    0     49640    0 TIME_WAIT

TCP: IPv6
 Local Address    Remote Address        Swind Send-Q Rwind Recv-Q   State If 
---------------- ---------------------- ------ ----- ------ ----------- -----
localhost.38983   localhost.32777       49152      0 49152      0 ESTABLISHED      
localhost.32777   localhost.38983       49152      0 49152      0 ESTABLISHED      
localhost.38986   localhost.38980       49152      0 49152      0 ESTABLISHED      

ProcedureAffichage du statut de l'interface réseau

L'option i de la commande netstat illustre le statut des interfaces réseau configurées sur le système local. Cette option permet de déterminer le nombre de paquets transmis et reçus sur un système sur les différents réseaux.

  1. Affichez le statut des interfaces sur le réseau.


    $ netstat -i
    

Exemple 8–8 Affichage du statut d'interface réseau

L'exemple suivant illustre le statut du flux de paquets IPv4 et IPv6 sur les interfaces de l'hôte.

Par exemple, le nombre de paquets entrants (Ipkts) affiché pour un serveur peut augmenter à chaque tentative de démarrage d'un client alors que le nombre de paquets sortants (Opkts) reste inchangé. Ce résultat suggère que le serveur détecte les paquets de requête de démarrage envoyés par le client, mais qu'il ne parvient pas à formuler la réponse appropriée. Cette erreur peut être liée à la spécification d'une adresse incorrecte dans la base de données hosts, ipnodes ou ethers.

En revanche, si le nombre de paquets entrants reste inchangé sur la durée, l'ordinateur ne détecte même pas l'envoi des paquets. Ce résultat suggère un autre type d'erreur, vraisemblablement lié à un problème d'ordre matériel.


Name  Mtu  Net/Dest      Address        Ipkts  Ierrs Opkts  Oerrs Collis Queue 
lo0   8232 loopback      localhost      142    0     142    0     0      0     
hme0  1500 host58        host58        1106302 0     52419  0     0      0     

Name  Mtu  Net/Dest      Address                    Ipkts  Ierrs Opkts  Oerrs Collis
lo0   8252 localhost     localhost                   142    0     142    0     0     
hme0  1500 fe80::a00:20ff:feb9:4c54/10 fe80::a00:20ff:feb9:4c54 1106305 0 52422 0  0

ProcedureAffichage du statut des sockets

L'option -a de la commande netstat permet d'afficher le statut des sockets sur l'hôte local.

  1. Pour afficher le statut des sockets et des entrées de table de routage, saisissez la commande suivante :

    L'exécution de cette option de la commande netstat peut s'effectuer à l'aide du compte utilisateur.


    % netstat -a  
    

Exemple 8–9 Affichage de l'ensemble des sockets et des entrées de table de routage

La sortie de la commande netstat -a contient de nombreuses statistiques. L'exemple ci-dessous illustre certaines parties d'une sortie classique de la commande netstat -a.


UDP: IPv4
   Local Address         Remote Address     State
-------------------- -------------------- -------
      *.bootpc                              Idle
host85.bootpc                               Idle
      *.*                                   Unbound
      *.*                                   Unbound
      *.sunrpc                              Idle
      *.*                                   Unbound
      *.32771                               Idle
      *.sunrpc                              Idle
      *.*                                   Unbound
      *.32775                               Idle
      *.time                                Idle
       .
       .
      *.daytime                             Idle
      *.echo                                Idle
      *.discard                             Idle
      
UDP: IPv6
   Local Address                     Remote Address                   State      If  
--------------------------------- --------------------------------- ---------- -----
      *.*                                                           Unbound   
      *.*                                                           Unbound   
      *.sunrpc                                                      Idle      
      *.*                                                           Unbound   
      *.32771                                                       Idle      
      *.32778                                                       Idle      
      *.syslog                                                      Idle      
      .
      .
TCP: IPv4
   Local Address        Remote Address    Swind Send-Q Rwind Recv-Q  State
-------------------- -------------------- ----- ------ ----- ------ -------
      *.*                  *.*                0      0 49152      0 IDLE
localhost.4999             *.*                0      0 49152      0 LISTEN
      *.sunrpc             *.*                0      0 49152      0 LISTEN
      *.*                  *.*                0      0 49152      0 IDLE
      *.sunrpc             *.*                0      0 49152      0 LISTEN
      .
      .
      *.printer            *.*                0      0 49152      0 LISTEN
      *.time               *.*                0      0 49152      0 LISTEN
      *.daytime            *.*                0      0 49152      0 LISTEN
      *.echo               *.*                0      0 49152      0 LISTEN
      *.discard            *.*                0      0 49152      0 LISTEN
      *.chargen            *.*                0      0 49152      0 LISTEN
      *.shell              *.*                0      0 49152      0 LISTEN
      *.shell              *.*                0      0 49152      0 LISTEN
      *.kshell             *.*                0      0 49152      0 LISTEN
      *.login  
       .
       .
            *.*                0      0 49152      0 LISTEN
   *TCP: IPv6
 Local Address            Remote Address        Swind Send-Q Rwind Recv-Q   State If
----------------------- ----------------------- ----- ------ ----- ------    ----
   *.*                         *.*                0      0 49152      0      IDLE
   *.sunrpc                    *.*                0      0 49152      0      LISTEN
   *.*                         *.*                0      0 49152      0      IDLE
   *.32774                     *.*                0      0 49152

ProcedureAffichage du statut des transmissions de paquets associés à un type d'adresse spécifique

L'option -f de la commande netstat permet d'afficher les statistiques relatives aux transmissions de paquets associées à une famille d'adresses donnée.

  1. Affichez les statistiques relatives aux transmissions de paquets IPv4 ou IPv6.


    $ netstat -f inet  |  inet6
    

    Pour afficher les informations relatives aux transmissions IPv4, définissez l'argument inet pour la commande netstat -f. Pour afficher les informations relatives aux transmissions IPv6, définissez l'argument inet6 pour la commande netstat -f.


Exemple 8–10 Statut de transmission de paquets IPv4

L'exemple suivant illustre la sortie de la commande netstat - f inet.


TCP: IPv4
   Local Address        Remote Address    Swind Send-Q Rwind Recv-Q  State
-------------------- -------------------- ----- ------ ----- ------ -------
host58.734         host19.nfsd       49640      0 49640      0 ESTABLISHED
host58.38063       host19.32782      49640      0 49640      0 CLOSE_WAIT
host58.38146       host41.43601      49640      0 49640      0 ESTABLISHED
host58.996         remote-host.login 49640      0 49206      0 ESTABLISHED


Exemple 8–11 Statut de transmission de paquets IPv6

L'exemple suivant illustre la sortie de la commande netstat -f inet6.


TCP: IPv6
 Local Address          Remote Address        Swind Send-Q Rwind Recv-Q   State    If
------------------ ------------------------- ----- ------ ----- ------ --------- -----
localhost.38065         localhost.32792       49152   0 49152      0    ESTABLISHED  
localhost.32792         localhost.38065       49152   0 49152      0    ESTABLISHED 
localhost.38089         localhost.38057       49152   0 49152      0    ESTABLISHED 

ProcedureAffichage du statut des routes connues

L'option -r de la commande netstat permet d'afficher la table de routage de l'hôte local. Cette table représente le statut de toutes les routes connues de l'hôte. L'exécution de cette option de la commande netstat peut s'effectuer à l'aide du compte utilisateur.

  1. Affichez la table de routage IP.


    $ netstat -r
    

Exemple 8–12 Sortie de table de routage obtenue à l'aide de la commande netstat

L'exemple suivant illustre la sortie de la commande netstat -r.


Routing Table: IPv4
  Destination           Gateway           Flags  Ref   Use   Interface
-------------------- -------------------- ----- ----- ------ ---------
host15               myhost               U         1  31059  hme0
10.0.0.14            myhost               U         1      0  hme0
default              distantrouter        UG        1      2  hme0
localhost            localhost            UH        42019361  lo0

Routing Table: IPv6
  Destination/Mask            Gateway                   Flags Ref   Use   If  
--------------------------- --------------------------- ----- --- ------ -----
2002:0a00:3010:2::/64    2002:0a00:3010:2:1b2b:3c4c:5e6e:abcd U  1      0 hme0:1
fe80::/10                fe80::1a2b:3c4d:5e6f:12a2    U       1     23 hme0 
ff00::/8                 fe80::1a2b:3c4d:5e6f:12a2    U       1      0 hme0 
default                  fe80::1a2b:3c4d:5e6f:12a2    UG      1      0 hme0 
localhost                localhost                   UH      9  21832 lo0 

Le tableau suivant décrit les différents paramètres de la sortie à l'écran de la commande netstat —r.

Paramètre 

Description 

Destination

Destination/Mask

Spécifie l'hôte correspondant au point d'extrémité de destination de la route. Dans la table de routage IPv6, le point d'extrémité de destination est représenté par un préfixe de point d'extrémité de tunnel 6to4 ( 2002:0a00:3010:2::/64).

Gateway

Spécifie la passerelle de transmission des paquets. 

Flags

Indique le statut actuel de la route. L'indicateur U signifie que la route fonctionne. L'indicateur G signifie que la route mène à une passerelle.

Use

Affiche le nombre de paquets envoyés. 

Interface

Indique l'interface de l'hôte local correspondant au point d'extrémité source de la transmission. 


Test des hôtes distants à l'aide de la commande ping

La commande ping permet de déterminer le statut d'un hôte distant. Lors de l'exécution de la commande ping, le protocole ICMP envoie un datagramme à l'hôte spécifié et attend la réponse. Le protocole ICMP permet de gérer les erreurs se produisant sur les réseaux TCP/IP. L'exécution de la commande ping permet de déterminer l'existence d'une connexion IP pour l'hôte distant spécifié.

L'exemple suivant illustre la syntaxe de base de la commande ping :

/usr/sbin/ping hôte [délai]

Dans cette syntaxe, la variable hôte correspond au nom de l'hôte distant. L'argument délai indique la durée en secondes pendant laquelle la commande ping tente de contacter l'hôte distant. La valeur par défaut est de 20 secondes. Pour plus d'informations sur la syntaxe et les options de la commande, reportez-vous à la page de manuel ping(1M)

ProcedureVérification de l'exécution d'un hôte distant

  1. Tapez la commande ping suivante :


    $ ping hostname
    

    Si l'hôte nom-hôte accepte les transmissions ICMP, le message suivant s'affiche :


    hostname is alive

    Ce message indique que nom-hôte a répondu à la requête ICMP. En revanche, si nom-hôte ne fonctionne pas ou ne reçoit pas les paquets ICMP, la commande ping génère la réponse suivante :


    no answer from hostname
    

ProcedureDétection de l'abandon de paquets sur un hôte

L'option -s de la commande ping permet de vérifier qu'un hôte distant est en cours d'exécution et de détecter toute perte de paquet sur cet hôte.

  1. Tapez la commande ping suivante :


    $ ping -s hostname
    

Exemple 8–13 Sortie de la commande ping permettant la détection de l'abandon de paquet

La commande ping -s nom-hôte envoie des paquets en continu à l'hôte spécifié pendant un laps de temps donné ou jusqu'à l'envoi d'un caractère d'interruption. Les réponses affichées sont comparables à celles de l'écran suivant :


& ping -s host1.domain8
PING host1.domain8 : 56 data bytes
64 bytes from host1.domain8.COM (172.16.83.64): icmp_seq=0. time=1.67 ms
64 bytes from host1.domain8.COM (172.16.83.64): icmp_seq=1. time=1.02 ms
64 bytes from host1.domain8.COM (172.16.83.64): icmp_seq=2. time=0.986 ms
64 bytes from host1.domain8.COM (172.16.83.64): icmp_seq=3. time=0.921 ms
64 bytes from host1.domain8.COM (172.16.83.64): icmp_seq=4. time=1.16 ms
64 bytes from host1.domain8.COM (172.16.83.64): icmp_seq=5. time=1.00 ms
64 bytes from host1.domain8.COM (172.16.83.64): icmp_seq=5. time=1.980 ms

^C

----host1.domain8  PING Statistics----
7 packets transmitted, 7 packets received, 0% packet loss
round-trip (ms)  min/avg/max/stddev = 0.921/1.11/1.67/0.26

La statistique de perte de paquet indique si l'hôte a abandonné des paquets. Si la commande ping échoue, vérifiez le statut du réseau indiqué dans les sorties des commandes ifconfig et netstat. Reportez-vous aux sections Contrôle de la configuration de l'interface avec la commande ifconfig et Contrôle du statut du réseau à l'aide de la commande netstat.


Administration et journalisation des affichages de statut du réseau

Les tâches suivantes illustrent les procédures de vérification du statut du réseau à l'aide de commandes de réseau standard.

ProcedureContrôle de la sortie d'affichage des commandes IP

Vous pouvez définir la sortie des commandes netstat et ifconfig de manière à afficher uniquement les informations IPv4 ou à afficher les informations IPv4 et IPv6.

  1. Créez le fichier /etc/default/inet_type.

  2. Ajoutez l'une des entrées suivantes au fichier /etc/default/inet_type :

    • Pour afficher uniquement les informations IPv4 :


      DEFAULT_IP=IP_VERSION4
    • Pour afficher les informations IPv4 et IPv6 :


      DEFAULT_IP=BOTH

      Ou


      DEFAULT_IP=IP_VERSION6

      Pour plus d'informations sur le fichier inet_type, reportez-vous à la page de manuel inet_type(4).


    Remarque –

    Les indicateurs -4 et -6 de la commande ifconfig ont priorité sur les valeurs définies dans le fichier inet_type. L'indicateur -f de la commande netstat a également priorité sur les valeurs définies dans le fichier inet_type.



Exemple 8–14 Contrôle de la sortie pour la sélection des informations IPv4 et IPv6


ProcedureJournalisation des actions du démon de routage IPv4

Si vous pensez que le démon de routage IPv4 routed ne fonctionne pas correctement, vous pouvez créer un journal permettant d'effectuer le suivi de l'activité correspondante. Le journal inclut tous les transferts de paquets à compter du démarrage du démon routed.

  1. Sur l'hôte local, connectez-vous en tant qu'administrateur principal ou superutilisateur.

    Le rôle d'administrateur principal inclut le profil d'administrateur principal. Pour plus d'informations sur la création d'un rôle et son assignation à un utilisateur, reportez-vous au Chapitre 2, Working With the Solaris Management Console (Tasks) du System Administration Guide: Basic Administration.

  2. Créez un fichier journal permettant d'effectuer le suivi des opérations du démon :


    # /usr/sbin/in.routed /var/log-file-name
    

    Attention – Attention –

    Sur les réseaux à forte activité, la sortie de cette commande peut être générée sur une base quasi continue.



Exemple 8–15 Journal réseau du démon in.routed

L'exemple suivant illustre le début du journal créé à l'aide de la procédure Journalisation des actions du démon de routage IPv4.


-- 2003/11/18 16:47:00.000000 --
Tracing actions started
RCVBUF=61440
Add interface lo0  #1   127.0.0.1      -->127.0.0.1/32   
   <UP|LOOPBACK|RUNNING|MULTICAST|IPv4> <PASSIVE> 
Add interface hme0 #2   10.10.48.112    -->10.10.48.0/25   
    <UP|BROADCAST|RUNNING|MULTICAST|IPv4> 
turn on RIP
Add    10.0.0.0        -->10.10.48.112      metric=0  hme0  <NET_SYN>
Add    10.10.48.85/25  -->10.10.48.112      metric=0  hme0  <IF|NOPROP>

ProcedureSuivi des activités du démon de détection des voisins IPv6

Si vous pensez que le démon IPv6 in.ndpd ne fonctionne pas correctement, vous pouvez générer le suivi de l'activité correspondante. Le suivi s'affiche sur la sortie standard jusqu'à l'arrêt du processus. Il inclut tous les transferts de paquets à compter du démarrage du démon in.ndpd.

  1. Connectez-vous au nœud IPv6 local en tant qu'administrateur principal ou superutilisateur.

    Le rôle d'administrateur principal inclut le profil d'administrateur principal. Pour plus d'informations sur la création d'un rôle et son assignation à un utilisateur, reportez-vous au Chapitre 2, Working With the Solaris Management Console (Tasks) du System Administration Guide: Basic Administration.

  2. Générez le suivi du démon in.ndpd.


    # /usr/lib/inet/in.ndpd -t
    
  3. Pour arrêter le processus de suivi, appuyez sur les touches Ctrl-C.


Exemple 8–16 Suivi de l'activité du démon in.ndpd

La sortie suivante illustre le début du suivi du démon in.ndpd.


# /usr/lib/inet/in.ndpd -t
Nov 18 17:27:28 Sending solicitation to  ff02::2 (16 bytes) on hme0
Nov 18 17:27:28         Source LLA: len 6 <08:00:20:b9:4c:54>
Nov 18 17:27:28 Received valid advert from fe80::a00:20ff:fee9:2d27 (88 bytes) on hme0
Nov 18 17:27:28         Max hop limit: 0
Nov 18 17:27:28         Managed address configuration: Not set
Nov 18 17:27:28         Other configuration flag: Not set
Nov 18 17:27:28         Router lifetime: 1800
Nov 18 17:27:28         Reachable timer: 0
Nov 18 17:27:28         Reachable retrans timer: 0
Nov 18 17:27:28         Source LLA: len 6 <08:00:20:e9:2d:27>
Nov 18 17:27:28         Prefix: 2001:08db:3c4d:1::/64
Nov 18 17:27:28                 On link flag:Set
Nov 18 17:27:28                 Auto addrconf flag:Set
Nov 18 17:27:28                 Valid time: 2592000
Nov 18 17:27:28                 Preferred time: 604800
Nov 18 17:27:28         Prefix: 2002:0a00:3010:2::/64
Nov 18 17:27:28                 On link flag:Set
Nov 18 17:27:28                 Auto addrconf flag:Set
Nov 18 17:27:28                 Valid time: 2592000
Nov 18 17:27:28                 Preferred time: 604800

Affichage des informations de routage à l'aide de la commande traceroute

La commande traceroute permet d'obtenir le suivi de la route empruntée par un paquet IP pour accéder à un système distant. Pour plus d'informations sur la commande traceroute, reportez-vous à la page de manuel traceroute(1M).

La commande traceroute permet de détecter les erreurs de configuration de routage et les échecs de chemin de routage. Si un hôte est inaccessible, la commande traceroute permet d'afficher le chemin suivi par les paquets afin de détecter les emplacements susceptibles d'être à l'origine de l'échec.

La commande traceroute affiche également le délai d'aller-retour de chaque passerelle sur le chemin d'accès à l'hôte cible. Ces informations permettent notamment de déterminer l'emplacement des ralentissements de trafic entre les deux hôtes.

ProcedureDétermination de la route menant à un hôte distant

  1. Pour déterminer la route menant à un hôte distant, exécutez la commande suivante :


    % traceroute destination-hostname
    

    L'exécution de cette forme de la commande traceroute peut s'effectuer à l'aide du compte utilisateur.


Exemple 8–17 Affichage de la route menant à un hôte distant à l'aide de la commande traceroute

La sortie suivante de la commande traceroute affiche le chemin à sept sauts suivi par les paquets pour circuler du système local nearhost vers le système distant farhost. La sortie illustre également le temps nécessaire à un paquet pour traverser les différents sauts.


istanbul% traceroute farhost.faraway.com
	traceroute to farhost.faraway.com (172.16.64.39), 30 hops max, 40 byte packets
	 1  frbldg7c-86 (172.16.86.1)  1.516 ms  1.283 ms  1.362 ms
	 2  bldg1a-001 (172.16.1.211)  2.277 ms  1.773 ms  2.186 ms
	 3  bldg4-bldg1 (172.16.4.42)  1.978 ms  1.986 ms  13.996 ms
	 4  bldg6-bldg4 (172.16.4.49)  2.655 ms  3.042 ms  2.344 ms
	 5  ferbldg11a-001 (172.16.1.236)  2.636 ms  3.432 ms  3.830 ms
	 6  frbldg12b-153 (172.16.153.72)  3.452 ms  3.146 ms  2.962 ms
	 7  sanfrancisco (172.16.64.39)  3.430 ms  3.312 ms  3.451 ms

ProcedureAffichage du suivi de toutes les routes

Cette procédure permet d'afficher le suivi de toutes les routes à l'aide de l'option -a de la commande traceroute.

  1. Exécutez la commande suivante sur le système local :


    % traceroute -ahost-name
    

    L'exécution de cette forme de la commande traceroute peut s'effectuer à l'aide du compte utilisateur.


Exemple 8–18 Affichage du suivi de toutes les routes menant à un hôte double pile

L'exemple ci-dessous illustre toutes les routes possibles pour accéder à un hôte double pile.


% traceroute -a v6host.remote.com
traceroute: Warning: Multiple interfaces found; using 2::56:a0:a8 @ eri0:2
traceroute to v6host (2001:db8:4a3b::102:a00:fe79:19b0),30 hops max, 60 byte packets
 1  v6-rout86 (2001:db8:4a3b:56:a00:fe1f:59a1)  35.534 ms  56.998 ms * 
 2  2001:db8::255:0:c0a8:717  32.659 ms  39.444 ms *
 3  farhost.faraway.COM (2001:db8:4a3b::103:a00:fe9a:ce7b)  401.518 ms  7.143 ms *
 4  distant.remote.com (2001:db8:4a3b::100:a00:fe7c:cf35)  113.034 ms  7.949 ms *
 5  v6host (2001:db8:4a3b::102:a00:fe79:19b0)  66.111 ms *  36.965 ms

traceroute to v6host.remote.com  (192.168.10.75),30 hops max,40 byte packets
 1  v6-rout86 (172.16.86.1)  4.360 ms  3.452 ms  3.479 ms
 2  flrmpj17u.here.COM (172.16.17.131)  4.062 ms  3.848 ms  3.505 ms
 3  farhost.farway.com (10.0.0.23)  4.773 ms *  4.294 ms
 4  distant.remote.com (192.168.10.104)  5.128 ms  5.362 ms *
 5  v6host  (192.168.15.85)  7.298 ms  5.444 ms *
 

Contrôle du transfert des paquets à l'aide de la commande snoop

La commande snoop permet de contrôler le statut des transferts de données. La commande snoop permet de capturer les paquets réseau et d'afficher leur contenu au format spécifié. Les paquets peuvent être affichés dès leur réception ou dès l'enregistrement dans un fichier. L'écriture des données dans un fichier intermédiaire par la commande snoop permet de réduire la probabilité de perte de paquet liée à l'activité de suivi. Le fichier est alors également interprété par la commande snoop.

Pour capturer des paquets en provenance et à destination de l'interface par défaut en mode promiscuité, vous devez vous connecter en tant qu'administrateur réseau ou superutilisateur. Dans sa forme contractée, la commande snoop affiche uniquement les données en rapport avec le protocole principal. Par exemple, un paquet NFS affiche uniquement les informations NFS. Les informations RPC, UDP, IP et Ethernet sont supprimées, mais vous pouvez y accéder en sélectionnant l'une des options détaillées de la commande.

L'exécution répétée à intervalles fréquents de la commande snoop permet d'identifier les comportements normaux du système. Pour obtenir de l'aide sur l'analyse des paquets, consultez les livres blancs et documents RFC récents et demandez conseil aux experts dans les domaines concernés (par exemple, NFS ou NIS). Pour plus d'informations sur l'utilisation de la commande snoop et des options associées, reportez-vous à la page de manuel snoop(1M)

ProcedureVérification des paquets en provenance de toutes les interfaces

  1. Sur l'hôte local, connectez-vous en tant qu'administrateur réseau ou superutilisateur.

    Les rôles contiennent des autorisations et des commandes privilégiées. Pour de plus amples informations sur les rôles, reportez-vous à la section Configuring RBAC (Task Map) du System Administration Guide: Security Services.

  2. Imprimez les informations sur les interfaces connectées au système.


    # ifconfig -a
    

    La commande snoop utilise normalement le premier périphérique non-loopback (en principe, l'interface réseau principale).

  3. Commencez la capture des paquets en exécutant la commande snoop sans argument, comme illustré dans l'Exemple 8–19.

  4. Pour arrêter le processus, appuyez sur les touches Ctrl-C.


Exemple 8–19 Sortie de la commande snoop

La commande snoop standard renvoie une sortie comparable à l'écran suivant (pour un hôte double pile).


% snoop
Using device /dev/hme (promiscuous mode)
farhost.remote.com -> myhost       RLOGIN C port=993 
    myhost -> farhost.remote.com   RLOGIN R port=993 Using device /dev/hme
router5.local.com -> router5.local.com ARP R 10.0.0.13, router5.local.com is
    0:10:7b:31:37:80
router5.local.com -> BROADCAST     TFTP Read "network-confg" (octet)
farhost.remote.com -> myhost       RLOGIN C port=993 
    myhost ->   nisserve2          NIS C MATCH 10.0.0.64 in ipnodes.byaddr
nisserve2 ->    myhost             NIS R MATCH No such key
    blue-112 -> slave-253-2        NIS C MATCH 10.0.0.112 in ipnodes.byaddr
myhost -> DNSserver.local.com      DNS C 192.168.10.10.in-addr.arpa. Internet PTR ?
DNSserver.local.com  myhost        DNS R 192.168.10.10.in-addr.arpa. Internet PTR 
   niserve2.
.
.
farhost.remote.com-> myhost        RLOGIN C port=993 
    myhost -> farhost.remote.com   RLOGIN R port=993 fe80::a00:20ff:febb:
.
fe80::a00:20ff:febb:e09 -> ff02::9 RIPng R (5 destinations)

Les paquets capturés dans cette sortie comprennent une section de connexion à distance, qui contient des requêtes vers les serveurs NIS et DNS pour la résolution d'adresse. Ils comprennent également des paquets ARP périodiques en provenance du routeur local et des publications de l'adresse IPv6 lien-local sur in.ripngd.


ProcedureCapture de la sortie de la commande snoop dans un fichier

  1. Sur l'hôte local, connectez-vous en tant qu'administrateur réseau ou superutilisateur.

    Les rôles contiennent des autorisations et des commandes privilégiées. Pour de plus amples informations sur les rôles, reportez-vous à la section Configuring RBAC (Task Map) du System Administration Guide: Security Services.

  2. Capturez une session de commande snoop dans un fichier.


    # snoop -o filename
    

    Exemple :


    # snoop -o /tmp/cap
    Using device /dev/eri (promiscuous mode)
    30 snoop: 30 packets captured

    Dans cet exemple, 30 paquets sont capturés dans le fichier /tmp/cap. Ce fichier peut se trouver dans tout répertoire contenant suffisamment d'espace disque. Le nombre de paquets capturés s'affiche sur la ligne de commande. Vous pouvez dès lors appuyez sur les touches Ctrl-C à tout moment pour arrêter le processus.

    La commande snoop génère une charge réseau conséquente, ce qui risque de fausser légèrement les résultats. Pour garantir la précision des résultats, exécutez la commande snoop à partir d'un système tiers.

  3. Consultez le fichier de capture de sortie de la commande snoop.


    # snoop -i filename
    

Exemple 8–20 Contenu du fichier de capture de sortie de la commande snoop

La sortie suivante illustre diverses captures susceptibles d'être obtenues suite à l'exécution de la commande snoop -i.


# snoop -i /tmp/cap
1   0.00000 fe80::a00:20ff:fee9:2d27 -> fe80::a00:20ff:fecd:4375 
    ICMPv6 Neighbor advertisement
2   0.16198 farhost.com   -> myhost     RLOGIN C port=985 
3   0.00008 myhost -> farhost.com       RLOGIN R port=985 
10  0.91493    10.0.0.40 -> (broadcast)  ARP C Who is 10.0.0.40, 10.0.0.40 ?
34  0.43690 nearserver.here.com  -> 224.0.1.1  IP  D=224.0.1.1 S=10.0.0.40 LEN=28, 
      ID=47453, TO =0x0, TTL=1
35  0.00034  10.0.0.40 -> 224.0.1.1    IP  D=224.0.1.1 S=10.0.0.40 LEN=28, ID=57376, 
     TOS=0x0, TTL=47  

ProcedureVérification des paquets transmis entre un client et un serveur IPv4

  1. Définissez un système snoop à partir d'un hub connecté soit au serveur soit au client.

    Le système tiers (système snoop) vérifie tous les types de trafic entre les deux ordinateurs. Le suivi obtenu grâce à la commande snoop reflète donc le transfert réel de données.

  2. Sur le système snoop, connectez-vous en tant qu'administrateur réseau ou superutilisateur.

    Les rôles contiennent des autorisations et des commandes privilégiées. Pour de plus amples informations sur les rôles, reportez-vous à la section Configuring RBAC (Task Map) du System Administration Guide: Security Services.

  3. Exécutez la commande snoop associée aux options appropriées, puis enregistrez la sortie dans un fichier.

  4. Consultez et interprétez la sortie.

    Reportez-vous au document RFC 1761, Snoop Version 2 Packet Capture File Format pour plus d'informations sur le fichier de capture snoop.

ProcedureContrôle du trafic réseau IPv6

La commande snoop permet d'afficher les paquets IPv6 uniquement.

  1. Sur le nœud local, connectez-vous en tant qu'administrateur réseau ou superutilisateur.

    Les rôles contiennent des autorisations et des commandes privilégiées. Pour de plus amples informations sur les rôles, reportez-vous à la section Configuring RBAC (Task Map) du System Administration Guide: Security Services.

  2. Capturez les paquets IPv6.


    # snoop ip6
    

    Pour plus d'informations sur la commande snoop, reportez-vous à la page de manuel snoop(1M).


Exemple 8–21 Affichage du trafic réseau IPv6 uniquement

L'exemple suivant illustre la sortie standard susceptible d'être obtenue suite à l'exécution de la commande snoop ip6 sur un nœud.


# snoop ip6
fe80::a00:20ff:fecd:4374 -> ff02::1:ffe9:2d27 ICMPv6 Neighbor solicitation
fe80::a00:20ff:fee9:2d27 -> fe80::a00:20ff:fecd:4375 ICMPv6 Neighbor 
      solicitation
fe80::a00:20ff:fee9:2d27 -> fe80::a00:20ff:fecd:4375 ICMPv6 Neighbor 
      solicitation
fe80::a00:20ff:febb:e09 -> ff02::9      RIPng R (11 destinations)
fe80::a00:20ff:fee9:2d27 -> ff02::1:ffcd:4375 ICMPv6 Neighbor solicitation

Administration de la sélection des adresses par défaut

Oracle Solaris permet à une interface unique de disposer de plusieurs adresses IP. Par exemple, certaines fonctionnalités telles que la fonctionnalité IPMP (multiacheminement sur réseau IP) permettent la connexion de plusieurs cartes d'interface réseau (NIC, network interface card) sur la même couche de liaison IP. Cette liaison peut être associée à une ou plusieurs adresses IP. Les interfaces des systèmes IPv6 possèdent également une adresse IPv6 lien-local, au moins une adresse de routage IPv6 ainsi qu'une adresse IPv4 pour au moins une interface.

Lorsque le système génère une transaction, une application envoie un appel vers le socket getaddrinfo. getaddrinfo détecte les adresses susceptibles d'être utilisées sur le système de destination. Le noyau établit alors l'ordre de priorité de cette liste afin de déterminer la destination appropriée pour le paquet. Ce processus est appelé classement des adresses de destination. Le noyau Oracle Solaris sélectionne le format approprié pour l'adresse source en fonction de l'adresse de destination déterminée pour le paquet. Ce processus est appelé sélection des adresses. Pour plus d'informations sur le classement des adresses de destination, reportez-vous à la page de manuel getaddrinfo(3SOCKET).

Le processus de sélection des adresses par défaut doit s'effectuer sur les systèmes IPv4 uniquement ainsi que sur les systèmes double pile IPv4/IPv6. Dans la plupart des cas, il n'est pas nécessaire de modifier les mécanismes de sélection des adresses par défaut. Toutefois, vous devrez peut-être modifier l'ordre de priorité des formats d'adresse de manière à prendre en charge la fonctionnalité IPMP ou à préférer les formats d'adresse 6to4, par exemple.

ProcedureAdministration de la table des règles de sélection d'adresses IPv6

La section ci-dessous décrit la procédure de modification de la table des règles de sélection d'adresses. Pour plus d'informations concernant la sélection des adresses IPv6 par défaut, reportez-vous à la section Commande ipaddrsel.


Attention – Attention –

La table des règles de sélection d'adresses IPv6 doit uniquement être modifiée sur la base des motifs décrits dans la tâche suivante. Les erreurs de définition de la table des règles risquent d'entraîner des problèmes de fonctionnement du réseau. Veillez à enregistrer une copie de sauvegarde de la table des règles, comme indiqué à la procédure suivante.


  1. Connectez-vous en tant qu'administrateur principal ou superutilisateur.

    Le rôle d'administrateur principal inclut le profil d'administrateur principal. Pour plus d'informations sur la création d'un rôle et son assignation à un utilisateur, reportez-vous au Chapitre 2, Working With the Solaris Management Console (Tasks) du System Administration Guide: Basic Administration.

  2. Consultez la table de stratégie de sélection d'adresse IPv6 actuelle.


    # ipaddrsel
    # Prefix                  Precedence Label
    ::1/128                           50 Loopback
    ::/0                              40 Default
    2002::/16                         30 6to4
    ::/96                             20 IPv4_Compatible
    ::ffff:0.0.0.0/96                 10 IPv4
  3. Effectuez une copie de la table des règles de sélection d'adresses par défaut.


    # cp /etc/inet/ipaddrsel.conf /etc/inet/ipaddrsel.conf.orig
    
  4. Apportez les modifications souhaitées au fichier /etc/inet/ipaddrsel.conf dans un éditeur de texte.

    Utilisez la syntaxe suivante pour les entrées de fichier /etc/inet/ipaddrsel :


    prefix/prefix-length precedence label [# comment ] 
    

    Les exemples ci-dessous illustrent les modifications susceptibles d'être apportées le plus souvent à la table des règles :

    • Définition des adresses 6to4 sur la priorité la plus élevée :


      2002::/16                         50 6to4
      ::1/128                           45 Loopback

      Le format d'adresse 6to4 dispose dorénavant de la plus haute priorité (50). Loopback, qui disposait auparavant d'une priorité de 50, dispose dorénavant d'une priorité de 45. Les autres formats d'adresse restent inchangés.

    • Définition d'une adresse source spécifique pour les communications avec une adresse de destination donnée :


      ::1/128                           50 Loopback
      2001:1111:1111::1/128             40 ClientNet
      2001:2222:2222::/48               40 ClientNet
      ::/0                              40 Default

      Ce type de configuration s'utilise notamment pour les hôtes associés à une seule interface physique. Dans cet exemple, l'adresse source 2001:1111:1111::1/128 est définie en tant qu'adresse prioritaire pour les paquets adressés aux destinations du réseau 2001:2222:2222::/48. L'adresse source 2001:1111:1111::1/128 est associée à la priorité 40, priorité supérieure à celle des autres formats d'adresse configurés pour l'interface.

    • Préférence des adresses IPv4 par rapport aux adresses IPv6 :


      ::ffff:0.0.0.0/96                 60 IPv4
      ::1/128                           50 Loopback
      .
      .

      La priorité par défaut du format IPv4 ::ffff:0.0.0.0/96 passe de 10 à 60, soit la priorité la plus élevée de la table.

  5. Chargez la table de règles modifiée dans le noyau.


    ipaddrsel -f /etc/inet/ipaddrsel.conf
    
  6. Si la table des règles modifiée génère des erreurs, restaurez la table des règles de sélection des adresses IPv6 par défaut.


    # ipaddrsel -d
    

ProcedureModification de la table des règles de sélection des adresses IPv6 pour la session en cours uniquement

Les modifications apportées au fichier /etc/inet/ipaddrsel.conf sont conservées lors des sessions suivantes. Si vous souhaitez modifier la table des règles uniquement pour la session en cours, effectuez la procédure suivante.

  1. Connectez-vous en tant qu'administrateur principal ou superutilisateur.

    Le rôle d'administrateur principal inclut le profil d'administrateur principal. Pour plus d'informations sur la création d'un rôle et son assignation à un utilisateur, reportez-vous au Chapitre 2, Working With the Solaris Management Console (Tasks) du System Administration Guide: Basic Administration.

  2. Copiez le contenu du fichier /etc/inet/ipaddrsel dans le fichier nom-fichier, où nom-fichier désigne le nom de votre choix.


    # cp /etc/inet/ipaddrsel filename
    
  3. Apportez les modifications souhaitées à la table des règles dans le fichier nom-fichier.

  4. Chargez la table de règles modifiée dans le noyau.


    # ipaddrsel -f filename
    

    Le noyau utilise la nouvelle table des règles jusqu'au prochain redémarrage du système.