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
...
相关推荐
刘马想放假2 小时前
CANviz 使用指南|Linux 安装、DBC 解码、实时曲线与 J1939 实战
linux·python·websocket
kloc4 小时前
聊天室项目入口网关子服务的实现
linux·c++
GeW4 小时前
深圳APEC峰会倒计时:数据库与Linux运维的"隐形考场"
linux
梦到啥说啥5 小时前
Linux网络编程:UDP网络协议
linux·网络协议·udp
无足鸟ICT6 小时前
【RHCA+】ipcrm命令(删除IPC资源)
linux
星恒随风7 小时前
MySQL 从零入门(四):表的增删改查与基础查询详解
linux·服务器·数据库·笔记·mysql
陈希12310 小时前
Linux 网络诊断工具实战:ping、curl、tcpdump、mtr、dig 用法详解
linux·网络·tcpdump
进击的荆棘10 小时前
Linux系统——线程同步与互斥之线程池和安全
linux·运维·服务器·安全·单例模式·线程
刘大望10 小时前
不用买开发板:用 QEMU 走通嵌入式 Linux 全流程(三)存储与网络实地验证
linux·qemu·嵌入式linux·alpine
那明眸似水11 小时前
云原生项目三:Docker秒级启动NextCloud个人网盘存储办公系统
linux·运维·docker·云原生·容器