Windows服务器建服防火墙设置详解

2025.7.19 杂七杂八 1269
33BLOG智能摘要
Windows服务器搭建服务时,防火墙设置常被忽视却容易引发连接问题。作者多年来总结了多项实战经验,强调仅开放端口不够,须确认防火墙状态和网络接口配置,特别是多网卡服务器需在规则中指定IP地址范围。同时,建议开启ICMPv4协议以允许ping测试,避免误判服务器宕机。实用命令如`netsh advfirewall monitor show firewall`可实时查看拦截情况,`Get-NetFirewallRule`能列出所有启用规则。当遇到连接异常时,可从四方面排查:使用telnet测试端口、服务器本机检查服务监听情况、临时关闭防火墙确认是否为系统限制,以及核查路由器或云平台(如阿里云ECS)安全组设置。作者还推荐了几个实用工具,提升防火墙管理效率。最终指出,尽管界面设计复杂,但掌握正确操作后,Windows防火墙同样具备强大能力,可有效保障服务器安全。
— 此摘要由33BLOG基于AI分析文章内容生成,仅供参考。

Windows服务器建服必看:防火墙设置踩坑实录

Windows服务器建服防火墙设置详解

大家好,我是33blog的站长。最近帮朋友配置游戏服务器时,又被Windows防火墙坑了一把。今天就把这些年总结的实战经验分享给大家,特别是那些”端口明明开了却连不上”的灵异问题。

一、基础设置:放行端口只是第一步

很多新手以为在防火墙里添加个入站规则就完事了,结果发现客户端还是连不上。上周我搭建Minecraft服务器时就遇到这种情况,后来发现是漏了关键设置:

# 查看当前防火墙状态(别笑,真有人忘记开防火墙)
Get-NetFirewallProfile | Select-Object Name, Enabled

# 放行TCP 25565端口(Minecraft默认端口)
New-NetFirewallRule -DisplayName "Minecraft_TCP" -Direction Inbound -Protocol TCP -LocalPort 25565 -Action Allow

血泪教训:如果服务器有多个网卡(比如同时有内网和外网IP),记得在规则作用域(Scope)里指定IP地址!我就因为没设置这个,导致内网能连外网死活不通。

二、高级技巧:这些隐藏选项才要命

Windows防火墙有个反人类的设定:默认会阻止ICMP协议(就是ping命令用的)。有次客户说服务器宕机,实际是防火墙把ping包全过滤了…

:: 允许ICMPv4回显请求(就是允许被ping)
netsh advfirewall firewall add rule name="ICMP Allow" protocol=icmpv4:8,any dir=in action=allow

另外推荐两个实用命令:

  • netsh advfirewall monitor show firewall 实时监控拦截记录
  • Get-NetFirewallRule | Where-Object {$_.Enabled -eq "True"} 查看所有生效规则

三、终极杀招:网络诊断四步法

当遇到诡异连接问题时,我的排查套路是:

  1. telnet 服务器IP 端口测试TCP连通性
  2. 在服务器本机netstat -ano | findstr 端口号看服务是否监听
  3. 临时关闭防火墙测试(生产环境慎用!)
  4. 检查路由器和云服务商的安全组

上周有个案例:阿里云ECS上的服务死活连不上,最后发现是云平台安全组没放行端口。所以永远记住防火墙是多层的

四、个人私藏工具推荐

分享几个我常用的防火墙辅助工具:

最后说句掏心窝的话:Windows防火墙其实很强大,只是UI设计太反人类。掌握这些技巧后,我现在反而更喜欢用它而不是第三方防火墙了。大家有什么奇葩故障经历,欢迎在评论区交流~

评论

  • 太实用了!上周刚被防火墙坑过,看完才发现是ICMP被禁了 😅