Windows防火墙开放特定端口需创建精准入站规则:图形界面通过“高级设置→入站规则→新建规则”选择端口类型、协议、端号,限制IP范围与网络配置文件;PowerShell可用New-NetFirewallRule命令批量配置,并需验证服务监听及避免规则冲突。

Windows 防火墙允许特定端口入站,关键在于创建一条明确、精准的入站规则,只开放必要端口,并限制适用网络范围。
图形界面操作(适合单机手动配置)
进入“控制面板 → 系统和安全 → Windows Defender 防火墙 → 高级设置”,在左侧面板点击“入站规则”,右键选择“新建规则”。按向导步骤操作:
- 规则类型选“端口”,点击下一步
- 协议选 TCP 或 UDP(如需两者,需分别建两条规则),输入具体端口号,例如 3389(远程桌面)或 1433(SQL Server)
- 操作选“允许连接”
- 作用域中,“哪些IP地址可以访问此端口”默认为任意 IP;如需加固,可点击“远程IP地址”→“下列IP地址”,添加可信段(如 192.168.1.0/24)
- 配置文件勾选“专用”或“域”(开发/内网环境);生产服务器若需外网访问,才谨慎勾选“公用”
- 规则名称建议带用途和端口,如 allow_tcp_3389_admin,便于识别和后期维护
PowerShell 命令行配置(适合批量或自动化)
管理员身份运行 PowerShell,执行命令一次性完成规则创建:
- 基础开放: New-NetFirewallRule -DisplayName "RDP_3389" -Direction Inbound -Protocol TCP -LocalPort 3389 -Action Allow -Profile Private
- 限制来源 IP:追加 -RemoteAddress 10.10.5.0/24,只允许该网段访问
- 验证是否生效:运行 Get-NetFirewallRule -DisplayName "RDP_3389" | Get-NetFirewallSetting 查看状态;也可用 netstat -an | findstr :3389 确认服务正在监听
注意事项与常见误区
规则生效不等于服务可达,还需同步检查:
- 目标服务是否真正监听该端口(如 SQL Server 默认实例用 1433,但命名实例可能用动态端口,需先固定端口)
- 若使用 SQL Server Browser,还需额外放行 UDP 1434 端口(不推荐,建议客户端直连固定端口更安全)
- 不要仅依赖“允许应用通过防火墙”——那是按程序路径放行,无法精确控制端口,且一旦程序更新路径就失效
- 避免规则重叠:显式阻止规则优先于允许规则;已有冲突的旧规则应先禁用或删除,防止策略意外拦截

















