SSH를 사용하여 SOCKS를 통해 웹에 액세스하는 방법

1951 단어 SSH닌비아예rSocks
어디에나 소개되고 있는 내용일지도 모르지만, DNS의 이름 해결의 곳에서 조금은 빠졌으므로, 메모도 겸해 투고.

1. 하고 싶은 일



a. SOCKS를 사용하지 않는 일반 액세스의 경우(적색 선):


  • 터미널이 DNS로 이름 확인
  • 터미널에서 원하는 서버에 연결
  • 웹 서버에서 본 액세스 소스 IP는 단말기에 연결되어있는 Global IP

  • b. SOCKS를 이용한 액세스의 경우(녹색선+청색선)


  • 녹색 선은 SSH로 암호화 + 캡슐화 된 SOCKS 통신
  • DNS의 이름 해석도 SOCKS 서버인 Linux가 실시하는 것이 가능.
  • SOCKS 서버인 Linux에서 WEB 서버에 액세스한다.
  • 웹 서버에서 본 액세스 소스 IP는 Linux에 연결되어 있습니다. Global IP



  • 2. SSH를 사용하여 SOCKS 활성화



    Mac Terminal에서 SSH 실행
    $ ssh -D 9080 [email protected]
    

    이것만. 본래는 -D [bind_address:]port 와 같이 bind_address도 지정할 수 있지만, 디폴트는 localhost이므로 굳이 그 밖에는 지정하고 있지 않다.
    또, ssh의 옵션으로 -f -N 등을 추기해 Background로 실행하는 것도 1개의 방법이지만, 통신의 잊어버릴지도 모르기 때문에 나는 특히 옵션을 그 밖에 붙이지 않는 것이 좋아.

    이것에 의해, 이하와 같이 자신의 단말의 localhost:9080에 SOCKS용의 포트가 open 되었다.

    Mac의 Terminal에서 ListenPort를 확인하십시오.
    $ netstat -an|grep 9080
    tcp4       0      0  127.0.0.1.9080         *.*                    LISTEN
    tcp6       0      0  ::1.9080               *.*                    LISTEN
    

    3. Firefox 설정


  • SOCKS이며 HTTP 프록시가 아니므로 HTTP 프록시 필드에 아무 것도 입력하지 않습니다.
  • SOCKS4에서는 이름 해석은 클라이언트측에서 행하는 거동이었지만, SOCKS5이면 이름 해석을 SOCKS서버(Linux)측에서 실시하는 옵션도 선택 가능. 여기에서 선택하고 있습니다.

  • 좋은 웹페이지 즐겨찾기