跳转到内容

Linux(Ubuntu/Debian)代理设置:系统与控制台方法

Гайды
Linux(Ubuntu/Debian)代理设置:系统与控制台方法

在 Linux(Ubuntu/Debian)中设置代理,需要为终端配置环境变量,并修改系统级配置文件以保持持久连接。用户可以选择针对特定任务的临时会话级 export,也可以永久修改 /etc/environment/etc/apt/apt.conf.d/ 等文件,确保所有流量都通过代理服务器转发。

用于控制台访问的全局环境变量

在 Linux 终端中重定向流量最常用的方法是环境变量。这些变量会告诉 curlwgetgit 等命令行工具,出站请求应使用哪个代理服务器。Linux 区分 HTTP、HTTPS 和 FTP 流量,每种协议都需要对应的变量。

要为当前终端会话设置临时代理,请使用 export 命令。这非常适合一次性任务,或测试新的 GProxy 住宅代理接入点。请把 proxy_addressport 替换为您的具体信息:

# Temporary session configuration
export http_proxy="http://username:[email protected]:8080"
export https_proxy="http://username:[email protected]:8080"
export ftp_proxy="http://username:[email protected]:8080"
export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"

no_proxy 变量至关重要。它可以防止系统对本地流量使用代理,否则访问本地数据库或内部开发服务器时会出现连接超时。请务必在该列表中包含 127.0.0.1localhost

如果需要为特定用户设置重启后依然生效的永久配置,请将这些行添加到 ~/.bashrc~/.profile 文件中。用 Nano 之类的文本编辑器打开文件:

nano ~/.bashrc

滚动到文件末尾,粘贴 export 命令。保存(Ctrl+O,回车)并退出(Ctrl+X)后,执行 source ~/.bashrc 重新加载配置。这样,每次打开新的终端标签页时,您的 GProxy 设置都会自动生效。

Linux(Ubuntu/Debian)代理设置:系统与控制台方法

通过 /etc/environment 进行系统级配置

.bashrc 适用于单个用户,但服务器管理员通常需要对所有用户和系统服务都生效的全局配置。在 Debian 和 Ubuntu 中,/etc/environment 是系统级环境变量的标准位置。

与脚本文件不同,/etc/environment 是由 KEY=VALUE 键值对组成的纯文本文件,不支持 export 等 shell 命令。配置步骤如下:

  1. 以 root 权限打开文件:sudo nano /etc/environment
  2. 完全按照下面的写法添加代理字符串:
http_proxy="http://user:pass@host:port/"
https_proxy="http://user:pass@host:port/"
ftp_proxy="http://user:pass@host:port/"
no_proxy="localhost,127.0.0.1"

请注意,/etc/environment 中的更改通常需要完全重启系统或注销后重新登录才会生效。对于多个 cron 任务或后台进程需要通过 GProxy 高可用节点持续访问互联网的无头服务器,这种方法非常有效。

配置 APT 包管理器

Ubuntu 和 Debian 使用的 Advanced Package Tool(APT)并不总是遵循标准环境变量。如果在没有专门 APT 代理设置的情况下运行 sudo apt update,连接可能失败或完全绕过代理。这是受限企业环境中常见的障碍。

解决办法是为 APT 创建专用配置文件。相比修改主 apt.conf 文件,更好的做法是在 /etc/apt/apt.conf.d/ 中新建文件,这样可以避免系统升级时丢失配置。

sudo nano /etc/apt/apt.conf.d/95proxies

插入以下内容,注意每行都要以分号结尾:

Acquire::http::Proxy "http://username:[email protected]:8080";
Acquire::https::Proxy "http://username:[email protected]:8080";

