我在 0.0.0.0:60001 上运行 (.net WCF) HTTP 服务,但同一网络上的远程客户端无法连接。查看 Windows 事件日志,我可以看到两个相关事件:
Event ID 5152, The Windows Filtering Platform has blocked a packet.
Network Information:
Direction: Inbound
Source Address: 192.168.2.80
Source Port: 42989
Destination Address: 192.168.2.223
Destination Port: 60001
Protocol: 6
和:
Event ID 5157, The Windows Filtering Platform has blocked a connection.
Network Information:
Direction: Inbound
Source Address: 192.168.2.223
Source Port: 60001
Destination Address: 192.168.2.80
Destination Port: 42989
Protocol: 6
Application Information:
Process ID: 4
Application Name: System
Filter Information:
Filter Run-Time ID: 71532
Layer Name: Receive/Accept
Layer Run-Time ID: 44
更新 我刚刚发现有“McAfee 防火墙核心服务”正在运行。我最有可能的猜测是它还连接到 Windows 过滤平台并导致我的问题... 有人能确认这是否属实吗?
因此我自然而然地开始四处寻找Windows Firewall with advanced security
。首先我要说的是,我使用的是连接到域的计算机。有安全策略,因此我无法调整所有设置。防火墙配置如下:
Firewall State: On (recommended) (can't change that)
Inbound connections: Block (default) (can only change that to Block all connection)
Outbound connections: Allow (default) (can't change that)
并且它在所有接口上运行(也无法改变)。
我尝试添加Inbound
Allow
规则。这是最通用的“全部允许”规则的摘要:
Profile: All, Action: Allow, Override: No, Program: Any, Local Address: Any, Remote Address: Any, Protocol: Any, LocalPort: Any, RemotePort: Any, Allowedusers: Any, AllowedComputers: Any
此外我还尝试了Inbound
allow
规则:
- 特定于程序。
- 特定于 TCP 端口 60 001
- 特定于 UDP 端口 60 001
这些组合都无济于事。
我还检查了Windows Firewall with Advanced Security
- Monitoring
- Firewall
。它显示所有活动规则,所有规则都是 Action = Allow
。没有阻止规则。我创建的规则显示在此列表中。
我也尝试过在更改规则后重新启动计算机。并且每次更改规则后我都会重新启动程序。
到目前为止还没有任何帮助。
您能告诉我这是什么原因造成的吗?我该如何让它工作?是否有域策略阻止我实际允许这样的传入连接?如果是这样 - 我该如何检查是否存在?
答案1
关闭 Mcafee 或(最好)卸载 Mcafee......这可能是导致问题的原因。
多个安全应用程序会带来麻烦。