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"}
查看所有生效规则
三、终极杀招:网络诊断四步法
当遇到诡异连接问题时,我的排查套路是:
- 用
telnet 服务器IP 端口
测试TCP连通性 - 在服务器本机
netstat -ano | findstr 端口号
看服务是否监听 - 临时关闭防火墙测试(生产环境慎用!)
- 检查路由器和云服务商的安全组
上周有个案例:阿里云ECS上的服务死活连不上,最后发现是云平台安全组没放行端口。所以永远记住防火墙是多层的!
四、个人私藏工具推荐
分享几个我常用的防火墙辅助工具:
- Windows Firewall Control – 比系统自带界面直观10倍
- Advanced Port Scanner – 快速扫描端口开放情况
- PowerShell的
Test-NetConnection
命令 – 比ping更强大
最后说句掏心窝的话:Windows防火墙其实很强大,只是UI设计太反人类。掌握这些技巧后,我现在反而更喜欢用它而不是第三方防火墙了。大家有什么奇葩故障经历,欢迎在评论区交流~
太实用了!上周刚被防火墙坑过,看完才发现是ICMP被禁了 😅