3 步给 Windows 装上一道免费防火墙:Fort Firewall 完整上手指南
【免费下载链接】fortFort Firewall for Windows项目地址: https://gitcode.com/GitHub_Trending/fo/fort
有后台程序正在偷偷向外连网,你却不知道是谁。Fort Firewall 是一款免费开源的 Windows 防火墙,自带独立内核驱动,不依赖 Windows 防火墙,能按程序逐个决定:放行、拦截,还是先弹窗问你。
它替我解决了什么问题:这类人最适合 Fort Firewall
如果你怀疑某个软件在后台传数据、想让某个程序彻底断网、或者只想"新程序一联网就提醒我",Fort Firewall 就是为你准备的。Windows 防火墙的规则按端口和程序写,但普通用户很难把一条规则对到具体行为上;Fort 直接以程序为第一视角,把"谁、连到哪、走哪个端口、被谁拦"摊开给你看。
它的几个关键能力都落在这条主线上:
- 独立内核驱动:自带
fortfw.sys驱动,和 Windows 防火墙并行工作,不互相打架; - 按程序管理:支持通配符路径、父进程继承,甚至能按
SvcHost.exe的服务名区分系统服务; - 不止拦截:单程序上下行限速、自动更新的黑名单(Zones)、连接日志、流量统计和带宽曲线一应俱全。
适合人群很简单:想搞清楚"我的电脑到底在和谁说话"的普通用户,以及需要限速、黑名单、命令行批量管理的进阶用户。支持 Windows 7 及更新系统。两个前置条件要注意:先装好最新版 Visual C++ redistributable 运行库;Windows 10/11 用户需关闭"核心隔离:内存完整性"(HVCI),否则驱动无法加载。
从零跑起来:克隆、编译到第一次启用
一条命令克隆 Fort Firewall 仓库
git clone https://gitcode.com/GitHub_Trending/fo/fort cd fort准备编译工具链
源码构建走 qmake + MSVC 流程,需要 Visual Studio(MSVC)、EWDK/WDK(编译内核驱动)、静态版 Qt 6 和 jom,各工具路径由 scripts/make/config.bat 集中配置,细节在 CLAUDE.md 里有完整说明。这里坦白说:编译全量版本(UI + 驱动 + 安装包)是一套不小的工程;如果你只是想用,直接拿最新发布的安装包(当前 v3.20.5)更省事,下面的编译流程主要面向想读代码、改代码的人。
编译 UI、驱动与安装包
scripts\make\ui\make-all.bat :: 编译 win7 / win10 / win10-arm64 三套 UI scripts\make\driver\make-all.bat :: 编译 fortfw.sys 驱动 scripts\make\driver-loader\make-all.bat deploy\create-installer.bat :: 用 Inno Setup 打包安装包第一次启用防火墙
安装完成后运行FortFirewall.exe。主窗口(见 src/ui/form/controls/mainwindow.cpp)让你先选过滤模式,三选一:
- Auto-Learn(自动学习):新程序联网自动放行并记录,先观察几天;
- Block if not listed:未列出的程序一律拦截,最严格;
- Allow if not listed:未列出的程序放行,只拦你明确拉黑的。
建议先用 Auto-Learn 跑一周,等程序清单攒齐后再切到拦截模式,这样不会误伤日常软件。
真正好用的几个场景
场景一:新程序第一次联网就弹窗提醒
想做什么:任何程序第一次尝试连接网络时立刻通知你。怎么做:保持拦截/询问模式,开启"新程序提醒",弹窗里会给出程序完整路径和它要连的地址,你点一次允许或拒绝,它以后就记住。效果:后台偷偷外连的程序第一次露面就会被你抓住,这是 Fort 最有用的日常功能,程序清单的管理逻辑在 src/ui/conf/confappmanager.cpp。
场景二:禁止某个程序上网,或只允许它连局域网
想做什么:比如让某款软件彻底断网,或只许它访问内网。怎么做:在程序列表里编辑该程序,把终结动作(Terminating Rule)设为 Block;需要更细的粒度就在"网络过滤器"里加条件,比如只放行192.168.0.0/16、拒绝 443 端口出站。效果:驱动层直接执行,连它的子进程也一并生效,想改随时改。
场景三:给单个程序限上下行速度
想做什么:下载工具、P2P 软件占满带宽,其他程序全卡。怎么做:在 Speed Limits 里建一条限速值(单位是比特/秒),挂到指定程序的上传或下载方向。效果:驱动内置的 shaper 按队列整形,限速是实打实的带宽约束,不是软件层面的"假限速"。
场景四:一份自动更新的黑名单
想做什么:把已知的恶意 IP 段、广告地址挡在门外,又不想手动维护。怎么做:用"Zones"功能创建一个地址区间列表,填一个更新 URL,Fort 会定期自动拉取最新内容;然后把这个 Zone 挂到某个程序或全局规则上。效果:黑名单永远保鲜,你只管挂规则。
进阶玩法:自定义拦截规则与实时监控
自定义拦截规则
Fort 的 Rules 功能支持按 IP、端口、协议、方向写多条件过滤器,动作可选 Allow、Block、Drop,还能加 Alert 提醒。规则是文本行格式,写之前可以用**过滤器模拟器(Filter Simulator)**先跑一遍:输入一条模拟连接,它直接告诉你驱动会怎么判。规则解析与管理的实现在 src/ui/conf/confrulemanager.cpp。
分组与定时策略
把程序划进 Group,从托盘图标一键切换整套策略;再配合 Time Period(时间段),可以让"办公时段用严格策略、晚上回家放松"全自动完成。比如周一到周五 9:00–18:00 自动启用工作组,到点自己切换,不用你记。
命令行管理
不想开窗口?Fort 支持-c参数直接对运行中的实例下命令:
FortFirewall.exe -c filter-mode report :: 查询当前过滤模式 FortFirewall.exe -c prog block D:\tools\app.exe FortFirewall.exe -c block lan :: 一键封锁局域网流量 FortFirewall.exe -c zone update :: 立即更新黑名单写进计划任务或脚本里,就是现成的自动化接口。
实时监控:谁在联网、用了多少流量
Connections 窗口实时列出所有活动连接:程序、远端地址、端口、动作,连接记录由 src/ui/stat/statconnmanager.cpp 维护;从托盘再开一个 Traffic Graph 窗口,下载/上传速度以每秒柱状图滚动显示,谁在吃带宽一眼可见。
收束:下一步就打开终端
一句话总结:如果你想要"按程序逐个管控 + 限速 + 自动黑名单 + 流量可视化",又不想被 Windows 防火墙的规则语法劝退,Fort Firewall 是目前免费开源方案里最完整的选择。现在打开终端,先跑这条命令,把仓库拉下来:
git clone https://gitcode.com/GitHub_Trending/fo/fort【免费下载链接】fortFort Firewall for Windows项目地址: https://gitcode.com/GitHub_Trending/fo/fort
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考