文章目录
-
- 一、前期准备(必看)
- 二、图形界面设置(桌面版首选,最简单)
-
- [2.1 全局代理设置(所有应用通用)](#2.1 全局代理设置(所有应用通用))
- [2.2 单独应用代理设置(仅特定应用生效)](#2.2 单独应用代理设置(仅特定应用生效))
- 三、命令行设置(服务器版/无桌面版必学)
-
- [3.1 临时代理(仅当前终端生效,重启终端失效)](#3.1 临时代理(仅当前终端生效,重启终端失效))
- [3.2 永久代理(所有终端生效,重启系统不失效)](#3.2 永久代理(所有终端生效,重启系统不失效))
-
- [方式一:修改 /etc/profile 文件(全局生效,所有用户可用)](#方式一:修改 /etc/profile 文件(全局生效,所有用户可用))
- [方式二:修改 /etc/environment 文件(系统级生效,更稳定)](#方式二:修改 /etc/environment 文件(系统级生效,更稳定))
- [3.3 APT 软件源单独代理(仅 APT 命令生效)](#3.3 APT 软件源单独代理(仅 APT 命令生效))
- 四、代理生效验证方法(必做)
- 五、代理关闭方法
-
- [5.1 图形界面关闭](#5.1 图形界面关闭)
- [5.2 命令行关闭](#5.2 命令行关闭)
- 六、常见问题排查(新手必看)
- 七、进阶技巧(可选)
Ubuntu 网络代理设置主要分为「图形界面」和「命令行」两种方式,适配不同场景:桌面版用户优先用图形界面(简单直观),服务器版/无桌面用户用命令行(高效便捷)。教程覆盖 HTTP/HTTPS/SOCKS5 代理,附验证方法和问题排查,新手可直接跟着操作。
一、前期准备(必看)
设置前需确认以下信息(由代理服务商提供或本地代理工具生成),缺一不可:
-
代理类型:HTTP、HTTPS 或 SOCKS5(三者选对应类型配置,不可混淆);
-
代理服务器地址:通常是 IP 地址(如 192.168.1.10)或域名;
-
代理端口:对应类型的端口号(如 HTTP 常用 8080,SOCKS5 常用 1080);
-
认证信息(可选):部分代理需要用户名和密码,无则忽略。
补充:Ubuntu 不同版本(18.04/20.04/22.04/24.04 LTS)代理设置界面略有差异,但核心步骤一致,教程以 22.04/24.04 LTS(最新稳定版)为例,老版本可参考操作。
二、图形界面设置(桌面版首选,最简单)
适合日常使用 Ubuntu 桌面版的用户,无需输入命令,鼠标操作即可完成,支持所有代理类型。
2.1 全局代理设置(所有应用通用)
-
打开系统设置:点击屏幕右上角「网络图标」(Wi-Fi/有线图标),选择「设置」;
-
找到网络代理:在左侧菜单栏选择「网络」,下拉找到「代理」选项,点击进入;
-
选择代理模式:点击「代理模式」下拉框,选择「手动」(默认是「关闭」,自动模式适用于有 PAC 文件的场景,新手暂不推荐);
-
填写代理信息:
-
HTTP 代理:填写「服务器」(IP/域名)和「端口」,有认证则勾选「需要认证」,输入用户名和密码;
-
HTTPS 代理:填写方式与 HTTP 一致,通常和 HTTP 代理共用一个地址和端口;
-
SOCKS 代理:若使用 SOCKS5 代理,填写「服务器」和「端口」,类型默认 SOCKS5 即可;
-
忽略代理(可选):在「不使用代理的主机和域名」中,填写无需走代理的地址(如 localhost、127.0.0.1、本地局域网 IP),避免本地服务无法访问。
-
-
应用生效:点击右上角「应用」,关闭设置窗口即可。部分应用(如浏览器)可能需要重启才能生效。
2.2 单独应用代理设置(仅特定应用生效)
若不想全局代理,可单独给浏览器、终端等应用设置代理,以最常用的 Chrome 浏览器为例:
-
打开 Chrome,点击右上角「三个点」→「设置」;
-
下拉找到「系统」,点击「打开您计算机的代理设置」,会自动跳转到 Ubuntu 系统代理设置界面(同 2.1 步骤),按需配置即可;
-
进阶方式:安装 Chrome 插件(如 Proxy SwitchyOmega),可快速切换代理/关闭代理,适合经常切换网络环境的用户。
补充:Firefox 浏览器可直接在「设置」→「常规」→「网络设置」中,手动填写代理信息,无需跳转到系统设置。
三、命令行设置(服务器版/无桌面版必学)
适合 Ubuntu 服务器版、无桌面环境,或习惯用命令行操作的用户,分为「临时代理」和「永久代理」两种,按需选择。
前提:打开终端(桌面版按 Ctrl+Alt+T,服务器版直接登录),输入命令时注意替换「代理地址」和「端口」,有认证则补充用户名和密码(格式:http://用户名:密码@代理地址:端口)。
3.1 临时代理(仅当前终端生效,重启终端失效)
适合临时使用代理(如临时下载国外软件、访问海外资源),输入以下命令即可(根据代理类型选择):
bash
# HTTP 代理
export http_proxy=http://192.168.1.10:8080
# HTTPS 代理(通常与 HTTP 一致)
export https_proxy=http://192.168.1.10:8080
# SOCKS5 代理(注意前缀是 socks5://)
export all_proxy=socks5://192.168.1.10:1080
# 有认证的代理(替换 用户名 和 密码)
export http_proxy=http://用户名:密码@192.168.1.10:8080
export https_proxy=http://用户名:密码@192.168.1.10:8080
# 忽略代理(无需走代理的地址,用逗号分隔)
export no_proxy="localhost,127.0.0.1,::1,192.168.1.0/24"
3.2 永久代理(所有终端生效,重启系统不失效)
适合长期使用代理的场景,有两种配置方式,任选一种即可。
方式一:修改 /etc/profile 文件(全局生效,所有用户可用)
-
打开配置文件:
sudo nano /etc/profile -
在文件末尾添加代理命令(替换为自己的代理信息):
# 永久代理配置(HTTP/HTTPS/SOCKS5 三选一或按需配置) export http_proxy=http://192.168.1.10:8080 export https_proxy=http://192.168.1.10:8080 export all_proxy=socks5://192.168.1.10:1080 export no_proxy="localhost,127.0.0.1,::1" -
保存并生效:按 Ctrl+O 保存,Ctrl+X 退出编辑,然后执行以下命令使配置立即生效:
source /etc/profile
方式二:修改 /etc/environment 文件(系统级生效,更稳定)
-
打开配置文件:
sudo nano /etc/environment -
添加代理信息(格式与方式一略有不同,无需 export):
http_proxy="http://192.168.1.10:8080" https_proxy="http://192.168.1.10:8080" all_proxy="socks5://192.168.1.10:1080" no_proxy="localhost,127.0.0.1,::1" -
保存生效:Ctrl+O 保存,Ctrl+X 退出,重启系统或重新登录用户即可生效(无需执行 source 命令)。
3.3 APT 软件源单独代理(仅 APT 命令生效)
若仅需要 APT 命令(如 sudo apt update、sudo apt install)走代理(比如下载国外软件源),可单独配置 APT 代理,不影响其他应用:
-
创建并打开 APT 代理配置文件:
sudo nano /etc/apt/apt.conf.d/proxy.conf -
添加以下内容(替换为自己的代理信息):
`# APT 代理配置(HTTP/HTTPS)
Acquire::http::proxy "http://192.168.1.10:8080/";
Acquire::https::proxy "http://192.168.1.10:8080/";
- 有认证的 APT 代理
Acquire::http::proxy "http://用户名:密码@192.168.1.10:8080/";
Acquire::https::proxy "http://用户名:密码@192.168.1.10:8080/"; - SOCKS5 代理需额外配置(需安装 apt-transport-socks)
sudo apt install apt-transport-socks
Acquire::socks::proxy "socks5://192.168.1.10:1080/";
`
- 保存退出(Ctrl+O、Ctrl+X),无需额外操作,后续 APT 命令会自动走代理。
四、代理生效验证方法(必做)
配置完成后,务必验证代理是否生效,避免配置错误导致无法上网,以下是 3 种常用验证方法:
- 终端验证(最通用):
`# 方法 1:查看代理环境变量(仅命令行代理生效时可见)
echo http_proxy echo https_proxy
-
方法 2:测试网络连接(查看是否通过代理 IP 访问)
curl -I https://www.baidu.com
若输出中包含代理相关信息,或 IP 显示为代理服务器 IP,说明生效
-
方法 3:直接查看当前公网 IP(对比代理 IP 是否一致)
curl ipinfo.io`
-
浏览器验证:打开浏览器,访问 https://ipinfo.io,查看显示的 IP 是否为代理服务器 IP,是则生效。
-
APT 代理验证:执行 sudo apt update,若能正常更新软件源,且无网络超时错误,说明 APT 代理生效。
五、代理关闭方法
5.1 图形界面关闭
打开「设置」→「网络」→「代理」,将「代理模式」改为「关闭」,点击「应用」即可。
5.2 命令行关闭
-
临时代理关闭(仅当前终端):
unset http_proxy unset https_proxy unset all_proxy -
永久代理关闭:删除 /etc/profile 或 /etc/environment 文件中添加的代理命令,保存后执行 source /etc/profile(方式一),或重启系统(方式二)。
-
APT 代理关闭:删除 /etc/apt/apt.conf.d/proxy.conf 文件,或注释掉文件中的代理配置(在每行前加 #)。
六、常见问题排查(新手必看)
-
问题 1:配置代理后无法上网?
-
排查:检查代理地址、端口是否正确,代理服务器是否正常运行;有认证的话,确认用户名和密码无误;
-
解决:重新核对代理信息,关闭代理后测试网络是否正常(排除代理服务器本身问题);若使用 SOCKS5 代理,确认命令中前缀是 socks5://(而非 http://)。
-
-
问题 2:图形界面配置后,终端不生效?
-
原因:图形界面代理默认不同步到终端环境变量;
-
解决:关闭终端后重新打开,或在终端执行 source /etc/environment 手动加载环境变量;也可直接用命令行方式配置代理。
-
-
问题 3:APT 命令无法走代理?
-
排查:确认 APT 代理配置文件(proxy.conf)路径和内容正确,SOCKS5 代理需安装 apt-transport-socks;
-
解决:重新配置 proxy.conf 文件,执行 sudo apt update 测试,若仍失败,切换为 HTTP 代理尝试。
-
-
问题 4:代理生效后,本地服务(如 localhost)无法访问?
-
原因:未配置 no_proxy,本地请求也走了代理;
-
解决:在代理配置中添加 no_proxy,包含 localhost、127.0.0.1 和本地局域网 IP 段。
-
-
问题 5:Ubuntu 22.04/24.04 代理设置后提示「代理服务器不可达」?
-
原因:新版本系统新增代理连通性检测,可能是代理地址错误或网络防火墙拦截;
-
解决:核对代理地址和端口,关闭本地防火墙(sudo ufw disable),重新测试代理服务器连通性。
-
七、进阶技巧(可选)
- 代理自动切换脚本:可编写 Shell 脚本,实现快速切换不同代理节点或关闭代理,适合经常切换网络环境的用户,脚本示例:
`#!/bin/bash
- 代理切换脚本(替换为自己的代理信息)
case $1 in
us)
export http_proxy=http://us.proxy.com:7890
export https_proxy=http://us.proxy.com:7890
echo "已切换至美国代理"
;;
jp)
export http_proxy=http://jp.proxy.com:7890
export https_proxy=http://jp.proxy.com:7890
echo "已切换至日本代理"
;;
off)
unset http_proxy
unset https_proxy
echo "已关闭代理"
;;
*)
echo "用法:./proxy.sh (us|jp|off)"
;;
esac`使用方法:保存为 proxy.sh,执行 chmod +x proxy.sh 赋予执行权限,然后用 ./proxy.sh us 切换代理。
-
Docker 容器代理:若需要 Docker 容器走代理,可在 /etc/docker/daemon.json 中配置,重启 Docker 即可生效;
-
Python 虚拟环境代理:进入虚拟环境后,用 pip config set global.proxy 单独设置代理,不影响系统全局配置。