美文网首页
建立基于polipo的代理

建立基于polipo的代理

作者: 大严_mania | 来源:发表于2018-12-30 21:36 被阅读0次

    背景

    10.17.8.* 网段的内网访问权限被限制的很严(虽然可以正常上外网),导致无法访问内网部署的很多服务。
    每增加一个IP,都需要走审批流程,非常低效和麻烦。

    解决思路

    采用代理。

    已有虚机10.17.8.34,10.17.8.35
    将10.17.8.34新添加一个IP10.17.2.178(该网段具有宽松的内网访问权限)。
    在该机器上部署代理。10.17.8.35通过该代理,实现http和https的上网。

    建设代理

    采用ssh的socks5代理 + polipo的http代理 的组合

    socks5代理

    在代理机上执行:

    ssh -D 9050 -f -C -q -N user@localhost -p 65300
    

    ssh本身具有socks5代理能力,上述指令可以建立一个端口为9050的socks5代理端口。

    polipo的http代理

    用polipo将上述的socks5转换为更方便使用的http_proxy和https_proxy代理。

    polipo可以采用直接安装或选择docker的方式,这里选择通用性更强的docker。
    参考:https://hub.docker.com/r/vimagick/polipo/

    docker pull vimagick/polipo
    

    建立一个docker-compose.yml文件,内容参考如下:

    polipo:
      image: vimagick/polipo
      command:
        #authCredentials=username:password
        socksParentProxy=localhost:9050
      ports:
        - "8123:8123"
      restart: always
    
    docker-compose up -d
    

    (TODO:已知bug:目前采用这种方式https无法成功,但是附录里的传统安装方式,https可以成功)

    连接代理

    在郁闷的10.17.8.35机器上,测试一下能否这个端口:

    nmap 10.17.8.34 -p 8123
    

    如果成功,执行下面两句即可实现http和https的上网

    export http_proxy=http://10.17.8.34:8123
    export https_proxy=http://10.17.8.34:8123
    

    注意:export是在shell中执行,采用systemctl启动的服务,例如docker,是不受影响的。因此,需要在docker的配置文件里,centos是/etc/sysconfig/docker里添加

    http_proxy=http://10.17.8.34:8123
    https_proxy=http://10.17.8.34:8123
    
    sudo systemctl restart docker.service
    

    重启docker服务即可生效。

    附录

    传统的polipo的centos安装

    这里提供传统的安装方式

    
    git clone https://github.com/jech/polipo.git
    cd polipo
    # make.info需要这个
    sudo yum install texinfo
    make -sj
    sudo make install
    sudo mkdir /etc/polipo
    echo -e '
    proxyAddress = "::0"
    socksParentProxy = "localhost:9050"
    socksProxyType = socks5
    daemonise = true
    ' > /etc/polipo/config
    # run now
    sudo polipo
    

    相关文章

      网友评论

          本文标题:建立基于polipo的代理

          本文链接:https://www.haomeiwen.com/subject/chjblqtx.html