VMware中Debian12代理设置

编写脚本,快速开启与关闭代理。

前置条件

指定网卡

  • 若在虚拟机Debian12中通过代理上网,则在需要代理服务器(或科学上网软件)的Setting-Outbound-Interface Name中,选择需要使用的网卡,通常VMware Workstation Pro中为VMnet8。
  • 若在主系统中(运行科学上网软件的系统)通过代理上网,则直接指定主系统的实际物理网卡(例如WiFi)即可。

Debian系统设置

  • 可以使用curl ipinfo.io查看当前互联网出口IP详情:
bash 复制代码
rz@debase:~$ curl ipinfo.io
{
  "ip": "117.63.39.243",
  "city": "Shanghai",
  "region": "Shanghai",
  "country": "CN",
  "loc": "31.2222,121.4581",
  "org": "AS4134 CHINANET-BACKBONE",
  "postal": "200000",
  "timezone": "Asia/Shanghai",
  "readme": "https://ipinfo.io/missingauth"
}rz@debase:~$

当前互联网出口为上海

  • 查看主系统的IP地址(主系统VMnet8的IP地址),Windows 11中可以使用ipconfig命令行命令显示IP地址:
bash 复制代码
以太网适配器 VMware Network Adapter VMnet8:

   连接特定的 DNS 后缀 . . . . . . . :
   ...
   IPv4 地址 . . . . . . . . . . . . : 192.168.152.1
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   默认网关. . . . . . . . . . . . . :
  • 临时性配置代理:
bash 复制代码
rz@debase:~$ export ALL_PROXY=socks5://192.168.152.1:7890
rz@debase:~$ curl ipinfo.io
{
  "ip": "103.172.41.199",
  "city": "Hong Kong",
  "region": "Hong Kong",
  "country": "HK",
  "loc": "22.2783,114.1747",
  "org": "AS38136 Akari Networks",
  "postal": "999077",
  "timezone": "Asia/Hong_Kong",
  "readme": "https://ipinfo.io/missingauth"
}rz@debase:~$
  1. 其中socks5://192.168.152.1:7890的IP地址为主系统的IP地址;7890为科学上网软件配置的Port,或直接使用代理服务。
  2. 需要开启科学上网软件的Global代理,同时开启科学上网软件的Allow LAN。
  • 取消临时代理可以使用,unset命令:
bash 复制代码
rz@debase:~$unset ALL_PROXYY
rz@debase:~$ curl ipinfo.io
{
  "ip": "117.63.39.243",
  "city": "Shanghai",
  "region": "Shanghai",
  "country": "CN",
  "loc": "31.2222,121.4581",
  "org": "AS4134 CHINANET-BACKBONE",
  "postal": "200000",
  "timezone": "Asia/Shanghai",
  "readme": "https://ipinfo.io/missingauth"
}rz@debase:~$
  • 编写脚本快速设置代理服务。在家目录中创建proxy文件夹,其中创建文件proxyon,其文件内容如下:
sh 复制代码
IP=192.168.152.1
export HTTP_PROXY="http://$IP:7890"
export HTTPS_PROXY="http://$IP:7890"
export NO_PROXY="localhost,127.0.0.1,192.168.152.0/24"

注意,不要写socket5,例如如下形式,对于nerdctl等工具是不支持的。

bash 复制代码
IP=192.168.152.1
export ALL_PROXY="socks5://$IP:7890"
  • 在proxy文件夹中创建文件proxyoff,其文件内容如下:
bash 复制代码
unset HTTP_PROXY
unset HTTPS_PROXY
unset NO_PROXY
  • 在主系统科学上网软件开启的状态下,使用下列命令可以快捷开启与关闭代理:
bash 复制代码
rz@debase:~/proxy$ ll
total 8
-rw-r--r-- 1 rz rz  50 Dec 26 13:03 proxyoff
-rw-r--r-- 1 rz rz 145 Dec 26 13:03 proxyon
rz@debase:~/proxy$ . proxyon
rz@debase:~/proxy$ curl https://ipinfo.io
{
  "ip": "103.172.41.199",
  "city": "Hong Kong",
  "region": "Hong Kong",
  "country": "HK",
  "loc": "22.2783,114.1747",
  "org": "AS38136 Akari Networks",
  "postal": "999077",
  "timezone": "Asia/Hong_Kong",
  "readme": "https://ipinfo.io/missingauth"
}rz@debase:~/proxy$ . proxyoff
rz@debase:~/proxy$ curl https://ipinfo.io
{
  "ip": "117.63.39.243",
  "city": "Shanghai",
  "region": "Shanghai",
  "country": "CN",
  "loc": "31.2222,121.4581",
  "org": "AS4134 CHINANET-BACKBONE",
  "postal": "200000",
  "timezone": "Asia/Shanghai",
  "readme": "https://ipinfo.io/missingauth"
}rz@debase:~/proxy$

强调,需要使用curl https://ipinfo.io验证,不要直接使用curl ipinfo.io,在一些场景下(例如nerdctl代理配置中)易于误导结果。

  • 可以使用export -p 打印当前会话Shell中所有环境变量:
bash 复制代码
rz@debase:~/proxy$ cd
rz@debase:~$ export -p
declare -x DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1000/bus"
declare -x DISPLAY="localhost:10.0"
declare -x HISTTIMEFORMAT="%F %T "
declare -x HOME="/home/rz"
declare -x LANG="en_US.UTF-8"
declare -x LOGNAME="rz"
...
  • env命令可以同样输出:
sh 复制代码
rz@debase:~$ env
SHELL=/bin/bash
HISTTIMEFORMAT=%F %T
PWD=/home/rz
LOGNAME=rz
XDG_SESSION_TYPE=tty
MOTD_SHOWN=pam
HOME=/home/rz
...
相关推荐
张张123y1 小时前
2026 Agent 框架怎么选?拆 3 层底层逻辑(运行循环 / 记忆 / 工具协议)+ 一张决策表
linux·ubuntu·microsoft·langgraph·mcp·crewai·agent 框架
零域行者1 小时前
Linux入门基础命令
linux·服务器·安全·web安全
打工仔折腾 AI1 小时前
Linux 网络编程:从零掌握 TCP Socket 编程与 C++ 实战落地
linux·网络·人工智能·后端·python·tcp/ip·性能优化
硅基手札1 小时前
SPI技术系列 13 · SPI 调试与排查
linux·运维·stm32·单片机·嵌入式硬件·bug
小兔子1 小时前
Linux 的 write 返回成功,数据到底落在哪了
linux
我命由我123451 小时前
Python 开发 - Python 项目部署(Windows 与 Linux)
java·linux·windows·后端·python·java-ee·python3.11
erzong2311 小时前
Linux操作系统:基于环形队列&信号量实现多生产者多消费者的简易模型
linux·运维·服务器
小羊没烦恼!1 小时前
TypedSql:在 C# 类型系统上实现一个 SQL 查询引擎
java·linux·运维·服务器·开发语言·数据库·mysql
星恒随风2 小时前
Linux线程同步与互斥(二):从日志系统与线程池设计,到线程安全单例、可重入函数和死锁原理
linux·运维·状态模式
mengge.cloud2 小时前
1022小白入门教程(番外筑基)— nerdctl 容器基本功 + K8s 资源编写
linux·网络·云原生·容器·kubernetes·云计算·k8s