宿主机与虚拟器之间的代理

宿主机与虚拟器之间的代理

背景

由于公司vpn使用时,需要强制安装360杀毒,我不想装在宿主机中,所以研究了一下虚拟机中使用vpn连接公司网络,宿主机使用虚拟机中的代理,进而宿主机中也可以使用公司网络。

准备工具

  1. EasyConnect VPN连接工具(非必须,我们公司使用的是这个)
  2. Vmware虚拟机(必须,其他虚拟机也可)
  3. Proxifier代理工具(非必须)
  4. ccproxy 正向代理工具(必须,其他正代工具也可)

思路说明

主要思路是(按照宿主机使用虚拟机中的代理为例 ):虚拟机中连接vpn –> 虚拟机中开启正向代理,把虚拟机弄成代理服务器 –> 宿主机使用Proxifier或者系统自带代理功能,连接虚拟机的代理服务器即可。

虚拟机网络设置

  • 虚拟机网络模式 你可以选择NAT模式 或者桥接模式 ,但是这两种还是有区别的
  • NAT模式:按道理来说,通过NAT模式搭建网络的虚拟机,宿主机和虚拟机不在同一网段,只能虚拟机ping通宿主机,而宿主机无法ping通虚拟机的,所有理论上来讲需要通过虚拟机的端口映射 功能才能正常使用的。但是 ,通过实测发现,是直接可以互相ping通的可以直接使用,但是为什么能ping通我也没想清楚,毕竟他们不在同一网段

image-20241110223128023

如果你没ping通 ,那么就是你的防火墙没关,那要是如果你不想关闭防火墙,还想可以通信的话就需要:控制面板 --> 系统和安全 -->Windows Defender防火墙 --> 允许应用通过Windows Defender防火墙进行通信 -->勾选上 文件和打印机共享

image-20241110223700123

  • 桥接模式,这个模式,是相当于吧虚拟机的等级提升到跟你宿主机一个级别,让宿主机和虚拟机在同一个网络下,也就是在同一内网中,既然在同一内网那肯定是可以互相通信的。

image-20241110222422288

宿主机使用虚拟机中代理

现在假设我已经在虚拟机中连接上了公司的vpn,那么接下来要用ccproxy 正代工具,值得注意的是ccproxy 只适用于Windows,如果想用linux的话建议使用apache的httpd,或者可以使用其他的。

  1. 打开ccproxy后先进行设置

image-20241110221112825

  1. 如果你的自动检测 是勾选的,并且后面的ip不是你虚拟机的ip,你需要取消勾选 ,然后选择好你的ip,勾选上后面的选择框锁定。其中协议的话如果没有其他需要的话,建议和我选的一样即可,有其他需要自己再做选择。

  1. 这样就可以在宿主机中使用虚拟机中的vpn了。先配置好代理服务器为你的虚拟机服务器

image-20241110224844837

如果你没看到http的选项,可以在如下位置找到

image-20241110225316085

  1. 接下来要配置代理规则

image-20241110225724436

image-20241110225922652

这样的话你应该就可以直接在宿主机中访问公司的环境了。

但是如果你们公司的环境中有用域名的地址,并且域名没有在公网进行解析的话,宿主机中是无法访问的,你需要手动配置你电脑的dns也就是hosts文件,该文件路径为:C:\Windows\System32\drivers\etc\hosts

前面ip后面域名即可。如果你不知道域名对应的ip,直接在你的虚拟机中 ping 对应域名就能看到了

image-20241110230331058

虚拟机使用宿主机中代理

虚拟使用宿主机中代理的情况多数是 虚拟机想用宿主机中的梯子进行外网访问而与。这种的话就比较简单,因为梯子的连接软件,本身内置了局域网连接功能,如下。

image-20241110230640369

只需要打开这个功能,然后在虚拟机的网络中设置代理,即可。

image-20241110230849402

这样虚拟机中就可以直接使用,宿主机梯子的网络了

image-20241110230924511

当然 宿主机使用虚拟机代理的时候也可以用这种方式 ,但是这种方式只能支持http的协议,也就是ccproxy中开放的808端口了,并且这种代理只能全局代理也就是 所有的软件都要经过代理不能指定软件。

当然也可以用 Proxifier软件。这个代理协议是http的。自行设置即可。

软件及VPN分享

其他的就自行网络上找吧。