一份关于 Ubuntu 系统下代理配置的故障排查笔记

Ubuntu 网络代理配置与故障排查指南

在使用 Ubuntu 系统时,配置网络代理可以帮助提升网络访问速度或突破网络限制。然而,代理配置过程中可能会遇到各种问题。本文将详细介绍如何在 Ubuntu 下配置网络代理,并提供故障排查的步骤和解决方案。

目录

  1. 系统代理配置
    • 1.1 设置系统代理
    • 1.2 配置系统全局代理
    • 1.3 配置 Git 代理
    • 1.4 为虚拟环境配置代理
  2. 使用工具通过代理访问网络
    • 2.1 使用 curl
    • 2.2 使用 wget
  3. 代理配置故障排查
    • 3.1 检查代理服务状态
    • 3.2 检查系统代理设置
    • 3.3 检查防火墙设置
  4. 基础知识补充
    • 4.1 Shell 和 Bash 简介
    • 4.2 .bashrc 文件介绍
  5. 测试代理配置

系统代理配置

1.1 设置系统代理

在 Ubuntu 系统中,可以通过 GNOME 设置系统代理模式。

检查当前代理模式
gsettings get org.gnome.system.proxy mode
设置为手动代理模式
gsettings set org.gnome.system.proxy mode 'manual'
配置代理主机和端口
gsettings set org.gnome.system.proxy.http host '127.0.0.1'
gsettings set org.gnome.system.proxy.http port 7897
验证设置是否成功
gsettings get org.gnome.system.proxy mode
gsettings get org.gnome.system.proxy.http host
gsettings get org.gnome.system.proxy.http port

标准配置应为:

  • 代理模式:manual
  • 代理主机:127.0.0.1
  • 代理端口:7897

1.2 配置系统全局代理

对于需要在所有终端和应用中使用代理的情况,可以设置系统全局代理。

配置步骤
  1. 编辑 ~/.bashrc~/.zshrc 文件:

    nano ~/.bashrc
    
  2. 添加以下内容:

    export http_proxy=http://127.0.0.1:7897
    export https_proxy=http://127.0.0.1:7897
    
  3. 保存并使配置生效:

    source ~/.bashrc
    

1.3 配置 Git 代理

Git 可以单独配置代理,以便在使用 git 命令时通过代理服务器。

配置代理
git config --global http.proxy http://127.0.0.1:7897
git config --global https.proxy http://127.0.0.1:7897
验证配置
cat ~/.gitconfig
修改配置

如需修改配置,可直接编辑 ~/.gitconfig 文件。

1.4 为虚拟环境配置代理

在使用 Python 虚拟环境(如 venv)时,可能需要为虚拟环境单独配置代理。

配置步骤
  1. 编辑虚拟环境的激活脚本(路径通常为 venv/bin/activate):

    nano path/to/your/venv/bin/activate
    
  2. 添加以下内容:

    export http_proxy=http://127.0.0.1:7897
    export https_proxy=http://127.0.0.1:7897
    
  3. 保存后重新激活虚拟环境:

    source path/to/your/venv/bin/activate
    

使用工具通过代理访问网络

2.1 使用 curl

curl 是一个常用的命令行工具,用于通过代理访问网络。

通过代理访问
curl -x http://127.0.0.1:7897 https://www.google.com

2.2 使用 wget

wget 也可以通过代理访问网络,通常依赖于环境变量。

配置代理

确保已在系统全局代理配置中设置了 http_proxyhttps_proxy

通过代理访问
wget https://www.google.com

代理配置故障排查

当开启代理模式后,若访问依然很慢或无法访问,可以按照以下步骤进行排查。

3.1 检查代理服务状态

确保代理服务正在运行并监听正确的端口。

检查端口监听状态
  1. 安装 net-tools(如果未安装):

    sudo apt install net-tools
    
  2. 检查端口 7897 是否在监听:

    sudo netstat -tulpn | grep 7897
    
正常输出示例
tcp    0    0 127.0.0.1:7897    0.0.0.0:*    LISTEN    进程号/verge-mihomo

3.2 检查系统代理设置

确保系统代理设置正确,包括代理模式、主机和端口。

检查代理模式
gsettings get org.gnome.system.proxy mode
检查代理主机和端口配置
gsettings get org.gnome.system.proxy.http host
gsettings get org.gnome.system.proxy.http port

3.3 检查防火墙设置

防火墙可能会阻止代理端口的通信。

检查防火墙状态
sudo ufw status
允许代理端口通过防火墙

