在Linux系统中设置代理服务器可以根据使用场景选择不同的方案,既可以通过配置环境变量实现临时或永久的系统级代理,也可以部署专业的代理服务软件满足更复杂的转发需求。

通过环境变量设置代理
这是最快捷的代理配置方式,适合临时测试或者仅需部分命令行工具走代理的场景,支持HTTP、HTTPS、FTP等多种协议代理。
临时设置代理
直接在终端执行export命令即可,关闭终端后配置会失效,适合临时使用。
# 设置HTTP代理,替换为你自己的代理地址和端口 export http_proxy=http://127.0.0.1:8080 # 设置HTTPS代理 export https_proxy=http://127.0.0.1:8080 # 设置FTP代理 export ftp_proxy=http://127.0.0.1:8080 # 设置无需代理的地址段,多个地址用逗号分隔 export no_proxy=localhost,127.0.0.1,192.168.0.1
永久设置代理
如果需要代理配置长期生效,可以将环境变量写入用户的配置文件,所有新打开的终端都会自动加载配置。
针对当前用户生效,编辑~/.bashrc文件,在文件末尾添加以下内容:
# 代理配置 export http_proxy=http://127.0.0.1:8080 export https_proxy=http://127.0.0.1:8080 export ftp_proxy=http://127.0.0.1:8080 export no_proxy=localhost,127.0.0.1,192.168.0.1
添加完成后执行以下命令让配置生效:
source ~/.bashrc
如果需要所有用户都生效,可以将上述环境变量配置写入/etc/profile文件,之后执行source /etc/profile即可。
部署Squid代理服务器
如果需要搭建独立的代理服务器供其他设备使用,Squid是Linux下常用的代理服务软件,支持缓存、访问控制等功能。
安装Squid
不同发行版的安装命令略有区别:
- Debian/Ubuntu系统:
sudo apt update && sudo apt install squid -y
- CentOS/RHEL系统:
sudo yum install squid -y
基础配置Squid
Squid的配置文件默认路径为/etc/squid/squid.conf,以下是常用配置项说明:
| 配置项 | 说明 |
|---|---|
| http_port 3128 | 代理服务监听的端口,默认是3128,可以按需修改 |
| acl localnet src 192.168.0.0/16 | 定义允许使用代理的网段,这里示例是192.168开头的私有网段 |
| http_access allow localnet | 允许定义的localnet网段使用代理 |
| http_access deny all | 拒绝其他未匹配的访问请求 |
修改配置后需要重启Squid服务使配置生效:
# 检查配置文件语法是否正确 sudo squid -k parse # 重启服务 sudo systemctl restart squid # 设置开机自启 sudo systemctl enable squid
注意事项
部分图形界面应用可能不会读取环境变量代理,需要在应用的网络设置中单独配置代理地址。如果代理需要认证,可以在环境变量中加上用户名和密码,格式为http://用户名:密码@代理地址:端口。部署Squid代理时需要注意防火墙放行对应的监听端口,避免外部设备无法访问。