当前位置: 首页 > 知识库问答 >
问题:

linux - 如何实现虚拟机共享内部私有网络给宿主机?

范京
2024-07-15

我在Linux操作系统环境下办公,但平常使用一些VPN客户端访问私有网络,这些客户端都被企业内部改造过,没有Linux版本,基本只支持Windows,所以我有个想法,在Linux中安装vmwareWorkstation,在vmwareWorkstation中安装一台Windows 11,在Windows 11中安装各个VPN客户端软件,然后让Windows 11将VPN的私有网络共享给宿主机使用。目前进展如下:

  1. Windows 通过NAT或桥接网络上网
  2. 为Windows另外添加hostOnly的虚拟网卡
  3. 将VPN所在网络共享给hostonly网卡
  4. 宿主机添加路由转发策略,将需要经过VPN的IP和域名转发到hostonly网卡地址上

以上方案经过尝试后,不可行!!!,存在以下问题:

  1. 部分VPN安装后,并不会在网络适配器中创建虚拟网卡,所以以上第三步无法完成
  2. 部分VPN,有DNS解析,将域名解析为IP时是动态,共享后,DNS解析功能丢失,使用域名无法访问
  3. 以上操作太过繁琐,虽然可以通过脚本和自动化工具完成,但切换不变,最好各个VPN网络能同时使用(VPN客户端本身不冲突时)

目前的结构如图

由于以上方案不可行,目前准备参考clash和跳板机的方式,将Windows改为代理服务器,使用clash在宿主机添加代理实现。但缺少相关知识和能力,暂无进展。

期望结果,宿主机借用虚拟机,能访问各个VPN所在网络。

共有1个答案

萧煜
2024-07-15

在Linux环境下,实现虚拟机(Windows 11)将VPN连接的私有网络共享给宿主机(Linux)通常涉及几个步骤。由于VPN客户端的限制和复杂性,直接共享VPN连接可能不可行或复杂。不过,你可以考虑使用代理服务器或VPN路由的方法来间接实现这一功能。

以下是一个基于你当前情况和需求的建议方案:

方案一:使用代理服务器

  1. 在Windows 11中设置VPN连接:首先,确保在Windows 11中正确设置了VPN连接,并且它可以正常连接到私有网络。
  2. 配置Windows 11作为代理服务器:你可以使用Windows的内置功能(如Internet Connection Sharing, ICS)或第三方软件(如CCProxy、Squid等)将Windows 11配置为代理服务器。这将允许你通过Windows 11转发网络请求。
  3. 在Linux宿主机上配置代理:在Linux宿主机上,配置你的应用程序或系统级别的代理设置,以将所有或特定网络请求通过Windows 11代理服务器转发。你可以使用export http_proxy=...export https_proxy=...命令在shell中设置环境变量,或者在应用程序的配置文件中设置代理。

方案二:使用VPN路由

如果你的VPN客户端支持路由功能(这取决于VPN服务提供商和客户端软件),你可以尝试配置VPN路由来直接路由特定网络流量到VPN连接。

  1. 在Windows 11中设置VPN路由:查看VPN客户端的设置或文档,了解是否支持路由功能。如果支持,配置路由规则以将特定IP地址或子网范围的流量路由到VPN连接。
  2. 配置Linux宿主机路由:在Linux宿主机上,你可以使用ip命令或route命令来添加静态路由,将需要通过VPN的流量路由到Windows 11的VPN接口。这可能需要一些网络知识和对VPN配置的了解。

注意事项

  • 安全性:当使用代理服务器或VPN路由时,请确保你了解并信任你的VPN服务提供商和中间代理(如Windows 11)。这些解决方案可能会增加你的网络流量暴露给潜在攻击者的风险。
  • 性能:通过代理或路由转发网络请求可能会增加延迟和降低性能。确保你的网络连接和硬件足够强大以处理额外的流量。
  • 兼容性:不同的VPN客户端和服务提供商可能有不同的配置选项和限制。确保你的VPN客户端支持所需的功能,并仔细查看其文档和设置选项。

