centos命令行使用shadowsocks代理
文章以centos为例,其他linux系统类似。文末还有docker设置http代理。
系统:centos 7 minimal
安装客户端shadowsocks
yum install epel-release
yum install python-pip
pip install shadowsocks
新建配置文件
vim /etc/shadowsocks.json
{
"server":"your_server_ip", #ss服务器IP
"server_port":your_server_port, #端口
"local_address": "127.0.0.1", #本地ip
"local_port":1080, #本地端口
"password":"your_server_passwd",#连接ss密码
"timeout":300, #等待超时
"method":"rc4-md5", #加密方式
"fast_open": false, # true 或 false。如果你的服务器 Linux 内核在3.7+,可以开启 fast_open 以降低延迟。
"workers": 1 # 工作线程数
}
用配置文件建立连接
nohup sslocal -c /etc/shadowsocks.json /dev/null 2>&1 &
安装转发代理Privoxy
yum install privoxy
查看vim /etc/privoxy/config文件,先搜索关键字:listen-address找到listen-address 127.0.0.1:8118这一句,保证这一句没有注释,8118就是将来http代理要输入的端口。然后搜索forward-socks5t,将forward-socks5t / 127.0.0.1:1080 .此句的注释去掉.
启动privoxy
privoxy /etc/privoxy/config
配置环境变量
vim /etc/profile
export http_proxy=http://127.0.0.1:8118
export https_proxy=http://127.0.0.1:8118
source /etc/profile
验证:
curl google.com
docker设置http代理
mkdir -p /etc/systemd/system/docker.service.d
vim /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=http://[proxy-addr]:[proxy-port]/" "HTTPS_PROXY=https://[proxy-addr]:[proxy-port]/"
如果还有内部的不需要使用代理来访问的Docker registries,那么嗨需要制定NO_PROXY环境变量:
[Service]
Environment="HTTP_PROXY=http://[proxy-addr]:[proxy-port]/" "HTTPS_PROXY=https://[proxy-addr]:[proxy-port]/" "NO_PROXY=localhost,127.0.0.1,docker-registry.somecorporation.com"
重启docker
systemctl daemon-reload
systemctl restart docker
Written on July 5, 2017