Ubuntu 网络代理设置教程

文章目录

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 全局代理设置(所有应用通用)

  1. 打开系统设置:点击屏幕右上角「网络图标」(Wi-Fi/有线图标),选择「设置」;

  2. 找到网络代理:在左侧菜单栏选择「网络」,下拉找到「代理」选项,点击进入;

  3. 选择代理模式:点击「代理模式」下拉框,选择「手动」(默认是「关闭」,自动模式适用于有 PAC 文件的场景,新手暂不推荐);

  4. 填写代理信息:

    • HTTP 代理:填写「服务器」(IP/域名)和「端口」,有认证则勾选「需要认证」,输入用户名和密码;

    • HTTPS 代理:填写方式与 HTTP 一致,通常和 HTTP 代理共用一个地址和端口;

    • SOCKS 代理:若使用 SOCKS5 代理,填写「服务器」和「端口」,类型默认 SOCKS5 即可;

    • 忽略代理(可选):在「不使用代理的主机和域名」中,填写无需走代理的地址(如 localhost、127.0.0.1、本地局域网 IP),避免本地服务无法访问。

  5. 应用生效:点击右上角「应用」,关闭设置窗口即可。部分应用(如浏览器)可能需要重启才能生效。

2.2 单独应用代理设置(仅特定应用生效)

若不想全局代理,可单独给浏览器、终端等应用设置代理,以最常用的 Chrome 浏览器为例:

  1. 打开 Chrome,点击右上角「三个点」→「设置」;

  2. 下拉找到「系统」,点击「打开您计算机的代理设置」,会自动跳转到 Ubuntu 系统代理设置界面(同 2.1 步骤),按需配置即可;

  3. 进阶方式:安装 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 文件(全局生效,所有用户可用)
  1. 打开配置文件:
    sudo nano /etc/profile

  2. 在文件末尾添加代理命令(替换为自己的代理信息):
    # 永久代理配置(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"

  3. 保存并生效:按 Ctrl+O 保存,Ctrl+X 退出编辑,然后执行以下命令使配置立即生效:
    source /etc/profile

方式二:修改 /etc/environment 文件(系统级生效,更稳定)
  1. 打开配置文件:
    sudo nano /etc/environment

  2. 添加代理信息(格式与方式一略有不同,无需 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"

  3. 保存生效:Ctrl+O 保存,Ctrl+X 退出,重启系统或重新登录用户即可生效(无需执行 source 命令)。

3.3 APT 软件源单独代理(仅 APT 命令生效)

若仅需要 APT 命令(如 sudo apt update、sudo apt install)走代理(比如下载国外软件源),可单独配置 APT 代理,不影响其他应用:

  1. 创建并打开 APT 代理配置文件:
    sudo nano /etc/apt/apt.conf.d/proxy.conf

  2. 添加以下内容(替换为自己的代理信息):

    `# APT 代理配置(HTTP/HTTPS)

    Acquire::http::proxy "http://192.168.1.10:8080/";

    Acquire::https::proxy "http://192.168.1.10:8080/";

  1. 保存退出(Ctrl+O、Ctrl+X),无需额外操作,后续 APT 命令会自动走代理。

四、代理生效验证方法(必做)

配置完成后,务必验证代理是否生效,避免配置错误导致无法上网,以下是 3 种常用验证方法:

  1. 终端验证(最通用):
    `# 方法 1:查看代理环境变量(仅命令行代理生效时可见)
    echo http_proxy echo https_proxy
  • 方法 2:测试网络连接(查看是否通过代理 IP 访问)

    curl -I https://www.baidu.com

    若输出中包含代理相关信息,或 IP 显示为代理服务器 IP,说明生效

  • 方法 3:直接查看当前公网 IP(对比代理 IP 是否一致)

    curl ipinfo.io`

  1. 浏览器验证:打开浏览器,访问 https://ipinfo.io,查看显示的 IP 是否为代理服务器 IP,是则生效。

  2. 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. 问题 1:配置代理后无法上网?

    • 排查:检查代理地址、端口是否正确,代理服务器是否正常运行;有认证的话,确认用户名和密码无误;

    • 解决:重新核对代理信息,关闭代理后测试网络是否正常(排除代理服务器本身问题);若使用 SOCKS5 代理,确认命令中前缀是 socks5://(而非 http://)。

  2. 问题 2:图形界面配置后,终端不生效?

    • 原因:图形界面代理默认不同步到终端环境变量;

    • 解决:关闭终端后重新打开,或在终端执行 source /etc/environment 手动加载环境变量;也可直接用命令行方式配置代理。

  3. 问题 3:APT 命令无法走代理?

    • 排查:确认 APT 代理配置文件(proxy.conf)路径和内容正确,SOCKS5 代理需安装 apt-transport-socks;

    • 解决:重新配置 proxy.conf 文件,执行 sudo apt update 测试,若仍失败,切换为 HTTP 代理尝试。

  4. 问题 4:代理生效后,本地服务(如 localhost)无法访问?

    • 原因:未配置 no_proxy,本地请求也走了代理;

    • 解决:在代理配置中添加 no_proxy,包含 localhost、127.0.0.1 和本地局域网 IP 段。

  5. 问题 5:Ubuntu 22.04/24.04 代理设置后提示「代理服务器不可达」?

    • 原因:新版本系统新增代理连通性检测,可能是代理地址错误或网络防火墙拦截;

    • 解决:核对代理地址和端口,关闭本地防火墙(sudo ufw disable),重新测试代理服务器连通性。

七、进阶技巧(可选)

  1. 代理自动切换脚本:可编写 Shell 脚本,实现快速切换不同代理节点或关闭代理,适合经常切换网络环境的用户,脚本示例:
    `#!/bin/bash
  1. Docker 容器代理:若需要 Docker 容器走代理,可在 /etc/docker/daemon.json 中配置,重启 Docker 即可生效;

  2. Python 虚拟环境代理:进入虚拟环境后,用 pip config set global.proxy 单独设置代理,不影响系统全局配置。

相关推荐
A小辣椒2 天前
TShark:Wireshark CLI 功能
linux
A小辣椒2 天前
TShark:基础知识
linux
AlfredZhao2 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao3 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334663 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪3 天前
linux 拷贝文件或目录到指定的位置
linux
摇滚侠4 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush44 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5204 天前
Linux 11 动态监控指令top
linux
网络研究院4 天前
2026年网络安全
网络·安全·法律·法规·趋势·发展