SSH 동적 포트 포워딩을 이용한 SOCKS 프록시 설정: 로컬 및 가상 환경에서의 브라우저 구성 가이드

나이트 개발자·2024년 9월 17일
0
post-thumbnail

소속 회사와 협력하는 파트너사가 Public IP기반으로 자사의 시스템에 접근하는 것을 허용해주었다. 추석 기간이라 사무실에 가지 못하니 집에서 해당 시스템에 연동해야해서 회사의 사설망에 VPN으로 들어가 이리저리 사내 서버를 이용해 필요한 작업을 할 수 있었다.

나중에 비슷한 일이 또 일어날 것 같아 이번 참에 진행 했던 일들을 일목요연하게 기록해둔다.

이 글에서는 SSH 동적 포트 포워딩을 사용하여 SOCKS 프록시를 설정하고, 이를 로컬 환경과 가상 머신의 Windows 게스트 OS에서 다양한 브라우저에 적용하는 방법을 단계별로 설명한다.

SSH 동적 포트 포워딩 설정

  1. 로컬 터미널에서 다음 명령어 실행:

    ssh -D 8080 -f -C -q -N username@remote_server
    • 8080: 로컬 SOCKS 프록시 포트
    • username@remote_server: SSH 서버 접속 정보
  2. 프로세스 확인:

    ps aux | grep ssh

로컬 환경 브라우저 설정

Firefox 설정

  1. 설정 > 일반 > 네트워크 설정
  2. "수동 프록시 설정" 선택
  3. SOCKS 호스트: 127.0.0.1, 포트: 8080
  4. "SOCKS v5" 선택

Chrome 설정

  1. SwitchyOmega 확장 프로그램 설치
  2. 새 프록시 프로필 생성
  3. 프로토콜: SOCKS5, 서버: 127.0.0.1, 포트: 8080
  4. 프로필 저장 및 활성화

가상 머신 Windows 게스트 OS 설정

네트워크 구성

  1. VirtualBox 설정에서 NAT 모드로 네트워크 어댑터 설정
  2. 고급 NAT 설정에서 "Use host's resolver as DNS proxy" 활성화

Chrome 설정

  1. SwitchyOmega 확장 프로그램 설치
  2. 새 프로필 생성: 서버: 10.0.2.2, 포트: 8080 (호스트의 SOCKS 프록시 포트)

Internet Explorer 설정

  1. 도구 > 인터넷 옵션 > 연결 > LAN 설정
  2. "프록시 서버 사용" 체크
  3. 고급 > SOCKS 항목에 서버: 10.0.2.2, 포트: 8080 입력

확인

ssh 서버가 있는 사설망의 WAN IP를 통해 인터넷으로 나가는 지 확인하기 위해 내 로컬환경의 브라우저에서 whatismyip.com 을 접근해본다. 이 때 ssh 서버의 WAN IP와 동일하면 성공!

결론

이 설정을 통해 로컬 환경및 가상 머신의 Windows에서 안전한 SOCKS 프록시를 이용할 수 있다. 트래픽 흐름은 다음과 같다:

브라우저 -> 로컬 SOCKS 프록시(8080 포트) -> SSH 터널 -> SSH 서버 -> 인터넷

또는

Guest OS의 브라우저 -> 로컬 SOCKS 프록시(8080 포트) -> SSH 터널 -> SSH 서버 -> 인터넷

이 방법은 IP 기반의 접근 허용을 하는 네트워크 제한을 우회하는 데 유용하다.

profile
개발하면서 또는 프러덕 관리하면서 겪는 기억해둬야하는 내용을 메모장 삼아 남긴다. Google Keep이나 메모 도구에 남기는 것과는 달리 잘 정리할 수 있어서 언젠가 들춰봐야할 내용들을 담은 글들이 게시된다.

0개의 댓글