在Linux服务器运维或开发过程中,经常会遇到需要访问外部网络资源但直连受限的情况,配置网络代理是解决这个问题的高效方式。不同的使用场景对应不同的代理配置方法,用户可以根据自身需求选择合适的配置方案。

临时配置网络代理(仅当前终端生效)
如果只是临时需要在当前终端会话中使用代理,直接设置环境变量是最快捷的方式,关闭终端后配置会自动失效,不会影响其他进程。
假设代理服务器地址为192.168.0.1,端口为8080,执行以下命令即可设置:
# 设置HTTP代理 export http_proxy=http://192.168.0.1:8080 # 设置HTTPS代理 export https_proxy=http://192.168.0.1:8080 # 设置FTP代理(可选) export ftp_proxy=http://192.168.0.1:8080 # 设置不使用代理的地址段(可选) export no_proxy=localhost,127.0.0.1,192.168.0.0/16
如果需要取消当前终端的代理配置,执行以下命令即可:
unset http_proxy unset https_proxy unset ftp_proxy unset no_proxy
永久配置全局网络代理
如果需要让所有用户、所有终端都默认使用网络代理,可以将环境变量配置写入系统全局配置文件,重启后配置依然生效。
针对所有用户生效的配置
编辑/etc/profile文件,在文件末尾添加代理相关环境变量:
# 编辑配置文件 vim /etc/profile # 在文件末尾添加以下内容,替换为实际代理地址和端口 export http_proxy=http://192.168.0.1:8080 export https_proxy=http://192.168.0.1:8080 export ftp_proxy=http://192.168.0.1:8080 export no_proxy=localhost,127.0.0.1,192.168.0.0/16
保存文件后执行以下命令让配置立即生效:
source /etc/profile
针对单个用户生效的配置
如果只需要当前登录用户使用代理,可以编辑用户家目录下的~/.bashrc文件,添加相同的环境变量内容,之后执行source ~/.bashrc即可生效。
包管理工具单独配置代理
部分场景下可能只需要包管理工具走代理,其他网络请求走直连,此时可以单独为包管理工具配置代理。
APT包管理工具(Debian/Ubuntu系统)
创建或编辑APT的代理配置文件/etc/apt/apt.conf.d/proxy.conf:
# 创建配置文件 touch /etc/apt/apt.conf.d/proxy.conf # 编辑配置文件 vim /etc/apt/apt.conf.d/proxy.conf
在文件中添加以下内容:
Acquire::http::Proxy "http://192.168.0.1:8080"; Acquire::https::Proxy "http://192.168.0.1:8080";
保存后执行apt update即可验证代理是否生效。
YUM/DNF包管理工具(CentOS/RHEL系统)
编辑YUM的配置文件/etc/yum.conf,在文件末尾添加代理配置:
# 编辑配置文件 vim /etc/yum.conf # 添加以下内容,替换为实际代理信息 proxy=http://192.168.0.1:8080 # 如果代理需要认证,添加以下两行 # proxy_username=代理用户名 # proxy_password=代理密码
验证代理配置是否生效
配置完成后可以通过以下方式验证代理是否正常工作:
- 使用
curl命令测试:curl -I https://www.ipipp.com,如果返回正常状态码说明代理生效 - 使用
wget命令测试:wget https://www.ipipp.com,查看是否能正常下载文件 - 查看环境变量:执行
echo $http_proxy,确认输出的代理地址和端口正确
常见问题处理
如果配置代理后依然无法访问网络,可以排查以下原因:
- 确认代理服务器地址、端口是否正确,代理服务是否正常运行
- 如果代理需要认证,需要在代理地址中带上认证信息,格式为
http://用户名:密码@代理地址:端口 - 检查
no_proxy配置是否包含了需要访问的目标地址,避免目标地址被排除在代理之外 - 如果是容器或特定服务使用代理,需要单独为对应服务的环境配置代理变量