当前位置: 首页 > news >正文

一份关于 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.mrgr.cn/news/82052.html

相关文章:

  • 前端⾯试⼋股⽂
  • 生成埃里克卡特曼人工智能语音听起来像他或配音视频
  • 手持PDA终端,提升零售门店管理效率
  • 解密人工智能:如何改变我们的工作与生活
  • 复合机器人正以其高效、精准、灵活的特点,逐渐在汽车装配线上崭露头角
  • 【Elasticsearch入门到落地】5、安装IK分词器
  • Linux高并发服务器开发 第七天(静态库 动态库)
  • LVS 负载均衡原理 | 配置示例
  • Linux高级--3.2.4.2 常见的几种timer的设计方案
  • Java基本操作笔记
  • 协程原理 函数栈 有栈协程
  • 有限元分析学习——Anasys Workbanch第一阶段笔记(2)应力奇异及位移结果对比、初步了解单元的基本知识
  • 大数据组件(一)快速入门调度组件Airflow
  • 人形机器人全身运动规划相关资料与文章
  • PaddleOCROCR关键信息抽取训练过程
  • 蓝桥杯(Java)(ing)
  • 【网络安全实验室】基础关实战详情
  • 沪深捉妖记(一)探寻妖股的特征
  • 数据结构与算法之动态规划: LeetCode 3105. 最长的严格递增或递减子数组 (Ts版)
  • Nginx - 整合lua 实现对POST请求的参数拦截校验(不使用Openresty)
  • L25.【LeetCode笔记】 三步问题的四种解法(含矩阵精彩解法!)
  • SAP SD信贷管理信用管理手册(下)
  • 通义千问QvQ-72B-Preview模型部署
  • FOC控制原理-ADC采样时机
  • HarmonyOS NEXT应用开发实战:免费练手的网络API接口分享
  • 数据结构与算法之动态规划: LeetCode 1143. 最长公共子序列 (Ts版)