Oracle® Solaris 11.2의 이름 지정 및 디렉토리 서비스 작업: DNS 및 NIS

인쇄 보기 종료

업데이트 날짜: 2014년 7월
 
 

한 클라이언트에 영향을 주는 NIS 문제

NIS 바인딩 문제를 나타내는 증상이 한두 개 클라이언트에서만 발생하는 경우 해당 클라이언트에 문제가 있는 것입니다. 많은 NIS 클라이언트가 올바르게 바인딩하지 못하는 경우에는 NIS 서버 중 하나 이상에 문제가 있는 것입니다. 많은 클라이언트에 영향을 주는 NIS 문제를 참조하십시오.

ypbind가 클라이언트에서 실행되고 있지 않음

한 클라이언트에 문제가 있지만 동일한 서브넷의 다른 클라이언트는 정상적으로 작동합니다. 문제 클라이언트에서 클라이언트 /etc/passwd 파일에 없는 파일을 비롯하여 많은 사용자가 소유한 파일을 포함하는 디렉토리(예: /usr)에 대해 ls –l을 실행합니다. 결과 표시에 로컬 /etc/passwd에 없는 파일 소유자가 이름 대신 번호로 표시되는 경우 NIS 서비스가 클라이언트에서 작동하고 있지 않은 것입니다.

이러한 증상은 대체로 ypbind 프로세스가 실행되고 있지 않음을 의미합니다. NIS 클라이언트 서비스가 실행 중인지 확인합니다.

client# svcs \*nis\*
STATE          STIME    FMRI
disabled       Sep_01   svc:/network/nis/domain:default
disabled       Sep_01   svc:/network/nis/client:default

서비스가 disabled 상태인 경우 root로 로그인하거나 이에 상응하는 역할을 사용하고 NIS 클라이언트 서비스를 시작합니다.

client# svcadm enable network/nis/domain
client# svcadm enable network/nis/client

누락 또는 잘못된 도메인 이름

한 클라이언트에 문제가 있고 다른 클라이언트는 정상적으로 작동 중이지만 ypbind가 문제 클라이언트에서 실행 중입니다. 클라이언트에 잘못 설정된 도메인이 있을 수 있습니다.

클라이언트에서 domainname 명령을 실행하여 설정된 도메인 이름을 확인합니다.

client7# domainname
example.com

NIS 마스터 서버의 /var/yp에 있는 실제 도메인 이름과 출력을 비교합니다. 실제 NIS 도메인은 /var/yp 디렉토리에 하위 디렉토리로 표시됩니다.

client7# ls

-l /var/yp
-rwxr-xr-x 1 root Makefile
drwxr-xr-x 2 root binding
drwx------ 2 root example.com

시스템에서 domainname을 실행하여 반환된 도메인 이름이 /var/yp에 디렉토리로 나열된 서버 도메인 이름과 다른 경우 시스템의 /etc/defaultdomain 파일에 지정된 도메인 이름이 잘못된 것입니다. 시스템의 NIS 도메인 이름을 설정하는 방법에 표시된 대로 NIS 도메인 이름을 재설정합니다.


주 - NIS 도메인 이름은 대소문자를 구분합니다.

클라이언트가 서버에 바인딩되어 있지 않음

도메인 이름이 올바르게 설정되었으며 ypbind가 실행 중인데 명령이 중단되는 경우 ypwhich 명령을 실행하여 클라이언트가 서버에 바인딩되어 있는지 확인합니다. 방금 ypbind를 시작한 경우 ypwhich를 여러 번 실행합니다. 일반적으로 첫번째 시도에서는 도메인이 바인딩되어 있지 않다고 보고하고 두번째 시도는 정상적으로 성공합니다.

서버를 사용할 수 없음

도메인 이름이 올바르게 설정되었으며 ypbind가 실행 중인데 클라이언트에서 서버와 통신할 수 없다는 메시지가 표시되는 경우 다음과 같은 다양한 문제를 나타낼 수 있습니다.

  • 클라이언트에 바인딩할 서버 목록을 포함하는 /var/yp/binding/domainname/ypservers 파일이 있습니까? 없는 경우 ypinit –c를 실행하고 이 클라이언트에서 바인딩해야 하는 서버를 원하는 순서대로 지정합니다.

  • 클라이언트에 /var/yp/binding/domainname/ypservers 파일이 있는 경우 한두 개의 서버가 사용할 수 없게 되어도 충분한 서버가 나열되어 있습니까? 충분한 서버가 나열되어 있지 않으면 ypinit –c를 실행하여 목록에 서버를 더 추가합니다.

  • 선택한 NIS 서버에 대한 항목이 /etc/inet/hosts 파일에 있습니까? 선택한 NIS 서버를 보려면 svcprop –p config/ypservers nis/domain 명령을 사용합니다. 이러한 호스트가 로컬 /etc/inet/hosts 파일에 없는 경우 hosts NIS 맵에 서버를 추가하고 NIS 맵 작업에 설명된 대로 ypinit –c 또는 ypinit –s 명령을 실행하여 맵을 재구성합니다.

  • NIS뿐 아니라 시스템의 로컬 hosts 파일을 검사하도록 이름 서비스 스위치가 설정되었습니까? 스위치에 대한 자세한 내용은 Chapter 2, 이름 서비스 스위치 정보를 참조하십시오.

  • servicesrpc에 대해 files를 먼저 확인하도록 이름 서비스 스위치가 설정되었습니까? 스위치에 대한 자세한 내용은 Chapter 2, 이름 서비스 스위치 정보를 참조하십시오.

