windows 11局域网游戏搜房失败主因是防火墙拦截,需依次启用网络发现规则组、为游戏程序创建入站规则、开放关键udp端口、批量启用网络发现相关规则组、手动放行smb/netbios端口。

如果您在 Windows 11 中运行局域网游戏(如 Minecraft 本地服务器、CS2 房间主机、Terraria 多人联机等),但其他设备无法在游戏内“搜索到房间”或“发现主机”,则很可能是系统防火墙默认拦截了入站广播、服务发现或端口监听请求。以下是解决此问题的多种具体操作方法:
一、启用“网络发现”防火墙规则组
该规则组放行 SSDP(UDP 1900)、DNS-SD 及 UPnP 广播流量,是实现局域网设备自动发现与房间广播的基础。若未启用,游戏主机无法被客户端探测到,导致搜房失败。
1、在任务栏搜索框中输入允许应用通过防火墙并打开该设置项。
2、点击更改设置按钮,需提供管理员权限确认。
3、在应用和服务列表中向下滚动查找网络发现,确保其在专用和公用两列均被勾选。
4、若列表中未显示该项,说明系统未自动注册该规则组,需转至方法四执行命令修复。
二、为游戏程序创建入站规则(绑定可执行文件)
该方法直接授权游戏主程序接收外部连接请求,适用于图形化客户端或集成服务端(如 Minecraft Launcher 启动的内建服务器),不依赖端口猜测,安全性高且适配更新路径。
1、按下 Win + R 打开“运行”对话框,输入 wf.msc 并回车,启动“高级安全 Windows Defender 防火墙”。
2、在左窗格中,右键点击入站规则,选择“新建规则…”。
3、在向导第一页选择程序,点击“下一步”。
4、选择此程序路径,点击“浏览”,定位并选中游戏的主 .exe 文件(例如:C:\Program Files\Minecraft Launcher\MinecraftLauncher.exe 或 D:\Games\CS2\game\bin\win64\cs2.exe),点击“下一步”。
5、选择允许连接,点击“下一步”。
6、在“配置文件”页面,至少勾选专用;若局域网设备连接的是同一 Wi-Fi(如家用路由器),也建议勾选公用;“域”仅适用于企业环境,一般不勾选。
7、为规则命名,例如 Allow Minecraft LAN Host 或 Allow CS2 Server Discovery,填写可选描述后点击“完成”。
三、为游戏关键端口创建入站规则(显式开放广播与监听端口)
该方法针对已知游戏使用的发现端口与服务端口(如 Minecraft 的 UDP 1900/25565、Valheim 的 UDP 2456–2458、Rust 的 UDP 28015–28016),绕过程序路径依赖,确保即使游戏重装或路径变更仍持续生效。
1、在 wf.msc 界面中,右键点击入站规则 → “新建规则…”。
2、选择端口,点击“下一步”。
3、选择协议类型:勾选 UDP(多数搜房广播使用 UDP);在“特定本地端口”栏输入对应端口号(例如:1900,25565 或 2456-2458 或 28015-28016),点击“下一步”。
4、选择允许连接,点击“下一步”。
5、在“配置文件”页面,根据局域网实际环境勾选专用和/或公用,点击“下一步”。
6、为规则命名,例如 Allow SSDP+Minecraft UDP 或 Allow Valheim Discovery Ports,点击“完成”。
四、使用管理员终端批量启用网络发现相关规则组
该方法调用系统内置 netsh 命令,一次性启用所有与网络发现、UPnP、SSDP、SMB 相关的预设规则组,可修复因规则组缺失或禁用导致的搜房不可见问题,尤其适用于系统更新后规则组失效场景。
1、右键开始菜单,选择“Windows Terminal(管理员)”或“PowerShell(管理员)”。
2、依次执行以下两条命令(每条后按回车):
netsh advfirewall firewall set rule group="网络发现" new enable=Yes
netsh advfirewall firewall set rule group="文件和打印机共享" new enable=Yes
3、等待命令返回“确定”提示,表示规则组已启用。
五、手动放行 SMB 与 NetBIOS 核心端口(兼容旧版发现协议)
部分老游戏或自建工具依赖 NetBIOS 名称解析(UDP 137–139)或 SMB 会话建立(TCP 445)进行局域网主机广播与识别,显式开放这些端口可覆盖因规则组未覆盖导致的搜房失败。
1、按 Win + R 输入 wf.msc 并回车,打开高级安全 Windows Defender 防火墙。
2、在左侧面板点击入站规则,再点击右侧“新建规则”。
3、选择端口 → 下一步 → 选择 UDP → 特定本地端口输入 137,138,139 → 下一步。
4、选择允许连接 → 下一步 → 勾选专用 → 下一步 → 输入名称如 NetBIOS_UDP137-139_Allow → 完成。
5、重复步骤 2–4,新建 TCP 规则,端口填入 445,名称设为 SMB_TCP445_Allow。











