服务器(纯终端操作)连接ss操作指南



  • 服务器(纯终端操作)通过ss全局模式连接VPS操作指南

    • 注意,本文讲的是如何让一台没有GUILinux机器终端用ss客户端连上已经搭好(现在ss都是一键搭建了)的ss服务器(记为ss服务端)的全局模式

    背景

     最近买了两个域名在玩自己的服务器,但因为众所周知的原因各种资源包下不下来或者巨慢,国内源也找不到,于是想让服务器的终端连上ss,本来以为是几行指令的事,没想到网上的教程全是坑,这里记录一下完整的操作流程,给大家绕坑用

    • 本文步骤非常的详细,所以觉得文字部分太简单、没啥意义的优秀同学直接翻到最下面复制完整的代码就行了

    环境(Linux就行,Mac其实也行)

    • CentOS7(影响不大,其他系统把yum换成自己的包管理器就行)
    • 阿里云(广东ip)

    第一步:配置ss

    以下所有步骤如果报错,先尝试加sudo后再来一次

    或者直接sudo su

    • 先给服务器装上python和pip(如果你没有)
        yum install python
        easy_install pip
    
    • 然后用pip装shadowsocks包
        pip install shadowsocks
    
    • 创建一个shadowsocks的配置文件(名字和路径自定,本文统一用/etc/packageName/config.xxx,以下各配置文件均如此)
        vim /etc/shadowsocks/config.json
    
    • 写入以下的文件内容(复制粘贴)
        {
            "server": "ss.whyere.com",    //你搭ss服务端的服务器的ip或URL地址
            "server_port": 9937,    //你ss服务端搭建的时候用的端口
            "local_address": "127.0.0.1",
            "local_port": 9938,     //这是你ss客户端(本地)使用的端口
            "password": "SOME_PASSWORD",
            "timeout": 600,         //超时时间,不能大于1000不然报错
            "method": "chacha20",    //你ss服务端搭建的时候用的加密协议(有aes-256-cfb、chacha20等)
            "fast_open": false      //就这样别管他
        }
    
    • 用以下命令启动ss客户端
        # -c 表示指定配置文件,这里使用上面创建的那个配置文件即可
        sslocal -c /etc/shadowsocks/config.json -d start
    

    再提醒一遍本文全部命令都没有加sudo, 所以如果报错了先加sudo再试一遍

    • 用下面的方法把这个命令加到~/.bashrc里(Mac加到~/.bash_profile里,但是本文是讲服务器的所以后面就不管mac了)

    • 先打开~/.bashrc文件

        vim ~/.bashrc
    
    • 在最后一行后面加入以下内容,建立名称映射:
        alias ssstart='sslocal -c /etc/shadowsocks/config.json -d start'
        alias ssstop='sslocal -c /etc/shadowsocks/config.json -d stop'
    
    • 以后sslocal那一段命令就用上面的两个重命名命令代替了

    搭建polipo

    • 如果你的包管理器能一键安装polipo,直接安装
        apt-get install polipo
    
    • 然而yum等并不能一键安装,于是就有了下面的步骤:

    • 首先,如果你没有git:

        yum install git
    
    • 这是几个依赖:
        yum install -y texi2html texinfo
    
    • 然后把polipo项目clone下来
        git clone https://github.com/jech/polipo.git
    
    • 转到刚弄下来的文件夹
        cd polipo
    
    • 安装polipo
        # 如果你没装gcc和g++导致报错“make cc命令未找到”就执行这两行
        make install gcc
        make install gcc-c++
        #
        make all
        su -c 'make install'
    
    • 建立polipo配置文件并打开
        touch /var/log/polipo.log
        mkdir /etc/polipo
        vim /etc/polipo/config
    
    • 加入以下内容
        # This file only needs to list configuration variables that deviate
        # from the default values.  See /usr/share/doc/polipo/examples/config.sample
        # and "polipo -v" for variables you can tweak and further information.
        logSyslog = true
        # 9938是你ss客户端(本地)使用的端口,和前文相同数字的端口保持一致即可
        socksParentProxy = "127.0.0.1:9938"
        #
        socksProxyType = socks5
        logFile = /var/log/polipo.log
        logLevel = 4
        proxyAddress = "0.0.0.0"
        # 58888是你本地代理用的端口,和后文相同数字的端口保持一致即可
        proxyPort = 58888
        #
        chunkHighMark = 50331648
        objectHighMark = 16384
        serverMaxSlots = 64
        serverSlots = 16
        serverSlots1 = 32
    
    • 创建启动脚本
        vim ~/.bashrc
    
    • 写入以下内容
        # 这两行是在上文已经要求加了的
        alias ssstart='sslocal -c /etc/shadowsocks/config.json -d start'
        alias ssstop='sslocal -c /etc/shadowsocks/config.json -d stop'
        #
        alias ppstart='sudo polipo -c /etc/polipo/config'
        alias ppstop='sudo killall polipo'
        alias vpson='ssstart
        ppstart
        export http_proxy=http://127.0.0.1:58888
        export https_proxy=https://127.0.0.1:58888'
        # 两个export是设置代理地址的环境变量
        alias vpsoff='ppstop
        ssstop
        unset http_proxy
        unset https_proxy'
        # 两个unset则是删除代理
    
    • 更新~/.bashrc
        source ~/.bashrc
    
    • 于是,现在使用vpson便可以直接使终端连接到vps了,通过curl测试一下:
        vpson
        curl baidu.com # 应该有回应
        curl google.com # 应该有回应
        vpsoff
        curl baidu.com # 应该有回应
        curl google.com # 应该无回应(如果你服务器本身是连不上google的)
    

    代码合集:

    • 代码块做了分割的地方是需要vim打开文件并编辑的地方
        sudo su
        yum install python
        easy_install pip
        pip install shadowsocks
        vim /etc/shadowsocks/config.json
    
        {
            "server": "ss.whyere.com",    //你搭ss服务端的服务器的ip或URL地址
            "server_port": 9937,    //你ss服务端搭建的时候用的端口
            "local_address": "127.0.0.1",
            "local_port": 9938,     //这是你ss客户端(本地)使用的端口
            "password": "SOME_PASSWORD",
            "timeout": 600,         //超时时间,不能大于1000不然报错
            "method": "chacha20",    //你ss服务端搭建的时候用的加密协议(有aes-256-cfb、chacha20等)
            "fast_open": false      //就这样别管他
        }
    
        sslocal -c /etc/shadowsocks/config.json -d start
        vim ~/.bashrc
    
        alias ssstart='sslocal -c /etc/shadowsocks/config.json -d start'
        alias ssstop='sslocal -c /etc/shadowsocks/config.json -d stop'
    
        yum install git
        yum install -y texi2html texinfo
        git clone https://github.com/jech/polipo.git
        cd polipo
        make install gcc
        make install gcc-c++
        make all
        su -c 'make install'
        touch /var/log/polipo.log
        mkdir /etc/polipo
        vim /etc/polipo/config
    
        # This file only needs to list configuration variables that deviate
        # from the default values.  See /usr/share/doc/polipo/examples/config.sample
        # and "polipo -v" for variables you can tweak and further information.
        logSyslog = true
        # 9938是你ss客户端(本地)使用的端口,和前文相同数字的端口保持一致即可
        socksParentProxy = "127.0.0.1:9938"
        #
        socksProxyType = socks5
        logFile = /var/log/polipo.log
        logLevel = 4
        proxyAddress = "0.0.0.0"
        # 58888是你本地代理用的端口,和后文相同数字的端口保持一致即可
        proxyPort = 58888
        #
        chunkHighMark = 50331648
        objectHighMark = 16384
        serverMaxSlots = 64
        serverSlots = 16
        serverSlots1 = 32
    
        vim ~/.bashrc
    
        alias ppstart='sudo polipo -c /etc/polipo/config'
        alias ppstop='sudo killall polipo'
        alias vpson='ssstart
        ppstart
        export http_proxy=http://127.0.0.1:58888
        export https_proxy=https://127.0.0.1:58888'
        # 两个export是设置代理地址的环境变量
        alias vpsoff='ppstop
        ssstop
        unset http_proxy
        unset https_proxy'
        # 两个unset则是删除代理
    
        source ~/.bashrc
    
    • 这里是完成后的测试
        vpson
        curl baidu.com # 应该有回应
        curl google.com # 应该有回应
        vpsoff
        curl baidu.com # 应该有回应
        curl google.com # 应该无回应(如果你服务器本身是连不上google的)
    

 

Copyright © 2018 bbs.dian.org.cn All rights reserved.

Looks like your connection to Dian was lost, please wait while we try to reconnect.