首页/系统/Windows 运维速查/开放/删除入站端口规则

开放/删除入站端口规则

给端口放行入站流量:netsh 与 New-NetFirewallRule 两种写法,开放前先想清来源范围。

Windows 运维速查系统更新于 2026-10-13

防火墙规则怎么加

给 Windows 防火墙放行端口,本质是在入站方向新增一条允许规则。命令行有两种写法:传统的 netsh 适合在任何版本上直接执行,PowerShell 的规则命令则把参数拆成明确的对象属性,更适合写进脚本与批量下发。开放端口前先想清楚三件事:给哪个端口、允许哪个来源网段、只对哪个配置文件生效。把来源限制成具体网段而不是全网,是这类操作里最容易被忽略、后果又最直接的一点。

基本信息

适用平台Windows Server 2008 及以上、Windows 7 及以上
netsh 语法netsh advfirewall firewall add rule name=名称 dir=in action=allow protocol=TCP localport=端口 remoteip=范围
PowerShell 语法New-NetFirewallRule -DisplayName 名称 -Direction Inbound -Protocol TCP -LocalPort 端口 -Action Allow
查看规则netsh advfirewall firewall show rule name=名称;或按显示名查询规则对象
删除规则netsh advfirewall firewall delete rule name=名称;PowerShell 侧按显示名删除
权限所有增删改操作都需要管理员权限

典型使用场景

  • 新部署服务后开放业务端口,让客户端能够访问
  • 仅对管理网段放行远程管理端口,避免全互联网暴露
  • 临时排障:先放行验证问题是否出在防火墙,排完立即回收规则
  • 批量下发:把同一条规则应用到多台主机,保证配置一致
  • 导出与核对:列出规则清单,做基线比对或变更审计
  • 删除遗留规则,避免长期存在无人认领的放行条目

常用示例

常用示例
:: 开放 80 端口,仅放行内网网段(CMD,需管理员)
netsh advfirewall firewall add rule name="Web 80" dir=in action=allow protocol=TCP localport=80 remoteip=10.0.0.0/8
:: 查看这条规则的详情
netsh advfirewall firewall show rule name="Web 80"
:: 按端口筛选已有入站允许规则
netsh advfirewall firewall show rule name=all dir=in | findstr /i "80"
:: 删除规则
netsh advfirewall firewall delete rule name="Web 80"
:: 关闭某条规则而不是删除
netsh advfirewall firewall set rule name="Web 80" new enable=no

PowerShell 等价写法

PowerShell 等价写法
# 新增入站规则,限定来源网段
New-NetFirewallRule -DisplayName 'Web 80' -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow -RemoteAddress 10.0.0.0/8
# 只对指定配置文件生效
New-NetFirewallRule -DisplayName 'App 8443' -Direction Inbound -Protocol TCP -LocalPort 8443 -Action Allow -Profile Domain
# 查看规则
Get-NetFirewallRule -DisplayName 'Web 80' | Get-NetFirewallPortFilter
# 临时禁用与启用
Disable-NetFirewallRule -DisplayName 'Web 80'
Enable-NetFirewallRule -DisplayName 'Web 80'
# 删除规则
Remove-NetFirewallRule -DisplayName 'Web 80'

参数要点

参数含义建议
dir 与 -Direction规则方向,入站用 in 或 Inbound业务端口一般只需入站
action 与 -Action允许还是阻止排障时先允许,验证完再回收
protocol协议类型按实际服务选,别一律放开
localport 与 -LocalPort本机端口支持范围与逗号分隔的多值
remoteip 与 -RemoteAddress来源地址范围不写等于对来源无限制,生产环境必须限定
profile 与 -Profile生效的网络配置文件服务器一般只需域配置
不写来源限制等于对所有来源放行,公网可达的端口会立刻进入被扫描名单。生产环境应把来源限定在业务网段或跳板机地址,验证完成后及时删除临时规则。
规则名重复会生成多条同名条目,现象是删除一次之后端口仍然通。清理前先用查询命令确认同名规则的数量,再逐条处理。

易错点

  • 不限制来源就开放端口:等于向所有来源暴露服务,公网环境风险极高,务必指定来源网段
  • 同名规则重复创建:删除时只删掉一条,端口依然放行,排查前先确认同名规则数量
  • 忘了规则只在指定配置文件生效:域内测试正常、脱离域后失效,需要对照实际网络类型检查
  • 用放行规则掩盖真实故障:端口本身没在监听时,即便放行也不通,应先确认监听状态
  • 只放行不回滚:排障用的临时规则长期留在生产主机上,成为审计与安全的隐患

数据来源与参考

  • Microsoft Learn:netsh advfirewall firewall
  • Microsoft Learn:New-NetFirewallRule

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