上一篇
Linux上安装代理服务器,可以使用
apt-get或
yum等包管理工具,安装
squid:使用命令
sudo apt-get install squid(Debian/Ubuntu)或
sudo yum install squid(CentOS/RHEL)。
Linux系统中安装和配置代理(proxy)可以通过多种方式实现,具体取决于你使用的代理类型(如HTTP、SOCKS等)以及你的具体需求,以下是几种常见的安装和配置代理的方法:

使用环境变量设置HTTP/HTTPS代理
步骤:
- 打开终端:按
Ctrl + Alt + T或通过应用程序菜单打开终端。 - 设置环境变量:
- 对于HTTP代理:
export http_proxy="http://username:password@proxy_address:proxy_port" export https_proxy="https://username:password@proxy_address:proxy_port"
- 如果不需要认证:
export http_proxy="http://proxy_address:proxy_port" export https_proxy="https://proxy_address:proxy_port"
- 对于HTTP代理:
- 验证设置:
- 你可以通过访问一个需要代理的网站来验证代理是否设置成功,使用
curl命令:curl ifconfig.me
- 你可以通过访问一个需要代理的网站来验证代理是否设置成功,使用
示例表格:
| 变量名 | 值 | 描述 |
|---|---|---|
http_proxy |
http://proxy_address:proxy_port |
HTTP代理地址 |
https_proxy |
https://proxy_address:proxy_port |
HTTPS代理地址 |
配置系统级代理(适用于所有用户)
步骤:
- 编辑网络配置文件:
- 对于基于Debian的系统(如Ubuntu),编辑
/etc/environment文件:sudo nano /etc/environment
- 添加以下行:
http_proxy="http://username:password@proxy_address:proxy_port" https_proxy="https://username:password@proxy_address:proxy_port"
- 保存并退出。
- 对于基于Debian的系统(如Ubuntu),编辑
- 更新环境变量:
- 运行以下命令使更改生效:
source /etc/environment
- 运行以下命令使更改生效:
示例表格:
| 文件路径 | 描述 | |
|---|---|---|
/etc/environment |
http_proxy="http://proxy_address:proxy_port" |
系统级HTTP代理配置 |
https_proxy="https://proxy_address:proxy_port" |
系统级HTTPS代理配置 |
使用apt或yum配置代理(适用于包管理器)
步骤:
- 设置代理环境变量:
- 在终端中运行:
export http_proxy="http://proxy_address:proxy_port" export https_proxy="https://proxy_address:proxy_port"
- 在终端中运行:
- 配置包管理器:
- 对于
apt(Debian/Ubuntu):- 创建或编辑
/etc/apt/apt.conf文件:sudo nano /etc/apt/apt.conf
- 添加以下内容:
Acquire::http::Proxy "http://proxy_address:proxy_port"; Acquire::https::Proxy "https://proxy_address:proxy_port";
- 创建或编辑
- 对于
yum(CentOS/RHEL):- 创建或编辑
/etc/yum.conf文件:sudo nano /etc/yum.conf
- 添加以下内容:
proxy=http://proxy_address:proxy_port proxy_username=username proxy_password=password
- 创建或编辑
- 对于
示例表格:
| 文件路径 | 描述 | |
|---|---|---|
/etc/apt/apt.conf |
Acquire::http::Proxy "http://proxy_address:proxy_port"; |
apt HTTP代理配置 |
Acquire::https::Proxy "https://proxy_address:proxy_port"; |
apt HTTPS代理配置 |
|
/etc/yum.conf |
proxy=http://proxy_address:proxy_port |
yum代理配置 |
使用wget和curl配置代理
步骤:
- 设置环境变量:
- 在终端中运行:
export http_proxy="http://proxy_address:proxy_port" export https_proxy="https://proxy_address:proxy_port"
- 在终端中运行:
- 验证
wget和curl:- 使用
wget下载文件:wget http://example.com/file.zip
- 使用
curl下载文件:curl -O http://example.com/file.zip
- 使用
示例表格:
| 命令 | 描述 |
|---|---|
wget |
使用代理下载文件 |
curl |
使用代理下载文件 |
配置SOCKS代理
步骤:
- 安装
danted:- 对于Debian/Ubuntu:
sudo apt-get install danted
- 对于CentOS/RHEL:
sudo yum install danted
- 对于Debian/Ubuntu:
- 配置
danted:- 编辑
/etc/danted.conf文件:sudo nano /etc/danted.conf
- 添加以下内容:
internal: eth0 port = 1080 external: eth0 method: username none user.privileged: root client pass { from: 0.0.0.0/0 to: 0.0.0.0/0 log mask: all } client block { from: 0.0.0.0/0 to: 0.0.0.0/0 log mask: all } pass { from: 0.0.0.0/0 to: 0.0.0.0/0 protocol: tcp udp } block { from: 0.0.0.0/0 to: 0.0.0.0/0 protocol: tcp udp }
- 编辑
- 启动
danted:- 运行以下命令启动服务:
sudo systemctl start danted sudo systemctl enable danted
- 运行以下命令启动服务:
示例表格:
| 文件路径 | 描述 | |
|---|---|---|
/etc/danted.conf |
internal: eth0 port = 1080 |
SOCKS代理配置文件 |
external: eth0 |
SOCKS代理外部接口配置 | |
method: username none |
认证方式配置 | |
client pass { ... } |
客户端访问规则 | |
client block { ... } |
客户端阻止规则 | |
pass { ... } |
允许的协议和端口范围 | |
block { ... } |
阻止的协议和端口范围 |
使用ssh作为SOCKS代理
步骤:
- 建立SSH连接:
- 使用以下命令建立SSH连接并转发本地端口到远程服务器:
ssh -D 1080 user@remote_server
1080是本地端口,user是远程服务器的用户名,remote_server是远程服务器的地址。
- 使用以下命令建立SSH连接并转发本地端口到远程服务器:
- 配置应用程序使用SOCKS代理:
- 大多数应用程序允许在设置中指定SOCKS代理地址为
localhost:1080。
- 大多数应用程序允许在设置中指定SOCKS代理地址为
示例表格:
| 命令 | 描述 |
|---|---|
ssh -D 1080 user@remote_server |
通过SSH建立SOCKS代理连接 |
localhost:1080 |
SOCKS代理地址 |
使用ProxyChains工具
步骤:
- 安装
ProxyChains:- 对于Debian/Ubuntu:
sudo apt-get install proxychains
- 对于CentOS/RHEL:
sudo yum install epel-release sudo yum install proxychains
- 对于Debian/Ubuntu:
- 配置
ProxyChains:- 编辑
/etc/proxychains.conf文件:sudo nano /etc/proxychains.conf
- 找到并修改以下行:
[ProxyList] socks5 127.0.0.1 1080
- 编辑
- 使用
ProxyChains运行程序:- 使用以下命令运行需要代理的程序:
proxychains curl http://example.com
- 使用以下命令运行需要代理的程序:
示例表格:
| 文件路径 | 描述 | |
|---|---|---|
/etc/proxychains.conf |
[ProxyList] |
ProxyChains配置文件 |
socks5 127.0.0.1 1080 |
SOCKS5代理地址 | |
http 192.168.1.1 8080 |
HTTP代理地址(可选) | |
dns 192.168.1.1 |
DNS请求代理地址(可选) |
常见问题解答(FAQs)
问题1:如何验证代理是否设置成功?
解答:你可以通过访问一个需要代理的网站来验证代理是否设置成功,使用 curl 命令访问 ifconfig.me,如果返回的IP地址是代理服务器的IP地址,则说明代理设置成功,你也可以尝试访问其他需要代理的网站或服务。
问题2:如何取消代理设置?
解答:要取消代理设置,你可以将之前设置的环境变量或配置文件中的代理地址删除或注释掉,对于环境变量,可以运行以下命令取消设置:

unset http_proxy unset https_proxy
对于系统级配置文件,如 /etc/environment,你可以将相关的代理配置行删除或注释掉,然后重新加载环境变量:

