메뉴 건너뛰기

KIM0.COM

Windows Windows 7에서 NAS 삼바로 접속하기

2014.08.27 01:29

Kim 조회 수:7786

Windows 7에서 망 외부의 NAS 등 삼바 서버에 접속하려면 몇가지 문제가 있다.

1. 국내 ISP는 Windows의 기본 포트를 거의 다 막아뒀음.
139와 445가 중요한데 둘 다 막혀 있는 경우가 있다.

2. CIFS/SMB가 사용하는 139와 445는 Windows에서 변경할 수 없음.

3. Windows 7은 445 포트를 기본적으로 점유하고 있음.
포트를 포워딩 시켜줘야하는데 이미 점유하고 있기 때문에 bind에서 에러



참고로 자신의 인터넷 망이 139와 445를 막아두지 않았다면 다 무시하고 그냥 네트워크 드라이브 연결해서 쓰면 된다.
나 같은 경우 그냥 잘 되더군.




이것만 해결하면 된다.
32비트와 64비트 모두 되는거 같다. 난 64비트에서 되는걸 확인했다.



준비물:
LocalSMB.exe  Windows 7이 점유하고 있는 445번을 해제해준다.
rinetd             포트를 포워딩 해준다.
hstart             rinetd 콘솔 화면을 숨겨 줌

[##_1C|XAba5siRMF.zip||_##][##_1C|3557990735.xxx||_##][##_1C|XLpImYmHRM.zip||_##]





뭐 순서는 상관없지만 일단 내 맘대로 적어본다.
참고로 지금 Windows가 아니라서 명칭 등은 최대한 비슷하게 적어본다.


서버 쪽

1. 삼바 서버에서 139는 5139, 445는 5445로도 포워딩 되도록 설정한다.
제일 간단한 방법은 공유기를 이용하면 됨.

2. 클라이언트 (Windows 7) 쪽이 LocalSMB를 사용 불가능하다면 삼바의 설정을 바꿔서 445를 막자.

1
2
[global]
samba ports = 139




Windows 7 쪽

1. 제어판 -> 시스템 -> 장치관리자 -> 우클릭 -> 레거시 하드웨어 추가
목록에서 직접 설치로 들어가서
네트워크 어댑터를 선택 -> 제조업체 Microsoft -> 제품은 Microsoft Loopback Adapter -> 설치

2. 네트워크 연결 -> Microsoft Loopback Adapter 선택 -> 우클릭 -> 등록정보 ->
인터넷 프로토콜 (TCP/IPv4) -> 아이피 수동 설정 ->
아이피는 10.0.0.1
서브넷 마스크는 255.255.255.0
(옵션: 기본 게이트웨이는 10.0.0.254)

-> 그 화면에서 고급 버튼 -> WINS 탭 -> NetBIOS 설정 -> TCP/IP에서 NetBIOS 사용 안 함 체크

     LMHOSTS 조회 가능 체크 해제

확인 확인~

3. 적당한 위치에 준비물들 압축 해제

4. LocalSMB 관리자 권한으로 실행 -> 체크 하고 확인 누르고 재부팅

   (원상복귀 체크해제 하고 확인 재부팅하면 된다.)

5. 메모장 오픈 ->

1
2
10.0.0.1 139 삼바서버아이피/도메인 5139
10.0.0.1 445 삼바서버아이피/도메인 5445




rinetd.conf로 rinetd 압축 해제 위치에 저장

6. 시작 -> cmd -> 목록에 명령 프롬프트가 보이면 우클릭 -> 관리자 권한으로 실행 ->
rinetd 압축 해제 위치로 이동 -> rinetd -c rinetd.conf  실행
방화벽 해제

7. 내 컴퓨터 -> 네트워크 드라이브 연결 ->
임의의 드라이브 문자 선택 (기본 Z:) ->
\\루프백아이피\폴더 (ex: \\10.0.0.1\share)
(참고로 폴더는 삼바 설정에 따라 다름) ->
아이디, 비번 넣고 로그인

8. 만약 안 되면 
1) 시작 -> 실행 -> secpol.msc -> 로컬 정책 -> 보안 옵션 ->
네트워크 보안 : Lan Manager 인증 수준 -> LM 및 NTLM 응답 보내기 -> 확인

Windows의 에디션이 낮아서 로컬 보안 정책이 없다면,
레지스트리 실행 ->
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa 로 이동 ->
LMCompatibilityLevel (DWORD 32비트) 생성(이미 존재하면 수정) ->
값은 0을 저장 -> 재부팅

Hstart_4.2-bin.zip     LocalSMB.exe   rinetd.zip  rinetd.bat



보너스

부팅할 때 마다 rinetd를 실행하기 위해서는, 배치파일을 만들면 좋다.
근데 부팅할 때 마다 명령 프롬프트 창이 떠있으면 안 좋으니까 hstart를 이용해서 화면조차 안 나오게 하자.

메모장에서 rinetd_loop.bat 파일 작성
1
2
set path=(RINETD 위치)
rinetd -c rinetd.conf


메모장에서 hstart.bat 파일 작성
1
(HSTART위치)\hstart /runas /noconsole (RINETD 위치)\rinetd_loop.bat


시작 프로그램에 hstart.bat를 등록





참고자료:
http://kldp.org/node/94464
http://blog.dosuser.com/218
http://cafe.naver.com/nascafe/2619
http://animan10.blogspot.com/2009/09/samba.html
http://blog.naver.com/ermi/10081518972