JavaScript is required to for searching.
Ignorer les liens de navigation
Quitter l'aperu
Guide d'administration système : services IP
search filter icon
search icon

Informations document

Préface

Partie I Introduction à l'administration système : services IP

1.  Suite de protocoles réseau TCP/IP Oracle Solaris (présentation)

Partie II Administration TCP/IP

2.  Planification de votre réseau TCP/IP (tâches)

3.  Présentation d'IPv6

4.  Planification d'un réseau IPv6 (tâches)

5.  Configuration des services réseau TCP/IP et de l'adressage IPv4 (tâches)

6.  Administration d'interfaces réseau (tâches)

7.  Configuration d'un réseau IPv6 (tâches)

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

9.  Dépannage des problèmes de réseau (tâches)

10.  Présentation détaillée de TCP/IP et IPv4 (référence)

11.  Présentation détaillée de IPv6 (référence)

Partie III DHCP

12.  À propos de DHCP (présentation)

13.  Planification pour le service DHCP (liste des tâches)

14.  Configuration du service DHCP (tâches)

15.  Administration de DHCP (tâches)

16.  Configuration et administration du client DHCP

À propos du client DHCP

Serveur DHCPv6

Différences entre DHCPv4 et DHCPv6

Modèle administratif

Adresse MAC et ID de client

Détails du protocole

Interfaces logiques

Négociation d'options

Syntaxe de configuration

Démarrage du client DHCP

Communication DHCPv6

Gestion des données de configuration réseau par les protocoles client DHCP

Traitement des données de configuration réseau par le client DHCPv4

Traitement des données de configuration réseau par le client DHCPv6

Arrêt du client DHCP

Activation et désactivation d'un client DHCP

Activation du client DHCP

Désactivation d'un client DHCP

Administration du client DHCP

Options de la commande ifconfig utilisées par le client DHCP

Définition des paramètres de configuration du client DHCP

Pour DHCPv4

Pour DHCPv4 et DHCPv6

Systèmes clients DHCP avec plusieurs interfaces réseau

Noms d'hôtes du client DHCPv4

Activation d'un client DHCPv4 pour qu'il demande un nom d'hôte spécifique

Systèmes clients DHCP et services de noms

Configuration des clients DHCP en tant que clients NIS+

Configuration des clients DHCP en tant que clients NIS+

Scripts d'événement client DHCP

17.  Résolution des problèmes DHCP (référence)

18.  Commandes et fichiers DHCP (référence)

Partie IV IPsec

19.  Architecture IPsec (présentation)

20.  Configuration d'IPsec (tâches)

21.  Architecture IPsec (référence)

22.  Protocole IKE (présentation)

23.  Configuration du protocole IKE (tâches)

24.  Protocole IKE (référence)

25.  IP Filter dans Oracle Solaris (présentation)

26.  IP Filter (tâches)

Partie V Mobile IP

27.  Mobile IP (présentation)

28.  Administration de Mobile IP (tâches)

29.  Fichiers et commandes de Mobile IP (références)

Partie VI IPMP

30.  Présentation d'IPMP

31.  Administration d'IPMP (tâches)

Partie VII Qualité de service IP (IPQoS)

32.  Présentation d'IPQoS (généralités)

33.  Planification d'un réseau IPQoS (tâches)

34.  Création du fichier de configuration IPQoS (tâches)

35.  Démarrage et maintenance d'IPQoS (tâches)

36.  Utilisation de la comptabilisation des flux et de la collecte statistique (tâches)

37.  IPQoS en détails (référence)

Glossaire

Index

Scripts d'événement client DHCP

Il est possible de configurer le client DHCP de façon à l'utiliser comme un programme exécutable ou un script en vue d'effectuer des actions appropriées pour le système client. Le programme ou le script, appelé script d'événement, est exécuté automatiquement dès que certains événements liés au bail DHCP se produisent. Vous pouvez vous servir du script d'événement pour exécuter d'autres commandes, programmes ou scripts en réponse à des événements de bail spécifiques. Pour ce faire, vous devez fournir votre propre script d'événement.

Les mots-clés d'événement suivants sont utilisés par dhcpagent pour signifier des événements de bail DHCP :

Mot-clé d'événement

Description

BOUND et BOUND6

L'interface est configurée pour DHCP. Le client reçoit l'accusé de réception (DHCPv4 ACK) ou (DHCPv6 Reply ) du serveur DHCP, qui lui accorde la demande de bail pour une adresse IP. Le script d'événement est appelé immédiatement après la configuration de l'interface.

EXTEND et EXTEND6

Le client prolonge le bail de la ligne spécialisée. Le script d'événement est appelé dès que le client reçoit l'accusé de réception du serveur DHCP ayant trait à la demande de renouvellement.

EXPIRE et EXPIRE6

Le bail expire à la date butoir fixée. Pour DHCPv4, le script d'événement est appelé avant la suppression de l'adresse louée de l'interface et l'interface est signalée comme arrêtée. Pour DHCPv6, le script d'événement est appelé avant la suppression des dernières adresses louées de l'interface.

