To debug two hosts that should be communicating but are not, you can use Trusted Extensions and Solaris debugging tools. For example, Solaris network debugging commands such as snoop and netstat are available. For details, see the snoop(1M) and netstat(1M) man pages. For commands that are specific to Trusted Extensions, see Table 8–2.
For problems with contacting labeled zones, see Managing Zones (Task Map).
For debugging NFS mounts, see How to Troubleshoot Mount Failures in Trusted Extensions.
For debugging LDAP communications, see How to Debug a Client Connection to the LDAP Server.
You must be in the global zone in a role that can check network settings. The Security Administrator role or the System Administrator role can check these settings.
To troubleshoot the tnd daemon, change the polling interval and collect debugging information.
For details, see the tnd(1M) man page.
Check that the hosts that cannot communicate are using the same naming service.
On each host, check the nsswitch.conf file.
Check the values for the Trusted Extensions databases in the nsswitch.conf file.
For example, at a site that uses LDAP to administer the network, the entries are similar to the following:
# Trusted Extensions tnrhtp: files ldap tnrhdb: files ldap |
If the values are different, correct the nsswitch.conf file.
Check that the LDAP naming service is configured.
$ ldaplist -l |
Check that both hosts are in the LDAP naming service.
$ ldaplist -l hosts | grep hostname |
Check that each host is defined correctly.
Use the Solaris Management Console to verify the definitions.
In the Security Templates tool, check that each host is assigned to a security template that is compatible with the security template of the other host.
For an an unlabeled system, check that the default label assignment is correct.
In the Trusted Network Zones tool, check that the multilevel ports (MLPs) are correctly configured.
Use the command line to check that the network information in the kernel is current.
Check that the assignment in each host's kernel cache matches the assignment on the network, and on the other host.
To get security information for the source, destination, and gateway hosts in the transmission, use the tninfo command.
Display the IP address and the assigned security template for a given host.
$ tninfo -h hostname IP Address: IP-address Template: template-name |
Display a template definition.
$ 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 |
Display the MLPs for a zone.
$ tninfo -m zone-name private: ports-that-are-specific-to-this-zone-only shared: ports-that-the-zone-shares-with-other-zones |
Fix any incorrect information.
To change or check network security information, use the Solaris Management Console tools. For details, see How to Open the Trusted Networking Tools
To update the kernel cache, restart the tnctl service on the host whose information is out of date. Allow some time for this process to complete. Then, refresh the tnd service. If the refresh fails, try restarting the tnd service. For details, see How to Synchronize the Kernel Cache With Trusted Network Databases.
Rebooting clears the kernel cache. At boot time, the cache is populated with database information. The nsswitch.conf file determines whether local databases or LDAP databases are used to populate the kernel.
Collect transmission information to help you in debugging.
Verify your routing configuration.
Use the get subcommand to the route command.
$ route get [ip] -secattr sl=label,doi=integer |
For details, see the route(1M) man page.
View the label information in packets.
Use the snoop -v command.
The -v option displays the details of packet headers, including label information. This command provides a lot of detail, so you might want to restrict the packets that the command examines. For details, see the snoop(1M) man page.
View the routing table entries and the security attributes on sockets.
Use the -R option with the netstat -a|-r command.
The -aR option displays extended security attributes for sockets. The -rR option displays routing table entries. For details, see the netstat(1M) man page.