虚拟机|如何让VMware虚拟机使用Clash代理访问外网
软件:VMware Workstation Pro 17
主机部分
获取本机 IP
cmd
-> ipconfig
例如,本机 IP 为:192.168.31.195
一定要找对主机连接的网络,在ipconfig
的输出中,往往有多个网络信息,我们需要的,是主机和外部网络的连接。换句话说,就是你电脑连的WiFi,或者插着网线的网络。
打开虚拟网络编辑器
编辑
->虚拟网络编辑器
,选择VMNet8
。
修改子网 IP
前两项与主机 IP 一致,但第三项必须不同,如 192.168.21.0
。
注意,这里没有把31打错成21!!!
注意,这里没有把31打错成21!!!
注意,这里没有把31打错成21!!!
一般第四项为0,第三项可以看心情修改。
注:这里有一个小技巧。当设置完子网IP后,点击窗口右下角的
应用
,其余的配置都由VMware自动配置完成,不需要再手动设置了。换句话说,本节“主机部分”剩下的内容不必再看,直接进入VMware部分即可。
子网掩码
一般为 255.255.255.0
,不论真实连接的网络的子网掩码是多少。默认不用动。
NAT 设置
将VMnet信息改为 NAT 模式。
网关 IP 前三项与子网 IP 相同,第四项一般为2,如
192.168.21.2
。
DHCP 设置
起始 IP 地址与结束 IP 地址的前三项和主机 IP 相同,第四项默认的不需要改,如分别为192.168.21.128
,192.168.21.254
。
网络适配器设置
打开控制面板:cmd
->control
->网络和Internet->网络和共享中心->更改适配器选项
VMNet8的IPv4 的地址设置为 192.168.21.1
,前三项与子网 IP 相同,第四项一般是1。
子网掩码仍为255.255.255.0
。
VMware部分
在 虚拟机
->设置
中,将硬件网卡(网络适配器)设置为 VMnet8 网络适配器。
虚拟机部分
随后,启动虚拟机。
Linux
系统:Ubuntu22.04.4 LTS,有图形界面
Clash 的端口默认为7890
,打开虚拟机的代理设置(Settings
->Network
->Network Proxy
),IP 为本机 IP,即最开头提到的192.168.31.195
,端口为 Clash 的端口,即7890
。
Windows XP
如果喜欢倒腾老系统,应该如何设置代理呢?
XP的代理设置的一个办法是:打开IE,在IE的设置中可以找到代理设置。
另一个方法和Win7类似,也是在控制面板中找到类似的设置即可。懒得补图了,差别就在于选项卡的名字不太一样,但总归是网络那部分的选项。进到LAN Settings
之后,一切都一样了。
Windows 7
Win7是我很喜欢的一个系统,怎么设置Win7的代理呢?
打开控制面板
->网络和共享中心
,剩下的按图操作即可:
没注意过XP是否可以如此操作。如果可以的话,这就是个通法了。
其他问题
- 在家和学校不同网络下,本机 IP 会变化,这时候,需要修改 IP 到现在的 IP。
- 有时候,会出现修改 IP 后,即使设置正确,虚拟机仍无法联网的问题。笔者遇到了这种情况,不知道什么原因。我成功 Debug 的一个方案,就是恢复虚拟机网络的默认设置,删除 VMnet8,再重新设置。注意此时保证虚拟机是关闭的。
- 如果在进行操作后,发现Clash无法代理,具体表现为,在主机浏览器中输入任何地址,都会显示无法访问。此时很可能是Clash的端口被占用,发生冲突。可以在命令行窗口(
win+R
->cmd
)输入netstats -ano
查看7890端口被哪个PID占用。之后在任务管理器中的详细信息部分可以查到占用此端口的程序,大概率是vmware。这个时候,把Vmnet8中NAT设置中的端口清空即可。 - 如果发现,可以正常访问网页,但是无法登录,具体表现为,打开任何一个网站(百度、B站、学校的统一身份认证),输入账号和密码,提示找不到用户或者重定向后仍然是未登录状态。问题可能在于,使用了浏览器的
ModHeader
扩展修改了请求头。禁用该扩展后,可以正常登录。 - 如果操作后,发现仍然无法上网。可以检查一下,是否在“修改子网IP”的步骤中把第三位设置为了和主机不同的IP。