Oracle® Solaris 11.2의 네트워크 관리 문제 해결

인쇄 보기 종료

업데이트 날짜: 2014년 7월
 
 

단일 클라이언트에 영향을 주는 NIS 문제 해결

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 명령을 실행하여 설정된 도메인 이름을 확인합니다.

    client# domainname
    example.com

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

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

    클라이언트에서 domainname 명령의 출력에 표시된 도메인 이름이 /var/yp 디렉토리에 하위 디렉토리로 나열되는 서버 도메인 이름과 같지 않은 경우 nis/domain 서비스의 config/domain 등록 정보에 있는 도메인 이름이 잘못된 것입니다. NIS 도메인 이름을 재설정합니다. 지침은 Oracle Solaris 11.2의 이름 지정 및 디렉토리 서비스 작업: DNS 및 NIS 의 시스템의 NIS 도메인 이름을 설정하는 방법을 참조하십시오.


    주 -  NIS 도메인 이름은 대소문자를 구분합니다.
  • 클라이언트가 서버에 바인딩되어 있지 않음

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

  • 서버를 사용할 수 없음

    도메인 이름을 올바르게 설정되어 있고 ypbind 데몬이 실행 중인데 클라이언트가 서버와 통신할 수 없다는 메시지가 표시되는 경우 다음을 확인합니다.

    • 클라이언트에 바인딩할 서버 목록을 포함하는 /var/yp/binding/domainname/ypservers 파일이 있습니까? 선택한 NIS 서버를 보려면 svcprop –p config/ypservers nis/domain 명령을 사용합니다. 그렇지 않은 경우 ypinit –c 명령을 실행하여 이 클라이언트가 바인딩할 서버를 원하는 순서대로 지정합니다.

    • 클라이언트에 /var/yp/binding/domainname/ypservers 파일이 있는 경우 한두 개의 서버가 사용할 수 없게 되는 경우를 대비해 서버가 충분히 나열되어 있습니까? 선택한 NIS 서버를 보려면 svcprop –p config/ypservers nis/domain 명령을 사용합니다. 그렇지 않은 경우 ypinit –c를 실행하여 목록에 서버를 더 추가합니다.

  • ypwhich 표시가 일치하지 않음

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

  • 서버 바인딩이 가능하지 않을 경우 처리 방법

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

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

    다른 방법은 Oracle Solaris 11.2의 이름 지정 및 디렉토리 서비스 작업: DNS 및 NIS 의 특정 NIS 서버에 바인딩을 참조하십시오.


    Caution

    주의  -  보안을 위해 –ypset 또는 –ypsetme 옵션은 사용하지 않는 것이 좋습니다. 제어된 상황에서 디버깅 용도로만 이러한 옵션을 사용합니다. –ypset 또는 –ypsetme 옵션을 사용하면 심각한 보안 위반이 발생할 수 있습니다. 데몬이 실행 중인 동안 누구나 서버 바인딩을 수정할 수 있으므로, 중요한 데이터에 무단으로 액세스할 수 있습니다. 이러한 옵션 중 하나를 사용하여 ypbind 데몬을 시작해야 하는 경우에는 문제를 수정한 후 ypbind 프로세스를 강제 종료한 다음 이러한 옵션을 지정하지 않고 다시 시작합니다. 다음과 같이 ypbind 데몬을 다시 시작합니다.

    # svcadm enable -r svc:/network/nis/client:default
    ypset(1M) 매뉴얼 페이지를 참조하십시오.


  • 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 데몬이 정상인 경우 다음 출력이 표시됩니다.

    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 데몬이 실행 중인 경우에도 시스템을 재부트합니다.