不同虚拟化平台的虚拟机之间进行网络通信
需求分析:
实现 VirtualBox 与 VMware 两者虚拟机之间的互相交流
情况一:
VirtualBox 与 VMware 的虚拟机在同一个物理机上
情况二:
VirtualBox 与 VMware 的虚拟机在不同物理机, 但是物理机在同一个网络, 要求两者能互相访问
情况三:
VirtualBox 与 VMware 的虚拟机在不同物理机, 但是物理机在同一个网络, 要求单向联通
情景分析:
情况三:
用于模拟外部网络访问内部网络的情况
可以在内网渗透的时候模拟内部网络与外部网络单向联通的情况
解决方案:
情况一:
首先介绍一个不太合适的方法, 这个方法确实能够实现需要, 但是却有可能带来潜在的威胁和问题, 该方法为将 VirtualBox 的虚拟机与 VMware 的虚拟机同时桥接到物理机所在的网络 (DHCP / 手动配置IP, 本文之后的叙述中假设默认在网络中都存在 DHCP 服务器, 不需要受手动配置 IP, 但是要知道手动配置 IP 是可行的), 带来的潜在威胁就是物理机所在的网络中的其他主机也可以直接访问已桥接的虚拟机, 不能排除有恶意攻击者的情况
另一个方法是让一个虚拟机接入虚拟机软件的 Host-Only 网络, 另一个虚拟机桥接入这个 Host-Only 网络,
比如说, VirtualBox 虚拟机接入 VirtualBox 软件在物理机上虚拟化出来的 Host-Only 网络, 然后在 VMware 中配置虚拟机接入 VirtualBox 的 Host-Only 网卡中
这种情况由于不存在和外部网络交流的功能, 因此并不存在受到来自外部攻击的可能
网络拓扑如下:
image.png
情况二:
两个虚拟机直接桥接至物理机的网络即可, 两者即可通过物理机上层的路由器/(交换机?)进行交流
网络拓扑如下:
image.png
情况三:
假设 VirtualBox 虚拟机需要放置于内部网络(VirtualBox 虚拟机上运行着一个 Web 服务), 需要让这个 VirtualBox 虚拟机隐藏在内网, 通过端口转发将这个端口暴露出来, VMware 虚拟机作为攻击者去攻击内部网络, 但是 VirtualBox 虚拟机是可以访问外部网络的
因此可以 VMware 桥接到物理网络, 而 VirtualBox 使用 NAT 网络, 将虚拟机隐藏在内网, 并配置端口转发, 将 WEB 服务转发到物理机的某个端口
网络拓扑如下:
image.png
具体操作:
情况一:
- 将 VirtualBox 虚拟机的网络模式配置为 Host-Only
- 将 VMware 虚拟机的网络模式配置为桥接, 桥接到 VirtualBox 虚拟机软件虚拟出来的 Host-Only 网卡
VMware 默认桥接模式是自动桥接模式, 因此需要新添加一个虚拟机的网络并指定桥接的网卡
菜单栏->编辑->虚拟网络编辑器
将其桥接到 VirtualBox Host-Only
然后将需要桥接的虚拟机的网络模式设置为桥接
image.png
由于 VirtualBox 的 Host-Only 会通过 DHCP 自动分配 IP , 因此配置好之后就可以互相 ping 通了
image.png情况二:
配置 VirtualBox 虚拟机桥接到笔记本的无线网卡
image.png配置 VMware 虚拟机桥接到笔记本的无线网卡
image.png image.png情况三:
- 配置 VirtualBox 虚拟机的网络模式为 NAT (注意 VirtualBox 有 NAT 和 NAT network 这两种网络模式, 存在区别, 参考: VirtualBox 网络配置官方文档), 并配置端口转发规则, 将 WEB 服务转发到物理机的 80 端口
- 配置 VMware 虚拟机的网络模式为桥接
-
测试效果
image.png
参考文章:
http://www.sysprobs.com/setup-network-virtualbox-vmware-virtual-machines
https://www.virtualbox.org/manual/ch06.html