VirtualBox客户端操作系统(使用NAT)能够访问主机的局域网 – 为什么?

我的网络有点简单:我局域网中的所有PC(Ubuntu桌面,Win7桌面,XP上网本)都连接到一个dlink家用路由器,该路由器连接到ISP的有线调制解调器。 LAN具有IP子网10.10.10.0/24,网关(dlink路由器)为10.10.10.1,PC为10.10.10.100-120,通过DHCP。 PC之间共享文件夹(基本的右键单击 – >共享,这是samba,对吧?)。 到现在为止还挺好。

现在Ubuntu桌面有VirtualBox。 我计划安装沙盒虚拟机来测试恶意软件(并监控它们“回家”的方式)。 所以我安装了一个Ubuntu VM,网络设置为NAT模式(默认模式,我想是子网10.0.2.0/24)。

所以我在虚拟机中打开Nautilus,转到“网络”,令我惊讶 …… 虚拟机能够看到主机局域网中的所有共享文件夹!

怎么样? “共享文件夹”不仅仅适用于局域网吗? 为什么生活在另一个子网中的VM可以访问Win7机器中的共享文件夹? 他们不在同一个局域网中! (这将是Virtualbox的“桥接”模式,对吗?)。 不,我不是指VirtualBox的“共享文件夹”function(将主机驱动器作为网络共享映射到访客),我没有使用它。

所以,我显然缺乏一些关于共享文件夹和NAT如何工作的基本知识。我认为NAT会将VM与我的局域网隔离,同时仍能够浏览互联网。 我很惊讶它能够看到我的局域网的工作组甚至在不同的子网中。

所以,问题是:这怎么可能? VirtualBox,共享文件夹和NAT之间的这种关系如何工作? 如何设置VM,使其无法看到客人的局域网,但仍能浏览互联网?

第6章虚拟网络 :

对于主机上的应用程序或与主机位于同一网络上的另一台计算机,看起来数据是由主机上的VirtualBox应用程序使用属于主机的IP地址发送的。 VirtualBox侦听对发送的包的回复,并重新打包并将其重新发送到其专用网络上的来宾计算机。

VirtualBox中的网络 (Oracle博客):

每个虚拟机都认为它们位于自己的隔离网络上。 当他们通过网关(10.0.2.2)发送流量时,VirtualBox会重写数据包,使其看起来好像来自主机,而不是来自(在主机内部运行)。

与物理主机类似,NAT阻止远程连接,但允许传出连接。 我不认为有一种网络模式可以将您的局域网与其他互联网区分开来。

只是在黑暗中拍摄,你确实说ubuntu客人是10.0.2.0/24。 24会把它们放在同一个子网上吗? 255.255.255.0