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地址(主系统VMnet8IP地址),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:7890IP地址为主系统的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
...
相关推荐
Kurisu5751 分钟前
深度拆解:从 Linux 内核 Namespace 与 Cgroups 洞察容器技术的底层本质
java·linux·运维
liulilittle7 分钟前
Linux SS快速诊断命令
linux·运维·智能路由器
晚风吹红霞25 分钟前
Linux下的趣味编程 —— 进度条、Git版本控制与GDB调试实战
linux·运维·git
nan madol27 分钟前
Rocky Linux 9.5 部署 Percona XtraDB Cluster (PXC) 集群
linux·运维·服务器
zincsweet27 分钟前
Linux 命名管道(FIFO)详解:原理分析、源码封装与通信流程图解
linux·服务器·c++·流程图
linux修理工30 分钟前
使用 virt-install 命令行快速创建 KVM 虚拟机(以 CentOS 7 为例)
linux·运维·centos
|_⊙32 分钟前
进程间通信(System V 标准下的多种通信方式)
linux·运维·服务器
zincsweet1 小时前
C++ 实现进程池:主从架构、管道通信与任务调度
linux·c++
草莓熊Lotso1 小时前
【CMake】静态库的编译、链接与引用全解析
linux·c语言·数据库·c++·软件工程·cmake
郝学胜-神的一滴1 小时前
CMake 012:Linux 下动态库与可执行程序的单文件构建
linux·服务器·开发语言·c++·软件构建·cmake