如果防火墙处于活动状态,允许端口 7897

sudo ufw allow 7897

基础知识补充

4.1 Shell 和 Bash 简介

  • Shell:命令行解释器,用于执行用户输入的命令。
  • Bash:Linux 中常用的一种 Shell,提供丰富的脚本编写能力。

4.2 .bashrc 文件介绍

  • .bashrc 是 Bash 的启动脚本,用于配置环境变量、命令别名等。

  • 常见用法:

    export 变量名=# 设置环境变量
    alias ll='ls -la'  # 设置命令别名
    

测试代理配置

在完成代理配置后,建议通过以下命令测试连接是否正常。

使用 curl 测试

curl -v https://www.google.com -x http://127.0.0.1:7897

期望输出:成功返回 Google 的网页内容。如果连接失败,请重新检查上述配置步骤。


通过以上步骤,您应该能够在 Ubuntu 系统中成功配置并使用网络代理,同时能够有效地排查和解决常见的代理配置问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/64513.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

001__VMware软件和ubuntu系统安装(镜像)

[ 基本难度系数 ]:★☆☆☆☆ 一、Vmware软件和Ubuntu系统说明: a、Vmware软件的说明: 官网: 历史版本: 如何下载? b、Ubuntu系统的说明: 4、linux系统的其他版本:红旗(redhat)、dibian、cent…

fiscoBcos中webase平台导出java项目

导出合约为java项目并调用 1. 在webase管理平台上面进行项目的导出 2.将下载好的项目解压并用idea打开,目录结构如下 在resources目录下的abi放的是编译过后的合约方法,bin.ecc放的是以编译过后的智能合约,conf文件夹下面放的是链…

【嵌入式C语言】指针数组结构体

指针与数组 指针与数组指针数组数组指针 多维数组数组名的保存 结构体定义结构体定义结构体变量使用typedef简化结构体声明访问结构体成员结构体内存分配字节对齐位域定义位域位域的限制示例 指针与数组 指针数组和数组指针是两个不同的概念,它们涉及到指针和数组的…

Junit4单元测试快速上手

文章目录 POM依赖引入业务层测试代码Web层测试代码生成测试类文件 在工作中我用的最多的单元测试框架是Junit4。通常在写DAO、Service、Web层代码的时候都会进行单元测试&#xff0c;方便后续编码&#xff0c;前端甩锅。 POM依赖引入 <dependency><groupId>org.spr…

ubuntu 20.04 国内源安装docker

先更新软件包&#xff0c;安装备要apt软件 # 更新软件包索引 sudo apt-get update# 安装需要的软件包以使apt能够通过HTTPS使用仓库 sudo apt-get install ca-certificates curl gnupg lsb-release使用阿里云源 # 添加阿里云官方GPG密钥 curl -fsSL http://mirrors.aliyun.co…

【优选算法】查找总价格为目标值的两个商品(双指针)

算法_云边有个稻草人的博客-CSDN博客 目录 解法一&#xff1a;暴力算法 解法二&#xff1a;双指针(时间复杂度为O&#xff08;N&#xff09;) 【代码编写】 LCR 179. 查找总价格为目标值的两个商品 - 力扣&#xff08;LeetCode&#xff09; 解法一&#xff1a;暴力算法 用…

时空信息平台-API安全措施-下篇:登录鉴权【访问受限】您的请求已被该站点的安全策略拦截。

文章目录 引言I 登录鉴权处理逻辑校验顺序用户状态校验密码校验Token鉴权短信验证码/图形验证码登录设备限制II 服务端发生错误的处理业务返回码处理前端处理业务返回码nginx处理http状态码引言 时空信息平台-API安全措施:上篇(通讯协议的安全措施) https://blog.csdn.net/z…

UE(虚幻)学习(三) UnrealSharp插件中调用非托管DLL

上一篇文章中我使用UnrealSharp成功使用了我的一个C#控制台程序中的网络模块&#xff0c;这个程序是基于KCP网络了&#xff0c;其中调用了Cmake 编译的一个C的DLL&#xff0c;在虚幻中DLL需要放在Binaries目录中才可以。Unity中只要放在任意Plugins目录中就可以。 但是Binaries…

编译openssl遇到错误Parse errors: No plan found in TAP output的解决方法

在编译openssl时 tar -zxvf openssl-1.1.1p.tar.gz cd openssl-1.1.1p ./config --prefix/usr --openssldir/etc/ssl --shared zlib make make test 遇到错误 Parse errors: No plan found in TAP output 解决方法&#xff1a; yum install perl-Test-Simple

