Pour déboguer deux hôtes censés communiquer mais qui ne le font pas, vous pouvez utiliser les outils de débogage Trusted Extensions et Oracle Solaris. Par exemple, vous pouvez utiliser des commandes de débogage du réseau d'Oracle Solaris telles que snoop et netstat. Pour plus d'informations, reportez-vous aux pages de manuel snoop(1M) et netstat(1M). Pour les commandes spécifiques à Trusted Extensions, reportez-vous à l'Appendix D, Liste des pages de manuel Trusted Extensions.
Pour les problèmes relatifs à l'établissement de contact avec des zones étiquetées, reportez-vous à la section Gestion des zones.
Pour le débogage des montages NFS, reportez-vous à la section Dépannage des échecs de montage dans Trusted Extensions.
Avant de commencer
Vous devez accéder à la zone globale dans un rôle habilité à vérifier les valeurs d'attribut du réseau. Les rôles d'administrateur de sécurité et d'administrateur système sont habilités à vérifier ces valeurs. Seul le rôle root est habilité à modifier ces fichiers.
# svccfg -s name-service/switch listprop config config/value_authorization astring solaris.smf.value.name-service.switch config/default astring ldap ... config/tnrhtp astring "files ldap" config/tnrhdb astring "files ldap"
# svccfg -s name-service/switch setprop config/tnrhtp="files ldap" # svccfg -s name-service/switch setprop config/tnrhdb="files ldap"
# svcadm restart name-service/switch
Utilisez la ligne de commande pour vérifier que les informations de réseau sont correctes. Vérifiez que l'affectation sur chaque hôte correspond à l'affectation sur les autres hôtes du réseau. Selon la vue que vous souhaitez, utilisez la commande tncfg, la commande tninfo ou l'interface graphique txzonemgr.
La commande tninfo -t affiche les étiquettes dans la chaîne et le format hexadécimal.
# tninfo -t template-name template: template-name host_type: one of cipso or UNLABELED doi: 1 min_sl: minimum-label hex: minimum-hex-label max_sl: maximum-label hex: maximum-hex-label
La commande tncfg -t affiche les étiquettes au format d'une chaîne de caractères et répertorie les hôtes affectés.
# tncfg -t template info name=<template-name> host_type=<one of cipso or unlabeled> doi=1 min_label=<minimum-label> max_label=<maximum-label> host=127.0.0.1/32/** Localhost **/ host=192.168.1.2/32/** LDAP server **/ host=192.168.1.22/32/** Gateway to LDAP server **/ host=192.168.113.0/24/** Additional network **/ host=192.168.113.100/25/** Additional network **/ host=2001:a08:3903:200::0/56/** Additional network **/
La commande tninfo -h affiche l'adresse IP de l'hôte spécifié et le nom du modèle de sécurité qui lui est assigné.
# tninfo -h hostname IP Address: IP-address Template: template-name
La commande tncfg get host= affiche le nom du modèle de sécurité qui définit l'hôte spécifié.
# tncfg get host=hostname|IP-address[/prefix] template-name
La commande tncfg -z répertorie un MLP par ligne.
# tncfg -z zone-name info [mlp_private | mlp_shared] mlp_private=<port/protocol-that-is-specific-to-this-zone-only> mlp_shared=<port/protocol-that-the-zone-shares-with-other-zones>
La commande tninfo -m répertorie les MLP privés sur une ligne et les MLP partagés sur une seconde ligne. Les MLP sont séparés par des points-virgules.
# tninfo -m zone-name private: ports-that-are-specific-to-this-zone-only shared: ports-that-the-zone-shares-with-other-zones
Pour afficher l'interface graphique des MLP, utilisez la commande txzonemgr. Double-cliquez sur la zone, puis sélectionnez Configure Multilevel Ports (Configurer des ports multiniveau).
Par exemple, la sortie suivante indique qu'un nom de modèle, internal_cipso, n'est pas défini :
# tnchkdb checking /etc/security/tsol/tnrhtp ... checking /etc/security/tsol/tnrhdb ... tnchkdb: unknown template name: internal_cipso at line 49 tnchkdb: unknown template name: internal_cipso at line 50 tnchkdb: unknown template name: internal_cipso at line 51 checking /etc/security/tsol/tnzonecfg ...
L'erreur indique que les commandes tncfg et txzonemgr n'ont pas été utilisées pour créer et assigner le modèle de sécurité internal_cipso.
Pour réparer et remplacer le fichier tnrhdb avec le fichier d'origine, utilisez la commande tncfg pour créer et affecter des modèles de sécurité.
Pendant l'initialisation, des informations de base de données sont inscrites dans le cache. Le service SMF (name-service/switch) détermine si des bases de données locales ou LDAP sont utilisées pour remplir le noyau.
# route get [ip] -secattr sl=label,doi=integer
Pour plus d'informations, reportez-vous à la page de manuel route(1M).
# snoop -v
L'option–v affiche les détails des en-têtes de paquets, notamment les informations d'étiquette. Etant donné que cette commande fournit un grand nombre de détails, vous pouvez avoir intérêt à limiter le nombre de paquets examinés par la commande. Pour plus d'informations, reportez-vous à la page de manuel snoop(1M).
# netstat -aR
L'option –aR affiche les attributs de sécurité étendus des sockets.
# netstat -rR
L'option –rR affiche les entrées de la table de routage. Pour plus d'informations, reportez-vous à la page de manuel netstat(1M).