SSH Port Forwarding 을 이용한 Proxy 설정

시스템 잡설  |   2007. 5. 22. 02:49
방화벽으로 막혀있어 NateOn 이나 MSN 메신저가 막혀 있을때가 있을 것이다. 이럴때 SSH Port Forwarding (Tunneling) 을 이용하여 가상의 Proxy Server 를 사용할 수 있다. 즉, 방화벽으로 막혀있는 상태에서도 연결 가능하다. 몇가지 조건을 충족한다면 Port Forwarding 을 통해서 연결할 수 있다.
  1. SSH 데몬이 실행중인 서버에 계정이 있어야 한다.
  2. SSH 연결 및 터널링 서비스를 지원하는 프로그램을 실행해야 한다.

물론 접속하는 서버또한 메신저 및 원하는 포트가 막혀 있으면 사용불가능하다. 즉, 자신의 컴퓨터의 IP가 마치 접속하는 서버의 IP 처럼 나타나는 것이다. 


SSH 연결이 가능한 서버 및 그 서버에 계정이 있다면... 몇몇 프로그램을 이용해서 접속이 가능하다. 상용 프로그램으로는 Xmanager Xshell 도 있지만 무료로 사용할 수 있는 PuTTy 란 프로그램을 사용하는 법을 소개한다. 
설정하는 부분은 그림 1 과 같이 SSH → Tunnels 부분만 바꿔주면 된다. 

사용자 삽입 이미지그림 1. PuTTY 설정


그리고 자신의 서버에 접속을 하게 되고 Linux Prompt 가 나온 상태로 놔두면 자신의 컴퓨터가 마치 서버의 IP를 사용하는 것처럼 설정이 된다. 해당 프로그램의 인터넷 설정 부분에서 SOCKS 4 설정을 

서버 (Server) : localhost 혹은 127.0.0.1 
포트 (Port) : 10000 (PuTTY 에서 설정한 Port)  로 넣기만 하면 된다. 인터넷 익스플로러 설정은 도구(T) → 인터넷 옵션(O) → 연결 탭 → LAN 설정 을 거쳐 그림 2 과 같은 페이지에서 다음과 같이 설정한다. 
 

사용자 삽입 이미지그림 2. LAN 설정


고급 버튼을 누르면 그림 3처럼 설정을 한다. 
 

사용자 삽입 이미지그림 3. Proxy 설정


설정을 위와 같이 끝내고 나면 Internet Explorer 는 마치 접속 서버에서 접속하는 것처럼 이용된다. 이는 상당히 유용하여 외부에서 논문을 보려고 할때 별도의 서비스를 사용하지 않고도 마치 학교안에 있는 것처럼 학교에서 구독하는 논문을 볼 수 있고, 학교내의 IP로만 접속이 가능한 서비스의 경우에도 집이나 다른 곳에서 접속할 수 있게 되는 것이다. 

터널링 기술은 원격으로 Gnome 이나 KDE 같은 Linux 를 원격에서 GUI 로 접속가능하게 해주거나 다양한 활용방법을 통해서 응용할 수 있다. 

Appendix A 

또 다른 SSH Client 로 사용가능한 툴이 Tunnelier 란 프로그램이 있다. Bitvise 홈페이지에서 무료로 다운 받을 수 있으며 좋은 점은 PuTTy 처럼 Terminal 창을 로그인 할 필요가 없다는 점이고 최소화하면 트레이로 되기 때문에 간편하게 사용할 수 있다. 로그인 되어 있는 상태에서 원하는 Port 를 Dynamic 하게 설정 변경도 가능하다. 

SSH 를 통한 SFTP / SSH Terminal / SSH Port forwarding 을 제공해주어 사용하기에도 편리하다. 해당 홈페이지 : http://www.bitvise.com/  SSH Port Forwarding by Tunnelier 설정 화면 : http://www.bitvise.com/files/socks-tunnelier.gif



'시스템 잡설' 카테고리의 다른 글

IEEE1394 를 이용한 폴더 공유  (0) 2008.04.08
Update using YUM  (0) 2007.10.07
Bookshelf 사전 기능 고치기  (0) 2007.05.25
물리적 메모리 우선사용 옵션  (1) 2007.04.29
MSN 내 공유 폴더 삭제하기  (0) 2007.04.16
Google 과 친해지기  (5) 2007.04.11