前言
本系列博客以 VMware Workstation 16 pro 为例,分享在 Windows11 上启动 Ubuntu 20.04 LTS 虚拟机进行 Python3 项目开发的最佳实践。本章节内容涉及网络连接中较为关键的环节 —— 流量代理。
推荐阅读:
注意事项
- 本文首发于
2022-05
,如果你是若干年后到访的读者,请注意甄别文章中可能过时的内容,如有其他问题可在评论区提出; - 本文不面向零基础的小白读者,不会涉及软件下载安装等细枝末节的内容,不再赘述相关解决方案中涉及到的主流软件的使用细节。
虚拟机设置
在 VMware 「虚拟机设置」中修改「网络适配器(网络连接)」,选择「桥接模式」但不复制物理网络连接状态。这是接管虚拟机代理流量最简单的方式,后文会详细介绍一些基于桥接模式的主流的流量代理解决方案。
局域网代理方案
v2rayN
介绍使用 v2rayN 接管虚拟机全局流量的方法。操作前请确保虚拟机网络已被设为「桥接模式」。
注意:使用的演示版本为 v5.16
;在这个版本中,v2rayN 区分了本地代理以及局域网代理所用的监听的端口。
启动主机系统代理
在 v2rayN 中主机上开启「自动配置系统代理」,用你喜欢的方式确认系统代理的运行状态。
启动局域网代理
在 v2rayN 中依次点击「设置」「参数设置」在「Core:基础设置」中开启
允许来自局域网的连接
。查看无线局域网适配器 WLAN
在主机命令行窗口输入
ipconfig
,找到其中的无线局域网适配器 WLAN 的 IPv4 地址。如果你是有线连接上网,寻找「以太网适配器」的 IPv4 地址即可(可能会打印很多选项,找有默认网关的那一条)。
查看 v2rayN 的局域网代理端口
通常在软件视图的最下方的边框处可见,找到 HTTP 以及 SOCKS 的局域网代理端口。若你使用的是更早的版本,默认情况下的代理端口是
http:10809 socks:10808
,而在v5.16
或更高版本中,软件区分了系统代理和局域网代理,此时的局域网代理端口默认是http:10811 socks:10810
,如下图所示。
配置虚拟机网络代理
打开 Ubuntu 的网络设置,将「网络代理」切换为手动模式,将我们刚才搜集到的(http 以及 socks)路由参数填入即可。下图为参考的填写格式,这与你的网络情况一定不一样,仅供参考。
检查虚拟机网络连接
查看能否正常访问Youtube。此外,你还可以 显示查询自己的IP地址 (ip111.cn) 。
使用系统自带的 Firefox 浏览器访问 Youtube 的结果如下图所示:
Clash for Windows
介绍使用 Clash for Windows 接管虚拟机全局流量的方法,其他「类 Clash」产品均可举一反三。操作前请确保虚拟机网络已被设为「桥接模式」。
注意:以下使用的演示版本为 Clash for Windows v0.19.17
,Clash Core 2022.04.17 Premium(10538)
,所有设置均保持“出厂状态” 。
启动主机系统代理
在 Clash for Windows 中启动「System Proxy」,用你喜欢的方式确认系统代理的运行状态。
启动局域网代理
在 Clash for Windows 中启动「Allow LAN」,并将鼠标移动到「Allow LAN」的位置上,悬停,可以看到窗口弹出了一则提示信息,如下图所示。你需要记下这个
WLAN IPv4
以及Port
。
配置虚拟机网络代理
打开 Ubuntu 的网络设置,将「网络代理」切换为手动模式,将我们刚才搜集到的路由参数填入即可。下图为参考的填写格式,仅供参考。
检查虚拟机网络连接
查看能否正常访问一些热门站点。此外,你还可以 显示查询自己的IP地址 (ip111.cn) 。
使用 Firefox 访问 Google Scholar 检索关键词
Neurocompositional computing
的结果如下图所示:
错误排查
浏览器使用系统代理
如果上文所述的局域网代理方案无法达到预期,你可能需要进一步调整 Firefox 浏览器代理。
打开浏览器的「Settings」并依次访问「General」「Network Settings」。在弹出的「Connection Settings」中将代理选项切换至「use system proxy settings」也即使用系统代理,点击「OK」保存配置。新建标签页检查网络连接。
(当然,如果你是用的是其他浏览器产品,你不应该在 Firefox 里面配置浏览器代理……
虚拟机网络代理设置
若你在调整 Firefox 浏览器代理为「系统代理」后仍无法正常访问外网,很有可能是你的 IPv4 地址或局域网代理端口填写错误,也有可能是你的软件没有开启「允许局域网连接」的选项,控制变量逐一排查即可。
局域网动态 IPv4
如果你出现「昨天都可以上网今天怎么就不行了」的情况,请检查你的 WLAN IPv4
是否有变化。
通常情况下国内家用终端物联网设备的局域网 IPv4 地址
是动态分发的,如果你的物联网设备(如笔记本)从之前的 WIFI 热点(如卧室)中断出重连到其他的 WIFI 热点下(如星巴克),局域网 IPv4 地址
很可能发生变化。此时按照流程重新检查一下变更后的地址,手动修改虚拟机的网络代理既可。