我在 Windows 7 下通过仅主机网络连接(手动 IP 地址:192.168.8.123)启动了一个虚拟机(Linux)。关闭虚拟机防火墙后,我可以从 Windows ping 通虚拟机。
但是,当我尝试从虚拟机 ping 时,失败了。我注意到,如果我关闭 Windows 防火墙,ping 就可以成功。但是,我不想关闭防火墙。那么如何配置防火墙,让我的 Linux 虚拟机 ping 成功到达 Windows?
答案1
最近,当我开始在 Windows 笔记本电脑上进行 Linux 开发时遇到了这个问题,其中源代码位于主机上,并通过 CIFS* 共享以在 CentOS VM 上进行编译。
就是这样!您也可以从域和私有配置文件禁用适配器,但您不必这样做。问题的根本原因似乎是主机专用适配器设置为公共而不是私有,但我从未设法找到解决方案来更改主机专用适配器的设置。
我的解决方案假设您信任主机和客户机之间的通信,同时保持防火墙对其他适配器处于活动状态。如果您希望在主机和客户机虚拟机之间允许通过的内容更严格,您还可以编辑单独的入站和出站规则以允许某些流量通过。
当您带着笔记本电脑连接到工作 Wi-Fi 或通过 VPN 隧道连接(这可能会改变您的本地子网)时,此解决方案也有效。
** 我发现使用 VirtualBox 的共享文件夹性能非常糟糕(对于我的项目来说慢了 5 倍) - 因此CIFS.*
。
答案2
尝试这个:http://www.sysprobs.com/enable-ping-reply-windows-7- 它过去对我很有用。
解决方案:
1)在Windows 7中完全禁用防火墙,不建议这样做。
2)在现有防火墙中为 ICMP 回显请求创建一条例外规则来回复 ping 命令,但不完全禁用它。
Windows 7 防火墙中的 ICMP 规则
按照以下步骤创建规则。这些步骤类似于在 Windows Vista 中启用 ping
另请查看如何在 Windows XP 中启用 ping
1)进入控制面板中的 Windows 防火墙
在防火墙中启用 Windows 7 Ping
可以看到Windows防火墙状态为开启,点击左侧的高级设置,如上所述。
2)选择入站规则,右键单击它并选择新建规则…
在防火墙中启用 Windows 7 Ping
3)最后选择Custom(自定义规则),按Next。
4) 离开所有程序并转到下一步。
在防火墙中启用 Windows 7 Ping
5) 单击“协议类型”并选择“ICMP4”,如下所示。当您的网络使用 IPv4 进行通信时,ICMP4 是 ping 命令中使用的协议。
启用 Windows 7 Ping
6) 由于我们将此规则应用于任何 IP,意味着响应任何带有回显请求的 IP 地址,请在下一个屏幕中选择“任何 IP 地址”。如果您希望 Windows 7 计算机仅对 ICMP 回显请求(ping)做出响应,您还可以添加特定 IP 地址
启用 Windows 7 Ping
7)在下一个屏幕中允许连接,按下一步。
8.) 在下一个屏幕中保持选中所有三个复选框,以便将此规则应用于您所连接的任何类型的网络。
9) 为该规则命名。该名称将显示在 Windows 防火墙的入站规则下。将来您可以通过该名称删除规则。
在防火墙中启用 Windows 7 Ping
单击“完成”。
10) 就是这样;这些是在 Windows 7 中启用 ping 的简单步骤,规则将立即应用并出现在入站规则中。现在,Windows 7 计算机将响应 ICMP 回显 ping 请求,而无需禁用或停止 Windows 防火墙。