背景
我在 Linux 上的 VirtualBox 中运行 Windows 2008 Server 客户虚拟机。客户虚拟机使用桥接网络(有线以太网),在我的网络上有一个静态 IP 地址。
过去 30 天内我没有对任何服务器配置进行任何更改,也没有安装任何更新。此配置在过去一年中运行良好,直到……
问题
一天前,一位用户发现客户虚拟机已停止接受来自任何其他计算机(包括主机)的网络连接。主机接口继续正常工作 - 我可以连接到主机并从主机进行传出连接。客户机可以正常进行传出连接,包括连接到互联网和向其他计算机发送数据包。例如,我可以从客户机访问网站。此外,我可以从客户机 ping 我的工作站(在 LAN 上),并在工作站上的 Wireshark 上看到 ping 数据包,但我的工作站对客户的响应从未到达那里。
我迄今为止尝试过
我尝试过 ping、通过 RDP 连接以及通过其他服务连接。我仍然可以通过 VirtualBox RDP 连接进行连接,这不需要客户操作系统上的网络功能,因此至少我可以在客户操作系统中工作,同时摆弄网络设置。
到目前为止,我已尝试重新启动客户操作系统、重新启动 VirtualBox,以及禁用然后重新启用桥接网络配置。没有运气……
我不确定如何解决桥接网络问题。如何查看数据包停止的位置?
注意事项
我的主机是无头的,所以我使用 phpVirtualBox 和命令行来管理客户操作系统。
更新 - Windows 防火墙问题,与 VirtualBox 无关!
我禁用了 Windows 2008 Server 客户机中的 Windows 防火墙,现在可以连接了。所以这不是 VirtualBox 桥接网络问题,而是 Windows 2008 Server 中自行更改的某些内容。Windows 更新显示自 2014-12-16 以来没有安装任何更新,从那时起我只登录检查备份。
答案1
Windows 防火墙使用的配置文件从“私有”更改为“公共”,防火墙规则全部为“域、私有”。因此,当使用“公共”规则时,不允许访问服务。
我不太清楚为什么会发生这种情况,但 WAN 路由器在一两周前就被更换了——Windows 可能需要一些时间(DHCP 租用时间?)来重新评估网络并确定它不再是同一个网络,因此它默认为公共网络。