很多时候,我们可能需要在命令访问一些指定的站点,例如,安装k8s的时候,我们需要访问好几个镜像地址,但是这些地址在国内是访问不了的,那我们该如何设置代理让我们的命令行使用代理服务器访问这些网址呢?
以centos7.5为例:
第一步:准备好一个代理服务器
这一步相信你又很多个方法能实现
第二步:安装shadowsocks:
1 2 3 4 |
yum install epel-release -y yum install python-pip pip install --upgrade pip pip install shadowsocks |
安装完成后,我们就要配置我们的shadowsocks, 注意,此步骤需要我们第一步骤中的信息:
1 |
vi /etc/shadowsocks.json |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
{ "server":"服务器ip地址", #ss服务器IP "server_port":服务器端口, #端口 "local_address": "127.0.0.1", #本地ip "local_port":1080, #本地端口 "password":"连接代理需要的密码", #连接ss密码 "timeout":300, #等待超时 "method":"加密方式", #加密方式,比如aes-256-cfb "fast_open": false, # true 或 false。如果你的服务器 Linux 内核在3.7+,可以开启 fast_open 以降低延迟。开启方法: echo 3 > /proc/sys/net/ipv4/tcp_fastopen 开启之后,将 fast_open 的配置设置为 true 即可 "workers": 1 # 工作线程数 } |
需要改的内容有:
服务器IP地址;服务器端口;连接代理需要的密码;加密方式
修改完成后,我们可以通过运行如下命令启动它
1 |
nohup sslocal -c /etc/shadowsocks.json /dev/null 2>&1 & |
第三步:安装Privoxy
1 |
yum install -y privoxy |
然后修改配置和第二部的配置呼应:
1 |
vim /etc/privoxy/config |
确保如下内容:
1 |
forward-socks5t / 127.0.0.1:1080 . |
然后启动:
1 |
systemctl start privoxy |
第四步:修改环境变量
如果我们只是一次性的,我们可以直接运行如下命令:
1 2 3 |
export http_proxy=http://127.0.0.1:8118 export https_proxy=http://127.0.0.1:8118 export ftp_proxy=http://127.0.0.1:8118 |
如果我们想每次默认都设置环境变量,只需要将这些命令写入/etc/profile即可
第五步:测试
1 |
curl www.google.com |
Latest posts by Zhiming Zhang (see all)
- aws eks node 自动化扩展工具 Karpenter - 8月 10, 2022
- ReplicationController and ReplicaSet in Kubernetes - 12月 20, 2021
- public key fingerprint - 5月 27, 2021
anonymous 2019/11/15 15:10
curl: (7) Failed connect to 127.0.0.1:8118; 拒绝连接 请问8118是怎么来的端口
Zhiming Zhang 博主 2019/11/15 15:22
@ 你的请求->8118(Privoxy的监听端口)->privoxy 将请求转到本机器1080端口->1080端口是sslocal的监听端口->远程服务器->google
Snoopy 2020/09/18 11:39
折腾了好几天,sslocal + privoxy 状态总算都对了,但是这个SSL 错误是什么鬼? 如果知道远端 sslocal 服务器通过哪种socket转的? # wget https://hackmd.io/@MGVvp3eqTbyCGY-2Sj-mlw/H10iwFSlv --2020-09-18 11:34:12-- https://hackmd.io/@MGVvp3eqTbyCGY-2Sj-mlw/H10iwFSlv Connecting to 127.0.0.1:8118... connected. Unable to establish SSL connection.