如果您的代理密码中包含特殊字符(如 @、# 或 !),必须进行 URL 编码。例如密码 P@ssword 应写成 P%40ssword。不编码这些字符会导致 APT 解析连接字符串出错,从而产生身份验证错误。

Linux(Ubuntu/Debian)代理设置:系统与控制台方法

为特定 CLI 工具配置代理(Curl、Wget、Git)

有时您只希望特定应用使用代理。这种"选择性代理"适合需要测试本地化内容或使用 GProxy 抓取数据、又不想影响系统其余部分性能的开发者。

1. Wget 配置

修改 /etc/wgetrc(全局)或 ~/.wgetrc(本地)文件。添加以下内容,为所有 wget 命令默认启用代理支持:

use_proxy = on
http_proxy = http://username:[email protected]:8080
https_proxy = http://username:[email protected]:8080

2. Curl 配置

对于 curl,请创建或编辑 ~/.curlrc。这对与 API 交互的自动化脚本尤其有用:

proxy = "http://username:[email protected]:8080"

3. Git 配置

使用远程仓库的开发者可以配置 Git,让 clonepushpull 操作走代理。通过 git config 命令完成:

git config --global http.proxy http://username:[email protected]:8080
git config --global https.proxy http://username:[email protected]:8080

之后若要移除这些设置,请使用 --unset 参数:git config --global --unset http.proxy

Linux 代理方法对比

选择哪种方法取决于具体使用场景。下表对比了本指南讨论的四种主要方式。

方法 作用范围 持久性 最佳适用场景
Export 命令 当前 shell 会话 临时 测试与一次性任务
~/.bashrc 当前用户 永久 个人开发环境
/etc/environment 系统级 永久 生产服务器与多用户系统
APT 配置 仅包管理器 永久 受限网络中的系统更新

进阶:用 Proxychains 处理不支持代理的应用

一些较旧的 Linux 应用或自定义脚本原生不支持代理设置。这种情况下,proxychains4 是非常实用的工具。它可以"强制"指定应用建立的任何 TCP 连接都走代理(HTTP、SOCKS4 或 SOCKS5)。

首先安装该软件包:

sudo apt update && sudo apt install proxychains4 -y

编辑 /etc/proxychains4.conf 配置文件。滚动到底部,添加您的 GProxy 信息。注意注释掉默认的 socks4 127.0.0.1 9050 行:

[ProxyList]
# protocol host port username password
http proxy.gproxy.com 8080 username password

要让任何应用通过代理运行,只需在命令前加上 proxychains4。例如:proxychains4 telnet example.comproxychains4 python3 scraper.py。在标准环境变量失效的绕行场景中,这种方法非常有效。

验证连接

配置完成后,务必验证流量确实经过了代理。可使用下面基于 Python 的方法,或用一条简单的 curl 命令检查您的外部 IP 地址。

import requests

# Test script to verify proxy connectivity
proxies = {
    "http": "http://username:[email protected]:8080",
    "https": "http://username:[email protected]:8080",
}

try:
    response = requests.get("https://api.ipify.org?format=json", proxies=proxies, timeout=10)
    print(f"Current External IP: {response.json()['ip']}")
except Exception as e:
    print(f"Connection failed: {e}")

如果使用控制台方法,请运行:curl -L https://api.ipify.org。输出应与您的 GProxy 服务器 IP 一致,而不是本地 ISP 的 IP。如果 IP 没有变化,请检查配置文件中是否有拼写错误,或确认防火墙(ufw 或 iptables)没有阻断代理端口。

要点总结

在 Ubuntu 或 Debian 上配置代理是一个多层次的过程。环境变量可以覆盖大多数终端任务,但 APT 和 Git 等特定工具需要专门配置才能获得最佳效果。借助 GProxy 稳定的基础设施,您可以在所有基于 Linux 的工作流中实现高速数据获取与匿名性。

  • 个人使用选 ~/.bashrc:这是日常终端工作中管理代理最安全、最灵活的方式。
  • 别忘了 APT:若未正确配置 /etc/apt/apt.conf.d/,受限网络中的系统更新会失败。
  • 对凭据进行 URL 编码:如果 GProxy 密码含特殊字符,请务必编码(例如 # 写成 %23),以免配置文件出现语法错误。
  • 善用 Proxychains:对于拒绝识别环境变量的应用,proxychains4 提供了可靠的"强制"路由方案。
support_agent
GProxy Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.