DROP et DROP6

Le client abandonne la ligne spécialisée pour retirer l'interface du contrôle de DHCP. Le script d'événement est appelé juste avant que l'interface n'échappe au contrôle de DHCP.

RELEASE et RELEASE6

Le client libère l'adresse IP. Le script d'événement est appelé juste avant que le client ne libère l'adresse sur l'interface et n'envoie le paquet DHCPv4 RELEASE ou DHCPv6 Release au serveur DHCP.

INFORM et INFORM6

Une interface se procure des données de configuration nouvelles ou mises à jour à partir d'un serveur DHCP par l'intermédiaire du paquet DHCPv4 INFORM ou du message DHCPv6 Information-Request. Ces événements se produisent si le client DHCP obtient uniquement les paramètres de configuration du serveur, mais pas le bail d'une adresse IP.

LOSS6

Pendant la phase d'expiration, lorsqu'il reste un ou plusieurs baux valides, le script d'événement est appelé juste avant la suppression des adresses expirées. Les adresses effacées sont signalées par l'indicateur IFF_DEPRECATED.

Pour chacun de ces événements, dhcpagent exécute la commande suivante :

/etc/dhcp/eventhook interface event

interface représente l'interface faisant appel à DHCP et événement correspond à un des mots-clés d'événement décrits précédemment. Par exemple, la première fois que vous configurez l'interface ce0 pour DHCP, dhcpagent appelle le script d'événement de la façon suivante :

/etc/dhcp/eventhook ce0 BOUND

Pour utiliser la fonction de script d'événement, vous devez effectuer les opérations suivantes :

Le script d'événement hérite son environnement de programme de dhcpagent et s'exécute avec les privilèges root. Il peut faire appel à l'utilitaire dhcpinfo pour obtenir des informations supplémentaires au sujet de l'interface, si cela est nécessaire. Pour plus d'informations, reportez-vous à la page de manuel dhcpinfo(1).

Le démon dhcpagent attend que le script d'événement prenne fin pour tous les événements. Si le script d'événement ne se termine au bout de 55 secondes, dhcpagent envoie un signal SIGTERM au processus du script. Si le processus ne se termine par au bout de trois secondes supplémentaires, le démon envoie un signal SIGKILL pour interrompre le processus.

Vous trouverez un exemple de script d'événement dans la page de manuel dhcpagent(1M).

L'Exemple 16-3 illustre l'utilisation d'un script d'événement DHCP pour maintenir le contenu du fichier /etc/resolv.conf à jour. Lorsque les événements BOUND et EXTEND se produisent, le script remplace les noms du serveur de domaine et du serveur de noms. Lorsque les événements EXPIRE, DROP et RELEASE se produisent, le script supprime les noms du serveur de domaine et du serveur de noms du fichier.


Remarque - Le script proposé en exemple considère que DHCP est la source qui fait autorité pour les noms du serveur de domaine et le serveur de noms. Il suppose également que toutes les interfaces sous le contrôle de DHCP renvoient des informations cohérentes et à jour. Il est possible que ces conditions ne soient pas réunies sur votre système.


Exemple 16-3 Script d'événement pour la mise à jour du fichier /etc/resolv.conf

#!/bin/ksh -p

PATH=/bin:/sbin export PATH
umask 0222

# Refresh the domain and name servers on /etc/resolv.conf

insert ()
{
    dnsservers=`dhcpinfo -i $1 DNSserv`
    if [ -n "$dnsservers" ]; then
        # remove the old domain and name servers
        if [ -f /etc/resolv.conf ]; then
            rm -f /tmp/resolv.conf.$$
            sed -e '/^domain/d' -e '/^nameserver/d' \
                /etc/resolv.conf > /tmp/resolv.conf.$$
        fi

        # add the new domain
        dnsdomain=`dhcpinfo -i $1 DNSdmain`
        if [ -n "$dnsdomain" ]; then
            echo "domain $dnsdomain" >> /tmp/resolv.conf.$$
        fi

        # add new name servers
        for name in $dnsservers; do
            echo nameserver $name >> /tmp/resolv.conf.$$
        done
        mv -f /tmp/resolv.conf.$$ /etc/resolv.conf
    fi
}

# Remove the domain and name servers from /etc/resolv.conf

remove ()
{
    if [ -f /etc/resolv.conf ]; then
        rm -f /tmp/resolv.conf.$$
        sed -e '/^domain/d' -e '/^nameserver/d' \
            /etc/resolv.conf > /tmp/resolv.conf.$$
        mv -f /tmp/resolv.conf.$$ /etc/resolv.conf
    fi
}

case $2 in
BOUND | EXTEND)
    insert $1
    exit 0
    ;;
EXPIRE | DROP | RELEASE)
    remove
    exit 0
    ;;
*)
    exit 0
    ;;
esac