Next: FAQ
Up: Trouble Shooting
Previous: 문제 해결에 앞서 기본적으로
삼바 작동 테스트는 크게 10 단계이다. 각 단계별로 사용해야 할 프로그램과
이 프로그램을 동작시킨 결과에 대한 설명이 이어질 것이다. 순서에
따라 차례대로 차근차근 테스트하다보면 의외로 쉽게 문제점을 발견할 수 있을
것이다. 본 테스트는 삼바 1.9.16 이상의 버전에서만 유효하다. 1.9.16 미만 버전
사용자는 이번 기회에 판올림을 하기 바란다.
먼저 smb.conf에서 다음 설정이 들어있는지 확인한다.
[tmp]
comment = temporary files
path = /tmp
read only = yes
만일 DNS를 사용하지 않는다면 smb.conf에서 "dns proxy = no"가 되어있는지
확인해야 한다.
새로 nmbd와 smbd를 동작시킨 다음 본격적인 검사에 들어가자.
inetd로 동작시킬 경우는 nmbd와 smbd의 별도 시동 절차가 필요없다.
- smb.conf 검사: smb.conf는 설치 환경에 따라 조금씩 차이가 있지만
/etc나 /usr/local/samba/lib에 위치하고 있다. ``testparm smb.conf'' 명령으로
오류가 존재하는지를 확인한다.
- 오류가 있을 경우 해당 항목을 수정하고 오류가 완전히 없어질 때까지
반복 검사를 실시한다.
- ping test: PC에서는 UNIX 기계쪽으로 ping 명령을 내려 네트웍이
연결되어있는지 확인한다. 마찬가지로 UNIX 기계에서도 PC쪽으로 ping 명령을
내려 네트웍이 연결되어있는지 확인한다.
- ``호스트를 발견할 수 없습니다.'' 이런 종류의 오류가
생기면 DNS를 의심한다. 만일 다른 녀석들과는 잘 접속되는데 삼바 서버와
PC 클라이언트 사이의 접속이 잘 안되면 방화벽을 한번 의심해본다.
- 서비스 검사: 삼바 기계에서 ``smbclient -L SAMBA_SERVER'' 명령으로
스스로를 검사해본다.
- 만일 ``Bad password'' 오류가 떨어지면 smb.conf에서
``hosts allow'', ``hosts deny'', ``valid users''등이 잘못 설정된 가능성이 높다.
또한 smb.conf의 guest 계정이 유효하지 않더라도 서비스 검사에 실패할 가능성이
있으므로 다시 한번 확인해본다.
- 만일 ``connection refused'' 오류가 떨어지면 smbd 서버가 제대로 시동하지
않은 것이다. inetd.conf를 확인해보고 ``netstat -a'' 명령으로 netbios-ssn
포트가 LISTEN 상태인지 살펴보기 바란다. 만일 rc.d에 넣어두었다면 ps
명령으로 smbd가 제대로 시동되었는지 확인해보기 바란다.
- 만일 ``session request failed'' 오류가 떨어지면 서버가 연결을 거부하는
상황이다. smbd가 남긴 log 파일을 살펴보고 대응하기 바란다.
- 위의 두가지 오류는 inetd.conf와 rc.d에 동시에 삼바 서비스를 등록했을
경우 발생할 가능성도 있으므로 철저히 검사한다. inetd와 daemon 둘 다 사용할
경우 문제가 생긴다고 앞서 언급한 바 있다.
- 삼바 서버 검사: 삼바 기계에서 ``nmblookup -B SAMBA_SERVER'' 명령으로
스스로를 검사해본다. 삼바 기계의 IP 주소가 반환되면 정상이다.
- nmbd가 잘못 설치되었을 경우 이러한 문제가 생길 가능성이 있다.
inetd.conf에서 137번 udp 포트에 연결된 서비스를 확인하기 바란다.
rc.d에 넣어두었을 경우에는 ps 명령으로 nmbd가 정상적으로 동작하는지
확인하기 바란다.
- 클라이언트 검사: 이번에는 삼바 기계에서 ``nmblookup -B CLIENT '*'''
명령으로 클라이언트를 검사해본다. 클라이언트의 IP 주소가 반환되면 정상이다.
- 이 검사에 실패하면 PC족의 이름이 잘못되었는지 확인해보고, 올바를 경우
PC의 TCP/IP 설정을 확인한다.
- 브로드캐스팅 검사: 앞서 클라이언트 검사와 동일하게 ``nmblookup -d 2 '*'''
명령을 삼바 기계에서 내려본다. 여러 호스트 이름이 주욱 나오면 정상이다.
- 이 검사에 실패하면 smb.conf의 interfaces 사양에 IP 주소, 브로드캐스팅,
넷 마스크를 수동으로 설정해준다.
- 삼바 서버에서 자신으로의 서비스 요청: 이제 삼바 기계에서 스스로에게
서비스 요청을 시도해보자. 앞서 tmp 항목을 smb.conf에 등록시켜놓은 것을
이용하여 삼바 기계에서
% smbclient "\\SAMBA_SERVER\TMP"
명령을 내린다. 여기서 로그인 한 계정의 암호를 입력한다. 만일 다른 계정으로
테스트를 원하면 smbclient에 -U 사양을 이용해서 다른 계정을 지정할 수 있다.
smb> 프롬프트가 떨어지면 정상이다.
- 만일 ``invalid network name''오류가 떨어지면 ``tmp'' 서비스가 smb.conf에
제대로 등록안된 항황이다.
- 만일 ``bad password'' 오류가 떨어지면 다음 사항을 의심해야 한다.
- shadow password를 지원하도록 smbd를 컴파일하지 않았다.
- smb.conf에서 ``valid users'' 항목을 잘못 설정했다.
- smb.conf에서 ``path = '' 행이 잘못되었다.
- password encryption을 선택해두고 SMB encrytped 암호 파일을 생성하지
않았다.
- PC 클라이언트에서 삼바 기계로의 서비스 검사: 이제 PC 클라이언트에서
삼바 기계로의 서비스 검사을 시도해보자. 도스 창에서
C:\> net view \\SAMBA_SERVER
명령을 내린다. 서버에서 제공하는 공유 자원 목록이 반환되면 정상이다.
- ''네트웍 이름이 발견되지 않습니다.''등의 오류가 떨어지면 nmbd에
문제가 생긴 것이다. 다음 사항을 의심해야 한다.
- nmbd 설치가 바르게 되었는지, 정상적으로 동작하는지 살펴본다.
- 삼바 기계의 IP 주소를 PC 기계의 TCP/IP 설정의 wins server 항목에
추가시킨다.
- PC쪽의 lmhosts 파일에 삼바 기계를 추가시킨다.
세부 사항은 FAQ 2번을 참조하기 바란다. - ``잘못된 네트웍 이름" 오류가 떨어지면 직전의
``삼바 서버에서 자신으로의 서비스 요청''으로 돌아가서 문제 해결을 시도한다.
삼바 기계에서 smb.conf의 ``hosts allow'' 항목 역시 살펴봐야 한다.
- ``잘못된 암호'' 오류가 떨어지면 직전의
``삼바 서버에서 자신으로의 서비스 요청''으로 돌아가서 문제 해결을 시도한다.
삼바 기계에서 smb.conf의 ``hosts allow'' 항목 역시 살펴봐야 한다.
만일 이렇게 해도 문제가 해결되지 않으면 FAQ 1번을 참조하여
Windows 95 OEM, 98, NT 서비스 팩 패치의 경우에 대응한다.
- ``지정된 컴퓨터가 요청을 받지 않습니다.''등의 오류가 떨어지면
삼바 기계쪽에 TCP Wrapper가 설치되어 있지 않은지 확인해본다. /etc/hosts.allow
에 PC 클라이언트 IP나 서브넷 IP를 넣어서 접근을 허용한다.
- PC 클라이언트에서 삼바 기계의 서비스 요청: 서버쪽의 서비스 검사까지
완료되었다면 실제 삼바 기계의 서비스를 요청해본다. 도스 창에서
C:\> net use x: \\SAMBA_SERVER\\TMP
명령을 내린다. UNIX쪽의 암호를 입력했을때 ``명령이 성공적으로
완료되었습니다."라는 메세지가 떨어지면 성공이다.
- 만일 연결에 실패하면 PC쪽의 TCP/IP 설정을 살펴본 다음 삼바 기계에서
smb.conf의 ``hosts allow''를 살펴본다.
- 사용자 계정에 대한 문제가 생기면 삼바 기계에서 smb.conf의
``username map''을 살펴본다.
- 브라우징 검사: 이제 마지막으로 삼바 기계의 공유 자원을 브라우징
해보자. 탐색기를 시동한 다음, 네트웍 환경에서 삼바 기계가 속한 웍그룹을 열어
삼바 기계가 공유를 허용한 목록이 나오는지 살펴본다.
- 공유 목록이 나오지 않는 경우에 FAQ 2, FAQ 4, FAQ 10 번을 참조하기 바란다.
- 공유 목록을 두번 눌러서 공유 자원을 열어본다. 만일 ``잘못된 암호'' 오류가
생기면 FAQ 1번을 참조하기 바란다.
여전히 문제가 있는가? 이어지는 FAQ를 차근차근 읽고서 혹시 빠진 것이
없는지 다시 한번 체크해보기 바란다.
박재호
1999년2월26일 (금), 오후 3시9분25초