由于你提到VPN客户端的限制和你当前尝试的解决方案不可行,我建议你先查看你的VPN客户端的文档和支持选项,以确定是否支持上述建议的方法。如果可能的话,考虑与你的VPN服务提供商联系以获取更多帮助和建议。

 类似资料:
  • nginx安装好之后一般会在/etc/nginx/目录下有nginx.conf文件和conf.d目录,这其实已经帮我们预留了虚拟主机要准备的内容。 看下nginx.conf文件,里面有这样一行: include /etc/nginx/conf.d/*.conf; 那么也就是说ngixn启动都会自动加载conf.d目录下以.conf结尾的所有配置文件 ok,我们直接干掉nginx.conf里面se

  • 本文向大家介绍VMware如何创建Linux虚拟机并设置虚拟机网络的详细教程,包括了VMware如何创建Linux虚拟机并设置虚拟机网络的详细教程的使用技巧和注意事项,需要的朋友参考一下 如何在Vmware中创建Linux虚拟机并设置Vmware和虚拟机网络 创建Linux虚拟机 创建虚拟机 配置类型选择自定义 虚拟机硬件兼容性,选择当前Vmware版本即可 选择要使用的Linux ISO镜像文件

  • 学会配置虚拟机的几种不同类型的网络:端口转发,私有网络,公有网络。 虚拟机网络 配置虚拟机的网络,主要就是要把在虚拟机上安装的服务公开,比如我们在虚拟机上安装了一个 Web 服务器,你想在虚拟机之外访问安装在这个虚拟机上的 Web 访问器,就需要配置一下虚拟机的某种类型的网络,可以是端口转发,私有网络或公有网络。 启动虚拟机以后,你的虚拟机就可以使用 nat 这种上网方式,也就是如果你的电脑能上网

  • OpenCL 2.0的一个重要的修订就是支持共享虚拟内存(SVM)。共享虚拟内存属于全局内存,其相当于在主机内存区域上做的扩展,其允许上下文对象上的所有设备能和主机共享这块内存。SVM能将结构体指针作为参数传入内核,这相较之前的标准方便许多。例如,在未使用SVM之前,在主机端创建的链表结构无法传递到内核中,只能一个节点一个节点的传入。那么,2.0之后如何将链表实例通过传参的形式传入内核呢?将内存块

  • Linux提供了许多虚拟设备,这些虚拟设备有助于构建复杂的网络拓扑,满足各种网络需求。 网桥(bridge) 网桥是一个二层设备,工作在链路层,主要是根据MAC学习来转发数据到不同的port。 # 创建网桥 brctl addbr br0 # 添加设备到网桥 brctl addif br0 eth1 # 查询网桥mac表 brctl showmacs br0 veth veth pair是一对虚拟

  • 本文向大家介绍如何给Linux虚拟机连上WiFi详解,包括了如何给Linux虚拟机连上WiFi详解的使用技巧和注意事项,需要的朋友参考一下 在生活中,网络无处不在,我们可以通过网络玩游戏、看电视剧和刷微博等,我们的手机和电脑没有了网络可能就变成了一个什么都不能干的物品。由于Linux系统的高安全性,系统中的网络装置,需要进行配置,才能与外界网络互连,那么我们该怎样让我们的电脑连上WiFi呢?让我们

  • 两个虚拟主机(纯静态-html 支持) - Two Virtual Hosts, Serving Static Files http { : server { : listen 80; : server_name www.domain1.com; : access_log logs/domain1.access.log main; : location / {

  • 问题内容: 我在vps中分别在两个docker容器中运行两个网站。例如www.myblog.com和www.mybusiness.com 如何在vps中实现virtualhost,以便两个网站都可以使用端口80。 我在其他地方问了这个问题,建议您看看:https : //github.com/hipache/hipache和https://www.tutum.co/ 他们看起来有些弯曲。我试图找到