我有一个应用程序发送UDP广播到某些端口,例如11000(BROADCAST_APP)和另一个应用程序,侦听11000 UDP端口(LISTENER_APP)。 当我在物理接口上启动侦听器时,这些应用在物理LAN(192.168.1.0/24)上运行良好
UDP 192.168.1.16:11000 *:*
并从机器192.168.1.11发送广播。
但我想在虚拟networking中testing它们,所以我在客户机WinXp中运行BROADCAST_APP,在虚拟接口上运行主机Win7机器中的LISTENER_APP:
UDP 192.168.56.1:11000 *:*
我的主机具有地址为192.168.56.1的虚拟适配器和来宾机器192.168.56.2。 我可以从主机ping客人,反之亦然。
但是,我从客人的广播没有到达LISTENER_APP。 我在Oracle VirtualBox中运行虚拟机。
从注释中,Windows防火墙做了它,因为它被设置为阻止来自公共networking的连接,这是/作为进行UDP广播的虚拟适配器的位置。 closures防火墙解决了这个问题。
顺便说一句,如果你还没有这样做,更安全的方法是制定VM间通信的规则和/或指定虚拟适配器在Windows防火墙内的更“可信”networking和/或您的主机networking的设置。