ypwhich 표시가 일치하지 않음

동일한 클라이언트에서 ypwhich를 여러 번 사용할 경우 NIS 서버 변경 때문에 결과 표시가 달라집니다. 이것은 정상적인 동작입니다. 네트워크 또는 NIS 서버가 사용 중인 경우 NIS 서버에 대한 NIS 클라이언트 바인딩이 시간에 따라 변경됩니다. 가능한 경우 모든 클라이언트가 NIS 서버로부터 허용되는 응답 시간을 받는 시점에 네트워크가 안정됩니다. 클라이언트 시스템이 NIS 서비스를 얻기만 하면 어디에서 서비스가 제공되는지는 중요하지 않습니다. 예를 들어, 한 NIS 서버 시스템이 네트워크의 다른 NIS 서버에서 NIS 서비스를 얻을 수 있습니다.

서버 바인딩이 가능하지 않은 경우

로컬 서버 바인딩이 가능하지 않은 극단적인 경우에 ypset 명령을 사용하면 다른 네트워크나 서브넷의 다른 서버(사용 가능한 경우)에 일시적으로 바인딩할 수 있습니다. 그러나 –ypset 옵션을 사용하려면 –ypset 또는 –ypsetme 옵션을 사용하여 ypbind를 시작해야 합니다. 자세한 내용은 ypbind(1M) 매뉴얼 페이지를 참조하십시오.

# /usr/lib/netsvc/yp/ypbind -ypset

다른 방법은 특정 NIS 서버에 바인딩을 참조하십시오.


Caution

주의  - 보안을 위해 –ypset–ypsetme 옵션은 사용하지 않는 것이 좋습니다. 제어된 상황에서 디버깅 용도로만 이러한 옵션을 사용합니다. –ypset–ypsetme 옵션을 사용하면 데몬이 실행되는 동안 누구든지 서버 바인딩을 변경할 수 있고 이로 인해 다른 사용자에게 문제가 발생하거나 중요한 데이터에 대해 허용되지 않은 액세스가 허가되어 심각한 보안 위반이 초래될 수 있습니다. 이러한 옵션으로 ypbind 데몬을 시작해야 하는 경우 문제를 해결한 후 ypbind 프로세스를 강제 종료하고 이러한 옵션 없이 다시 시작해야 합니다.ypbind 데몬을 다시 시작하려면 다음과 같이 SMF를 사용합니다.

# svcadm enable -r svc:/network/nis/client:default


ypbind 충돌

ypbind 데몬이 시작될 때마다 거의 바로 충돌할 경우 svc:/network/nis/client:default 서비스 로그에서 문제를 찾습니다. 다음을 입력하여 rpcbind 데몬이 있는지 확인합니다.

% ps -e |grep rpcbind

rpcbind가 없거나 작동하지 않거나 이상하게 동작하는 경우 svc:/network/rpc/bind:default 로그 파일을 확인합니다. 자세한 내용은 rpcbind(1M)rpcinfo(1M) 매뉴얼 페이지를 참조하십시오.

정상적으로 작동하는 시스템에서 문제 클라이언트의 rpcbind와 통신할 수도 있습니다. 작동하는 시스템에서 다음을 입력합니다.

% rpcinfo client

문제 시스템의 rpcbind가 정상인 경우 rpcinfo에서 다음 출력을 생성합니다.

    program	version	netid	address	service	owner
...
100007    3    udp6      ::.191.161          ypbind     1
100007    3    tcp6      ::.135.200          ypbind     1
100007    3    udp       0.0.0.0.240.221     ypbind     1
100007    2    udp       0.0.0.0.240.221     ypbind     1
100007    1    udp       0.0.0.0.240.221     ypbind     1
100007    3    tcp       0.0.0.0.250.107     ypbind     1
100007    2    tcp       0.0.0.0.250.107     ypbind     1
100007    1    tcp       0.0.0.0.250.107     ypbind     1
100007    3    ticlts    2\000\000\000       ypbind     1
100007    2    ticlts    2\000\000\000       ypbind     1
100007    3    ticotsord 9\000\000\000       ypbind     1
100007    2    ticotsord 9\000\000\000       ypbind     1
100007    3    ticots    @\000\000\000       ypbind     1
...

시스템에 다른 주소가 지정됩니다. 주소가 표시되지 않는 경우 ypbind에서 서비스를 등록할 수 없습니다. 시스템을 재부트하고 rpcinfo를 다시 실행합니다. ypbind 프로세스가 있고 NIS 서비스를 다시 시작할 때마다 변경되면 rpcbind 데몬이 실행 중인 경우에도 시스템을 재부트합니다.