背景说明:我们公司要求员工的电脑必须使用内网。但是,使用内网必须安装一个安全软件,这个软件会限制电脑的很多功能。但是,我们都是自带电脑,让我们给自己的电脑上一把枷锁,这不是开玩笑嘛?于是,我掏出了万能的虚拟机,给虚拟机上了Win10系统,耍流氓对着虚拟机耍就行了。
但是,最近公司又作妖,要求我们办公的云桌面也必须使用内网链接,拒绝外网访问。之前还能用热点连接云桌面,我们办公全在云桌面上,外网访问可以远程办公。拒绝外网访问之后,就只能使用内网了。其实,用作办公无所谓,但是插上公司网线之后我虚拟机是能用网络了,但是同时问题也来了:
- 我主机没办法使用网络了。
- 内网的性质代表你在使用它的时候无论干啥都会被监控,甚至使用一些软件都会被检测,比如未授权的或者破解版Office、PS等。
当然,这是出于安全考虑,能理解。这些软件的公司对应企业用户使用盗版查的是很严的,个人用户都是睁只眼闭只眼。但是,我不喜欢这些束缚。所以,才有了这篇文章——如何让虚拟机和主机使用不通的网络。方法肯定不止我这一种,但我查了很多资料还是这个方法对我来说最简单易用。
设置网络优先级(主机端)
-
在搜索栏中输入
CMD
并选择以管理员身份运行,或按下 Win + R 键打开 运行 对话框,然后输入 CMD 并按下Ctrl+Shift+Enter键,或者输入cmd
后按下Ctrl+Shift+点击"确定"按钮。。 -
在命令提示符窗口中输入
netsh interface ipv4 show interface
,然后按下 Enter 键。这将显示一个列表,列出所有网络连接和相关的接口指标。记下无线网络和有线网络对应的ID。
Idx对应下面的networkId ,Met对应下面的value
紧接着按照以下命令格式来完成修改优先级的操作
netsh interface ipv4 set interface networkId metric = value
替换 networkId 和 value为实际值,metric的值越小优先级越高
例如,如果你的有线网络ID为2,无线网络ID为3,你希望无线网络具有更高的优先级,你可以设置有线网络的指标值大于无线网络。你可以设置为:
netsh interface ipv4 set interface 2 metric=100
netsh interface ipv4 set interface 3 metric=10
完成以上步骤后,主机就会优先使用无线网络,虚拟机网络设置为桥接模式时会自动使用物理网络,也就是网线,所以虚拟机会一直有网,过一会儿主机的网络图标就会变成wifi图标,说明修改成功。但是,这个操作可能会在重启时失效,为了使更改在重启后仍然有效,可以创建一个批处理文件(.bat)并将其添加到Windows启动文件夹,使之在计算机启动时自动运行。
防失效操作:
新建一个记事本文档,输入你需要执行的命令,比如我这个场景只需要提升wifi的优先级就行,我wifi的idx为23,以太网的优先级为25,我只需要把wifi的优先级设置到0~24即可
@echo off
netsh interface ipv4 set interface 23 metric=10
点击“文件”菜单,选择“保存另存为”,命名为 “xxx.bat”。更改“保存类型”为“所有文件”,或者编辑完成直接Crtl+S,关闭记事本,然后更改文件后缀.txt为.bat然后保存(更改后缀需要在资源管理器把文件扩展名显示打开,如图是win11的打开方式,windows其他版本的打开方式大同小异)
执行Windows快捷键 Win + R,输入 shell:startup 然后按 “Enter” 键。这将打开你的启动文件夹。
将你刚才保存的 “xxx.bat” 文件拷贝到这个启动文件夹。
设置完成后,每次电脑启动时,“xxx.bat” 文件都会自动运行,将所设置的网络优先级更改应用。