SSH SOCKS 터널링 설정하기
이번에는 터미널 에뮬레이터인 Xshell을 이용하여 ssh 터널링을 해보도록 하겠습니다.
외부 네트워크에서 방화벽으로 인해 포트가 막힌 공유기 등의 장치로 연결하고자 특정 포트를 열어서 외부 네트워크에서 접속할 수 있도록 하려면 포트 포워딩 과정이 필요합니다.
Xshell을 사용하는 이유는 SSH SOCKS 터널링 설정을 위해서 SSH 프로토콜이 필요하며 포워딩 규칙을 지정해야 하기 때문입니다.
현재 내부 네트워크의 웹 서버에 접속하기 위해서 80포트는 막혀있지만, 특정 포트가 열려있다고 가정하여 진행해보겠습니다. (테스트는 내부 호스트 서버로 진행하였습니다.)
먼저 Xshell을 켜고 ‘파일 – 새로 만들기’를 클릭하여 새 세션을 만듭니다.
세 세션의 호스트 정보를 입력한 후, ‘연결 – SSH – 터널링’을 클릭합니다.
새로운 포워딩 규칙을 추가한 후, ‘Dynamic (SOCKS4/5)’ 를 선택한 후 적용해줍니다.
(이 때 수신 대기 포트는 3333(열려있는 포트) 으로 지정해줍니다)
새 세션 정보 입력을 마무리 한 후 저장해 줍니다.
크롬(Chrome) 브라우저를 기준으로 ‘설정 – 네트워크 – 프록시 설정 변경’ 을 선택해줍니다.
인터넷 속성에서 ‘연결 – LAN 설정 – 프록시 서버’ 란의 ‘사용자 LAN에 프록시 서버 사용(이 설정은 전화 연결이나 VPN 연결에는 적용되지 않음)’을 체크해주고 ‘고급’을 클릭해줍니다. 이 때 ‘로컬 주소에 프록시 서버 사용 안 함’에 체크가 되어있는지에 대해 주의해주세요.
브라우저 프록시 설정의 ‘Socks’를 ‘localhost’ 로 입력해주시고 포트를 규칙에 설정된 포트로 입력합니다.
모든 인터넷 설정이 완료되었다면 확인을 클릭하여 빠져나와 줍니다.
이제 Xshell을 켜고 터널링 창을 보이게 한 뒤, 방금 만들었던 세션을 실행시켜줍니다.
포워딩 규칙대로 해당 세션의 IP를 사용하여 소켓을 사용한 포트 포워딩에 성공하였음을 보여줍니다.
(direct-tcpip와 도착지가 제대로 표시되었다면 포워딩이 적용된 것입니다.)