08. SSH 터널링으로 홈서버를 사무실 내 컴퓨터로... [NAS 구축기][ubuntu 10.4]

얼렁뚱땅설명서 2012. 2. 29. 03:00



Samba를 이용하면 간단하게 파일 서버를 구축할 수 있었다. 
이렇게 구성된 삼바 서버는 대용량 저장용 데이터(영화, 음악, 사진, 문서 등등)를 내 컴퓨터에서 몰아내고,
나의 게임용 컴퓨터엔 SSD라는 쌈팍한 저장장치를 달아 날아다니게 할 수가 있다.
더구나 공유기가 기가바이트를 지원한다면 삼바서버가 느리다는 생각도 들지 않을 것이다.

그러나 삼바서버의 한계성은  로컬 네트워크에서만 동작한다는 것이다.
사무실 컴퓨터에서도 네트워크 드라이브로 잡아서 사용하고 싶지만 그럴 수 없다.
인터넷을 타고 넘을 수 없다니.... 한계다. ㅡㅡ;;;

이런 문제를 해결하기 위해서 이미 지난 시간에 SSH 서버를 설치했다.
보안 터미널로 잘 알려진 SSH는 한 시대를 풍미했던 Telnet을 몰아내고 
그 자리를 차지했을 뿐만 아니라 아주 독특한 기능까지 추가했다.

SSH 터널링은 보안 기능이 없는 서비스들에게 보안 기능을 제공하며,
원거리 전송 기능이 없는 서비스에겐 원거리 전송 기능까지 부여해주는 훌륭한 놈이다.
문제점이 있다면 TCP 프로토콜만 된다는 것이다.
그래도 삼바서버를 인터넷에 태워 사무실 내 컴퓨터 앞에 데려다 주거나,
별다방이나 콩다방에 앉아 된장남 흉내를 낼 때도 나의 삼바 서버를 놋북 앞에 가져다 준다.


Windows7을 기준으로 설명하겠다.
일단 MicroSoft Loopback Adapter를 설치해야 한다. 설치 방법은 간단하다.
[제어판 > 시스템 및 보안 > 장치관리자]를 선택한 후 [네트워크 어댑터] 항목을 선택한 후 
상단 메뉴에서 [동작(A) > 레거시 하드웨어 추가(L)] 를 선택한다. 
그러면 아래와 같은 [하드웨어 추가 마법사 시작] 이라는 화면을 볼 수 있다.
일단 다음을 누른다.



목록에서 직접 선택한 하드웨어 설치(고급)을 누르고, 네트워크 어댑터를 선택한 후 잠시 기다리면 목록이 뜬다.
그 후에 제조업체 항목에서 Microsoft를 선택하고, 네트워크 어댑터 항목에서 Microsoft Loopback Adapter를 선택하면 설치를 할 수 있다.



설치가 끝났으면 다시 [제어판>네트워크 상태 및 작업 보기>어댑터 설정 변경] 을 선택한 후 
우리가 방금 전에 설치한 [LoopBack 어뎁터]를 선택 한 후 속성(R)을 한다. 
Loopback 속성 화면이 뜨면 Internet Protocol Version 4(TCP/IPv4)를 선택하여 
IP 주소와 서브넷 마스크를 아래의 그림과 같이 10.0.0.1/255.255.255.0으로 설정하면 루프백 설정이 끝난다.



Loopback Adapter 설정이 끝나면 이제 본격적으로 SSH 터널링 작업에 들어간다. 
터널링 작업을 위해서는 일단 Putty 라는 프로그램을 사용한다.
Putty는 공짜고 내 컴퓨터에 늘 설치되어 있는 프로그램이라 사용할 뿐 ...
SSH 터널링을 위해서 이 프로그램만 사용할 수 있는 것은 아니다.
SSH 터널링을 위한 프로그램도 많고, SSH 보안 터미널은 대부분이 이 기능을 지원하는 것으로 안다.
그러나, 난 이 프로그램으로만 설명한다.

Putty 프로그램은 여기 https://bitbucket.org/daybreaker/iputty/downloads 또는 
http://www.chiark.greenend.org.uk/~sgtatham/putty/  여기서 다운 받을 수 있다.


일단 Putty 프로그램을 실행 시킨 후 Host Name(or IP Address)에 
서버에 접근할 수 있는 주소와 포트 번호를 입력한다.
그 후 [접속 > SSH > 터널링] 선택한 후 아래의 그림처럼 포워드 포트를 입력하면 된다.

1) 원 포트  - 10.0.0.1:139 대상 - 127.0.0.1:139
2) 원 포트  - 10.0.0.1:445 대상 - 127.0.0.1:139

그리고 잊지 말아야 할 것은 ...  [열기] 버튼을 클릭하기 전에 
세션 항목에 가서 저장된 세션에 적당한 이름을 입력하고 저장을 눌러야
같은 작업을 반복하지 않을 수 있다.


그런데, 한 가지 잊은 것이 있다. Windows7은 보안이 좀 강화되어서 Samba가 사용하는 포트를 막아놓았다.
이것을 해제하기 위해서는 http://www.sshvpn.de 여기에 가서 프로그램을 하나 받아서 실행해 주어야 한다.
그것도 반드시 관리자 권한으로 말이다.   아래 첨부된 파일을 다운 받아도 된다.



모든 작업이 끝났으면 이제 Putty를 이용해 접속을 한다.
그리고, 탐색기를 이용하여 루프백 주소로 설정한 10.0.0.1으로 접속한다.
접속은 탑색기의 주소 입력란에 [\\10.0.0.1] 을 입력하면 된다.
Putty로 접속하기 때문에 Putty의 접속이 끊어지지 않아야 한다.

SSH 터널링은 Samba 서비스의 경우만 사용할 수 있는 것은 아니다.
원격지에서의 서버접근 시 SSH 포트만 열어두고, 나머지는 서비스는 SSH 터널링으로 해결할 수도 있다.
응용범위가 있다. 단, TCP 서비스만 해당된다는 아쉬움이 있다.