Guide d'administration système : services IP

ProcedureAjout de services utilisant le protocole SCTP

Le protocole de transport SCTP fournit des services aux protocoles de couche d'application de façon similaire à TCP. Toutefois, SCTP permet la communication entre deux systèmes multiréseaux ou deux systèmes dont l'un est multiréseau. La connexion SCTP s'appelle une association. Dans une association, une application divise les données à transmettre en plusieurs flux de messages. Une connexion SCTP peut atteindre les extrémités à l'aide de plusieurs adresses IP, ce qui s'avère particulièrement important dans le cadre d'applications de téléphonie. Les capacités multiréseau de SCTP améliorent la sécurité des sites ayant recours à IP Filter ou IPsec. La page de manuel sctp(7P) répertorie les points à prendre en considération au niveau de la sécurité.

Par défaut, le protocole SCTP fait partie de Oracle Solaris et ne nécessite aucune configuration supplémentaire. Toutefois, vous devrez peut-être configurer explicitement certains services de couche d'application pour utiliser SCTP. echo et discard sont des exemples d'applications. La procédure suivante illustre l'ajout d'un service d'écho qui utilise un socket de type SCTP bi-univoque.


Remarque –

La procédure suivante permet également d'ajouter des services pour les protocoles de couche transport TCP et UDP.


La tâche suivante illustre l'ajout dans le référentiel SMF d'un service inet SCTP géré par le démon inetd. La tâche décrit ensuite la procédure d'ajout du service à l'aide des commandes SMF (Service Management Facility).

Avant de commencer

Avant d'effectuer la procédure suivante, créez un fichier manifeste pour le service. En exemple, la procédure fait référence à un fichier manifeste du service echo intitulé echo.sctp.xml .

  1. Connectez-vous au système local avec un compte utilisateur disposant de privilèges d'écriture sur les fichiers système.

  2. Modifiez le fichier /etc/services et ajoutez la définition du nouveau service.

    Définissez le service à l'aide de la syntaxe suivante.


    service-name |port/protocol | aliases
    
  3. Ajoutez le nouveau service.

    Accédez au répertoire de stockage du manifeste de service et tapez ce qui suit :


    # cd dir-name
    # svccfg import service-manifest-name
    

    La page de manuel svccfg(1M) contient la syntaxe complète de svccfg.

    Admettons que vous voulez ajouter un service echo SCTP à l'aide du manifeste echo.sctp.xml résidant dans le répertoire service.dir. Vous devez taper ce qui suit :


    # cd service.dir
    # svccfg import echo.sctp.xml
    
  4. Assurez-vous que le manifeste de service a été ajouté :


    # svcs FMRI
    

    Pour l'argument FMRI, utilisez le FMRI (Fault Managed Resource Identifier, identificateur de ressources gérées erronées) du manifeste de service. Par exemple, pour le service SCTP echo, vous devez utiliser la commande suivante :


    # svcs svc:/network/echo:sctp_stream
    

    La sortie doit ressembler à ceci :


    	STATE          STIME    FMRI
    disabled       16:17:00 svc:/network/echo:sctp_stream

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

    D'après la sortie, le nouveau manifeste de service est désactivé.

  5. Dressez la liste des propriétés du service afin d'identifier les modifications à apporter.


    # inetadm -l FMRI
    

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

    Par exemple, pour le service SCTP echo, vous devez saisir les informations suivantes :


    # inetadm -l svc:/network/echo:sctp_stream
    SCOPE    NAME=VALUE
    	         name="echo"
    	         endpoint_type="stream"
    	         proto="sctp"
    	         isrpc=FALSE
    	         wait=FALSE
    	         exec="/usr/lib/inet/in.echod -s"
             .
             .
             default  tcp_trace=FALSE
           	default  tcp_wrappers=FALSE
  6. Activez le nouveau service :


    # inetadm -e FMRI
    
  7. Assurez-vous que le service est activé.

    Par exemple, pour le nouveau service echo, vous devez taper :


    # inetadm | grep sctp_stream
    .
    .
    	enabled   online         svc:/network/echo:sctp_stream

Exemple 5–9 Ajout d'un service utilisant le protocole de transport SCTP

L'exemple suivant indique les commandes à utiliser et les entrées de fichier requises pour que le service d'écho utilise le protocole de couche transport SCTP.


$ cat /etc/services
.
.
echo            7/tcp
echo            7/udp
echo            7/sctp

# cd service.dir

	# svccfg import echo.sctp.xml

# svcs network/echo*
	STATE          STIME    FMRI
	disabled       15:46:44 svc:/network/echo:dgram
	disabled       15:46:44 svc:/network/echo:stream
	disabled       16:17:00 svc:/network/echo:sctp_stream

# inetadm -l svc:/network/echo:sctp_stream
	SCOPE    NAME=VALUE
	         name="echo"
	         endpoint_type="stream"
	         proto="sctp"
	         isrpc=FALSE
	         wait=FALSE
	         exec="/usr/lib/inet/in.echod -s"
	         user="root"
	default  bind_addr=""
	default  bind_fail_max=-1
	default  bind_fail_interval=-1
	default  max_con_rate=-1
	default  max_copies=-1
	default  con_rate_offline=-1
	default  failrate_cnt=40
	default  failrate_interval=60
	default  inherit_env=TRUE
	default  tcp_trace=FALSE
	default  tcp_wrappers=FALSE

# inetadm -e svc:/network/echo:sctp_stream

# inetadm | grep echo
	disabled  disabled       svc:/network/echo:stream
	disabled  disabled       svc:/network/echo:dgram
	enabled   online         svc:/network/echo:sctp_stream