检查适配器和防火墙设置
配置错误的防火墙可能会导致 WSD 应用程序失败。 本主题提供一些在 WSD 客户端和主机无法在网络上相互看到时使用的故障排除过程。 在使用任何其他应用程序故障排除过程之前,应检查防火墙设置。
检查适配器和防火墙设置
验证是否已启用 网络发现 异常。
检查是否有特定于应用程序的防火墙规则阻止应用程序。
显式启用用于发现和元数据交换的端口。
禁用防火墙并重新测试应用程序。
注意
完成此步骤后,应重新启用防火墙。
验证是否已启用网络发现异常
如果正在运行任何WS-Discovery应用程序,则必须允许 网络发现 防火墙例外。
启用网络发现防火墙例外
- 单击“ 开始”,单击“ 运行”,然后键入 firewall.cpl。 这将打开“Windows 防火墙控制面板”小程序。
- 选择 “允许程序通过 Windows 防火墙”。
- 在“异常”选项卡上,选择“网络发现检查” 框。
- 单击“确定”关闭防火墙小程序。
更改此防火墙后重新测试程序。 如果程序现在成功运行,则问题原因已确定,无需进一步的故障排除步骤。 否则,请继续执行下一步。
检查应用程序特定的防火墙规则
Windows 防火墙的高级配置可以在名为“ 高级安全 Windows 防火墙”的 Microsoft 管理控制 (MMC) 管理单元中进行。 此管理单元可用于排查可疑的防火墙问题。
开发人员可以使用 具有高级安全 API 的 Windows 防火墙 来创建适用于其 WSD 应用程序的防火墙规则。 具体而言,INetFwRules 接口的 Add 方法可用于添加新的防火墙规则。 如果防火墙规则创建不正确,客户端和主机可能无法在网络上相互查看。
为应用程序特定的防火墙规则检查
- 单击 “开始”,单击“ 运行”,然后键入 wf.msc。
- 查找可能阻止流量的应用程序特定规则。 有关详细信息,请参阅 具有高级安全性的 Windows 防火墙 - 诊断和故障排除工具。
- 删除特定于应用程序的规则。
如果未找到特定于应用程序的规则,请继续执行下一步。 如果找到并删除了特定于应用程序的规则,请在更改防火墙后重新测试程序。 如果程序现在成功运行,则问题原因已确定,无需进一步的故障排除步骤。 否则,请继续执行下一步。
启用用于发现和元数据交换的端口
WS-Discovery使用 UDP 端口 3702 进行消息交换。 此外,TCP 端口 5357 和 5358 有时用于元数据交换。 可以使用“在 Windows 防火墙中打开端口”中所述的过程在防火墙上显式打开这些端口。
更改此防火墙后重新测试程序。 如果程序现在成功运行,则问题原因已确定,无需进一步的故障排除步骤。 否则,请继续执行下一步。
禁用防火墙
可以禁用 Windows 防火墙来帮助排查疑似问题。 出于故障排除目的,还可以禁用其他适用的防火墙 (,例如路由器) 上的防火墙。 有关启用或禁用 Windows 防火墙的信息,请参阅 打开或关闭 Windows 防火墙。
禁用任何适用的防火墙后重新测试应用程序。 如果程序现在成功运行,则防火墙正在阻止流量。 流量受阻有几个可能的原因。
- 特定于应用程序的异常阻止了流量。 如上所述,检查特定于应用程序的防火墙规则。
- 设备花费的时间太长,无法响应 UDP 请求。 Windows 防火墙可能会阻止在发送初始请求后超过 4 秒返回的 UDP 响应。 按照 使用泛型主机和客户端进行 UDP WS-Discovery 中提供的过程继续故障排除,以查看问题是否在 4 秒内响应的主机中重现。
如果禁用防火墙后应用程序仍然失败,则防火墙不会导致应用程序失败。 按照为 UDP WS-Discovery 使用通用主机和客户端中提供的过程,重新启用防火墙并继续进行故障排除。
在故障排除完成后,应始终重新启用防火墙。
相关主题