IO多路复用(select/epoll)

目录 一、概念 二、语法 1.select 1.1 select函数的语法 1.2 文件描述符集合操作 1.3 select函数的优缺点 2.epoll 2.1 epoll语法 2.2 epoll的工作模式 2.3 epoll的优缺点 三、select服务端代码 四、epoll服务端代码 五、客户端代码 一、概念 IO多路复用是一种同…

android stdudio环境: gradle一直安装失败

一、一直显示如下错误 The specified Gradle distribution file:/home/wangqingyuan/.gradle/wrapper/dists/gradle-8.6-bin/gradle-8.6-bin.zip does not exist. 经分析&#xff0c;是因为应用本身设置了gradle版本的地址为本地&#xff1a; 应用目录&#xff1a;gradle/gra…

解决PS 撤销卡顿

1. 关闭Windows Ink - 打开触控笔设置 - 禁用Windows Ink功能 2. 创建 PSUserConfig.txt&#xff08;注意Win10/11 可能隐藏文件扩展名&#xff09; - 位置&#xff1a;C:\Users\[用户名]\AppData\Roaming\Adobe\Adobe Photoshop CC 2019\Adobe Photoshop CC 2019 Se…

spring默认线程池SimpleAsyncTaskExecutor特点为什么要尽量避免使用

在 Spring Boot 中&#xff0c;默认的线程池配置由 TaskExecutionAutoConfiguration 类提供&#xff0c;使用的是 SimpleAsyncTaskExecutor。 SimpleAsyncTaskExecutor特点 每次调用创建新线程&#xff1a; SimpleAsyncTaskExecutor 每次执行任务时都会创建一个新线程&#xf…

软件测试 Linux 服务器监控命令的基本知识

Linux 服务器因其高效、稳定、开源等优势&#xff0c;广泛用于网络服务、数据库管理、应用开发等领域。而为了确保服务器的正常运行和性能&#xff0c;我们必须不断监控服务器的状态。这就需要我们熟悉一些基本的监控命令。 本文将详细介绍多种监控命令的使用方法及其应用。同…

Spring 的不同事务传播行为

目录 Spring 的不同事务传播行为 PROPAGATION_REQUIRES_NEW事务传播行为什么情况下会使用? 一、PROPAGATION_REQUIRES_NEW的含义 二、使用场景 三、注意事项 PROPAGATION_NESTED事务传播行为什么情况下会使用? 一、PROPAGATION_NESTED的含义 二、使用场景 三、嵌套事…

【Linux】进度条

本文中&#xff0c;我们来写一个进度条。 本文大纲&#xff1a; 写一个命令行版的进度条。 1.回车换行 2.缓冲区问题&#xff08;本文不深究&#xff09; ​ 2.1测试代码 3.写一个什么样的进度条&#xff1f; ​ version1 ​ version2 回车换行 这俩不是一个概念&…

SLAM/数字图象处理基础

概念 视差&#xff1a;相同特征的不同深度估计的偏差 BoW&#xff0c;DBoW&#xff0c;DBoW2的区别是什么 Bag of Words (BoW)、DBoW&#xff08;Dynamic Bag of Words&#xff09;和DBoW2是用于图像处理和计算机视觉中的不同特征表示和匹配方法。它们之间的主要区别如下&am…

UE5材质节点SimpleGrassWind

SimpleGrassWind节点可以模拟树叶扰动&#xff0c;或小草晃动效果 用来做风格化树、风格化草效果很好 主要节点 前三个节点分别用来控制&#xff0c;风强度&#xff0c;风重力&#xff0c;风速度&#xff0c;WPO是世界位置偏移

WeNet:面向生产的流式和非流式端到端语音识别工具包

这篇文章介绍了WeNet&#xff0c;一个面向生产的开源端到端&#xff08;E2E&#xff09;语音识别工具包。WeNet的主要特点和贡献如下&#xff1a; 统一流式和非流式识别&#xff1a;提出了一种名为U2的两阶段框架&#xff0c;能够在单一模型中同时支持流式和非流式语音识别&…

Ubuntu20.04安装Foxit Reader 福昕阅读器

Ubuntu20.04安装Foxit Reader 福昕阅读器 文章目录 Ubuntu20.04安装Foxit Reader 福昕阅读器 先更新一下源 sudo apt update sudo apt upgrade下载Foxit Reader的稳定版本 wget https://cdn01.foxitsoftware.com/pub/foxit/reader/desktop/linux/2.x/2.4/en_us/FoxitReader.e…