主题
1. 配置环境变量
配置环境变量是最简单的方法之一,适用于命令行工具和程序使用代理。
配置HTTP/HTTPS代理
在你的~/.bashrc
或~/.bash_profile
文件中添加以下行:
shell
export http_proxy=http://proxy_address:proxy_port
export https_proxy=https://proxy_address:proxy_port
取消代理 unset http_proxy unset https_proxy
配置SOCKS代理
shell
export ALL_PROXY=socks5://proxy_address:proxy_port
然后,重新加载配置文件:
source ~/.bashrc
取消代理 unset ALL_PROXY
2. 使用 proxychains
proxychains
是一个工具,它通过代理链(支持HTTP、SOCKS4、SOCKS5)重定向程序的连接。
安装 proxychains
在Debian/Ubuntu上:
sudo apt-get install proxychains
在centOS
sudo yum install proxychains
配置 proxychains
编辑 /etc/proxychains.conf
文件:
shell
# 选择动态链、随机链或静态链
# dynamic_chain
# random_chain
# 静态链(默认)
strict_chain
# 添加代理服务器
# 格式:类型 地址 端口 [用户名 密码]
# 例如:socks5 127.0.0.1 1080
socks5 127.0.0.1 1080
使用 proxychains
通过 proxychains
运行你的程序:
proxychains curl www.google.com
3. docker 配置代理
由于docker使用的systemd管理网络,所以通过export proxy 命令无法代理,
配置Docker守护进程
你也可以在Docker守护进程中配置代理,这样启动的所有容器都会继承这些代理设置。你可以在/etc/systemd/system/docker.service.d/http-proxy.conf
中添加如下配置
创建目录/etc/systemd/system/docker.service.d,配置proxy.conf文件
mkdir -p /etc/systemd/system/docker.service.d vim /etc/systemd/system/docker.service.d/proxy.conf
把此内容放到proxy.conf中,docker就可以通过代理访问了。(巨坑,fuck GFW)
shell
[Service]
Environment="HTTP_PROXY=http://192.168.137.1:10809/"
Environment="HTTPS_PROXY=http://192.168.137.1:10809/"
Environment="NO_PROXY=localhost,127.0.0.1,.example.com"
然后重新加载并重启Docker服务:
shell
sudo systemctl daemon-reload
sudo systemctl restart docker