통신 중이 아닌 두 호스트를 디버깅하려면 Trusted Extensions 및 Oracle Solaris 디버깅 도구를 사용합니다. 예를 들어, snoop 및 netstat와 같은 Oracle Solaris 네트워크 디버깅 명령을 사용할 수 있습니다. 자세한 내용은 snoop(1M) 및 netstat(1M) 매뉴얼 페이지를 참조하십시오. Trusted Extensions에 대한 특정 명령은 Appendix D, Trusted Extensions 매뉴얼 페이지 목록을 참조하십시오.
레이블이 있는 영역에 대한 연결 문제는 영역 관리를 참조하십시오.
NFS 마운트 디버깅은 Trusted Extensions에서 마운트 실패 문제를 해결하는 방법을 참조하십시오.
시작하기 전에
전역 영역에서 네트워크 속성 값을 확인할 수 있는 역할을 가진 사용자여야 합니다. 보안 관리자 역할 또는 시스템 관리자 역할이 이러한 값을 확인할 수 있습니다. root 역할만 파일을 편집할 수 있습니다.
# 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
명령줄을 사용하여 네트워크 정보가 올바른지 확인합니다. 각 호스트에 대한 지정 사항이 네트워크의 다른 호스트에 대한 지정 사항과 일치하는지 확인합니다. 원하는 보기에 따라 tncfg 명령, tninfo 명령 또는 txzonemgr GUI를 사용합니다.
tninfo -t 명령은 레이블을 문자열 및 16진수 형식으로 표시합니다.
# 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
tncfg -t 명령은 레이블을 문자열 형식으로 표시하고 지정된 호스트를 나열합니다.
# 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 **/
tninfo -h 명령은 지정된 호스트의 IP 주소 및 지정된 보안 템플리트의 이름을 표시합니다.
# tninfo -h hostname IP Address: IP-address Template: template-name
tncfg get host= 명령은 지정된 호스트를 정의하는 보안 템플리트의 이름을 표시합니다.
# tncfg get host=hostname|IP-address[/prefix] template-name
tncfg -z 명령은 행당 하나의 MLP를 나열합니다.
# 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>
tninfo -m 명령은 첫번째 행에 개인 MLP를 나열하고, 두번째 행에 공유 MLP를 나열합니다. MLP는 세미콜론으로 구분됩니다.
# tninfo -m zone-name private: ports-that-are-specific-to-this-zone-only shared: ports-that-the-zone-shares-with-other-zones
MLP의 GUI 표시는 txzonemgr 명령을 사용합니다. 영역을 두 번 누른 다음 Configure Multilevel Ports(다중 레벨 포트 구성)를 선택합니다.
예를 들어, 다음 출력은 템플리트 이름 internal_cipso가 정의되지 않았음을 나타냅니다.
# 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 ...
오류는 internal_cipso 보안 템플리트를 만들고 지정하는 데 tncfg 및 txzonemgr 명령이 사용되지 않았음을 나타냅니다.
복구하려면 tnrhdb 파일을 원본 파일로 바꾼 다음 tncfg 명령을 사용하여 보안 템플리트를 만들고 지정합니다.
부팅 시 캐시는 데이터베이스 정보로 채워집니다. SMF 서비스 name-service/switch는 커널을 채우는 데 로컬 또는 LDAP 데이터베이스가 사용되는지 결정합니다.
# route get [ip] -secattr sl=label,doi=integer
자세한 내용은 route(1M) 매뉴얼 페이지를 참조하십시오.
# snoop -v
–v 옵션은 레이블 정보를 포함한 패킷 헤더의 세부 사항을 표시합니다. 이 명령은 많은 세부 사항을 제공하므로 명령이 검사하는 패킷을 제한하는 것이 좋습니다. 자세한 내용은 snoop(1M) 매뉴얼 페이지를 참조하십시오.
# netstat -aR
–aR 옵션은 소켓에 대한 확장 보안 속성을 표시합니다.
# netstat -rR
–rR 옵션은 경로 지정 테이블 항목을 표시합니다. 자세한 내용은 netstat(1M) 매뉴얼 페이지를 참조하십시오.