Windows和手机上配代理是图形界面点几下,Linux全在命令行和配置文件里。本文覆盖最常见的三种场景:环境变量让命令行程序走代理、apt包管理器走代理装软件、Docker容器和构建时走代理。
环境变量——让curl、wget、Python等走代理
Linux下的命令行工具(curl、wget、git、Python等)通过环境变量读取代理设置。一行搞定:
# HTTP代理
export http_proxy="http://代理IP:端口"
export https_proxy="http://代理IP:端口"
# SOCKS5代理
export http_proxy="socks5://代理IP:端口"
export https_proxy="socks5://代理IP:端口"
# 有认证的代理
export http_proxy="http://用户名:密码@代理IP:端口"
# 验证
curl https://ip.sb以上只在当前终端窗口有效。关掉终端就没了。持久化写到 ~/.bashrc 或 /etc/environment。不想走代理的域名加no_proxy:export no_proxy=”localhost,127.0.0.1,.local”。
天行IP的静态代理月付6元起,邀请码 blsj 享折扣。Linux服务器配代理直接在环境变量里填节点信息。
apt走代理——装软件时翻墙
apt默认直连不读环境变量。单独配:
# 在/etc/apt/apt.conf.d/95proxies里
Acquire::http::Proxy "http://代理IP:端口";
Acquire::https::Proxy "http://代理IP:端口";
# apt update走代理拉包列表或者用命令临时:sudo apt -o Acquire::http::Proxy=”http://代理IP:端口” update。
Docker里配代理
Docker Pull拉镜像走代理:mkdir -p /etc/systemd/system/docker.service.d → 创建 /etc/systemd/system/docker.service.d/proxy.conf → 写入:
[Service]
Environment="HTTP_PROXY=http://代理IP:端口"
Environment="HTTPS_PROXY=http://代理IP:端口"
systemctl daemon-reload && systemctl restart docker容器里需要访问外网的:docker run加 -e http_proxy=http://代理IP:端口。Docker Build时走代理:docker build –build-arg http_proxy=http://代理IP:端口。
常见问题
配了环境变量但程序不走代理?
有些程序不遵守环境变量约定(比如ping、nslookup)。用proxychains强制代理——apt install proxychains4 → proxychains4 命令 → 把命令的网络流量强制走代理通道。
多个代理切换麻烦怎么办?
写个alias在 ~/.bashrc 里快速切换:alias proxy-on=’export http_proxy=…’、alias proxy-off=’unset http_proxy https_proxy’。或者用proxychains维护多个代理配置。
systemd启动的服务怎么配代理?
在服务的systemd文件里加Environment=”http_proxy=http://…”然后systemctl daemon-reload + restart。






