一份关于 Ubuntu 系统下代理配置的故障排查笔记
Ubuntu 网络代理配置与故障排查指南
在使用 Ubuntu 系统时,配置网络代理可以帮助提升网络访问速度或突破网络限制。然而,代理配置过程中可能会遇到各种问题。本文将详细介绍如何在 Ubuntu 下配置网络代理,并提供故障排查的步骤和解决方案。
目录
- 系统代理配置
- 1.1 设置系统代理
- 1.2 配置系统全局代理
- 1.3 配置 Git 代理
- 1.4 为虚拟环境配置代理
- 使用工具通过代理访问网络
- 2.1 使用 curl
- 2.2 使用 wget
- 代理配置故障排查
- 3.1 检查代理服务状态
- 3.2 检查系统代理设置
- 3.3 检查防火墙设置
- 基础知识补充
- 4.1 Shell 和 Bash 简介
- 4.2
.bashrc
文件介绍
- 测试代理配置
系统代理配置
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 配置系统全局代理
对于需要在所有终端和应用中使用代理的情况,可以设置系统全局代理。
配置步骤
-
编辑
~/.bashrc
或~/.zshrc
文件:nano ~/.bashrc
-
添加以下内容:
export http_proxy=http://127.0.0.1:7897 export https_proxy=http://127.0.0.1:7897
-
保存并使配置生效:
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
)时,可能需要为虚拟环境单独配置代理。
配置步骤
-
编辑虚拟环境的激活脚本(路径通常为
venv/bin/activate
):nano path/to/your/venv/bin/activate
-
添加以下内容:
export http_proxy=http://127.0.0.1:7897 export https_proxy=http://127.0.0.1:7897
-
保存后重新激活虚拟环境:
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_proxy
和 https_proxy
。
通过代理访问
wget https://www.google.com
代理配置故障排查
当开启代理模式后,若访问依然很慢或无法访问,可以按照以下步骤进行排查。
3.1 检查代理服务状态
确保代理服务正在运行并监听正确的端口。
检查端口监听状态
-
安装
net-tools
(如果未安装):sudo apt install net-tools
-
检查端口
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 系统中成功配置并使用网络代理,同时能够有效地排查和解决常见的代理配置问题。