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 单独设置代理,不影响系统全局配置。

相关推荐
黄昏回响2 小时前
计算机系统基础知识(九):软件篇之网络协议详解
网络·网络协议·面试·改行学it
我是一个对称矩阵2 小时前
Ubuntu安装WIFI适配器驱动
stm32·单片机·ubuntu
vvw&2 小时前
如何在 Linux 中安装和使用 nftables
linux·运维·服务器·ubuntu
桌面运维家2 小时前
KVM虚拟机:Neutron网络故障诊断与修复实战
服务器·网络·php
F1FJJ2 小时前
Shield CLI 的 PostgreSQL 插件 v0.5.0 发布:数据库导出 + 协作增强,ER 图全新体验
网络·数据库·docker·postgresql·go
BlackPercy2 小时前
[deepin] 搭建 openclaw
linux·deepin·openclaw
Fairy要carry3 小时前
项目03-手搓Agent之团队协作(发消息/分配任务)
linux·前端·python
AzusaFighting3 小时前
ROS 2 Jazzy (Ubuntu Noble 24.04)部署
linux·运维·ubuntu
天启HTTP3 小时前
多线程环境下,动态IP怎么分配最合理
java·服务器·网络