如何让内网机器通过ssh tunnel 代理http请求,访问internet

目标:达到如图效果,让无法访问外网的机器B,通过A与B建立的SSH通道,访问internet

             +----------+            +-----------+
             |          |+----SSH+-->|           |
             |     A    |            |    B      |
             |+--------+|            |           |
  Internet <-++-+PROXY<++
  1. 在机器A上运行
    ssh -R 1082:localhost:1083 user@HostB
    此时,B机器会监听1082端口, 所有对B机器1082端口的访问都会转发到A机器的1083端口
  2. 在机器A上运行
    ./gost -L=http://:1083
    此时, gost http 代理将在A机器的1083端口提供服务
  3. 在机器B上,配置好http代理地址为
    export http_proxy=http://127.0.0.1:1082
    此时,系统会讲http请求转发给 B机器的1082端口
    由于第一步的操作,相当于请求转给A机器的1083端口

你可能感兴趣的:(如何让内网机器通过ssh tunnel 代理http请求,访问internet)