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
...
相关推荐
A小辣椒2 天前
TShark:Wireshark CLI 功能
linux
A小辣椒2 天前
TShark:基础知识
linux
AlfredZhao2 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao2 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334663 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪3 天前
linux 拷贝文件或目录到指定的位置
linux
摇滚侠3 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush43 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5203 天前
Linux 11 动态监控指令top
linux
不会C语言的男孩4 天前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言