henrypp/simplewall
GitHub: henrypp/simplewall
一款基于 Windows 筛选平台(WFP)的轻量级网络流量过滤工具,用于对计算机上应用程序的网络活动进行精细化管控。
Stars: 8612 | Forks: 637
simplewall
绝对适合高级用户。
](https://alternativeto.net/software/simplewall-firewall/about/)
看看他们,他居然不知道 [.gitmodules](https://github.com/henrypp/simplewall/blob/master/.gitmodules) 以及如何使用,呵呵。
附言:如果没有这些无知者,我们就不会有这么多乐趣了,是啊!
### 安装:
在安装规则时,你可以选择两种模式:
- 永久规则 - 规则会一直生效,直到你手动禁用。
- 临时规则 - 规则会在下次重启后重置。
### 卸载:
当你卸载 simplewall 时,之前配置的所有过滤器仍会在系统中保留。
要移除由 simplewall 创建的所有过滤器,请启动 simplewall 并按下“禁用过滤器”按钮。
### 命令行:
```
-install - enable filtering.
-install -temp - enable filtering until next reboot.
-install -silent - enable filtering without prompt.
-uninstall - remove all installed filters.
```
### 规则编辑器:
simplewall 有两种类型的自定义用户规则:
- **全局规则:** 应用于所有应用程序的规则。
- **特殊规则:** 仅应用于指定应用程序的规则。
### 规则语法格式:
要设置规则的应用程序,请打开规则,然后导航到“Apps”选项卡。
规则语法格式:
- IP 地址 `192.168.0.1; 192.168.0.1; [fc00::]` - 带端口的 IP 地址 `192.168.0.1:80; 192.168.0.1:443; [fc00::]:443;` - IP 范围 `192.168.0.1-192.168.0.255; 192.168.0.1-192.168.0.255;` - IP 范围(带端口) `192.168.0.1-192.168.0.255:80; 192.168.0.1-192.168.0.255:443;` (v2.0.20+) - 带前缀长度的 IP (CIDR) `192.168.0.0/16; 192.168.0.0/24; fe80::/10` - 端口 `21; 80; 443;` - 端口范围 `20-21; 49152-65534;` ## _要指定多个 IP、端口和/或主机,请使用分号。_IPv4 CIDR 块:
## | 地址格式 | Mask | | -------- | ------- | | a.b.c.d/32 | 255.255.255.255 | | a.b.c.d/31 | 255.255.255.254 | | a.b.c.d/30 | 255.255.255.252 | | a.b.c.d/29 | 255.255.255.248 | | a.b.c.d/28 | 255.255.255.240 | | a.b.c.d/27 | 255.255.255.224 | | a.b.c.d/26 | 255.255.255.192 | | a.b.c.d/25 | 255.255.255.128 | | a.b.c.0/24 | 255.255.255.0| | a.b.c.0/23 | 255.255.254.0| | a.b.c.0/22 | 255.255.252.0| | a.b.c.0/21 | 255.255.248.0| | a.b.c.0/20 | 255.255.240.0| | a.b.c.0/19 | 255.255.224.0| | a.b.c.0/18 | 255.255.192.0| | a.b.c.0/17 | 255.255.128.0| | a.b.0.0/16 | 255.255.0.0| | a.b.0.0/15 | 255.254.0.0| | a.b.0.0/14 | 255.252.0.0| | a.b.0.0/13 | 255.248.0.0| | a.b.0.0/12 | 255.240.0.0| | a.b.0.0/11 | 255.224.0.0| | a.b.0.0/10 | 255.192.0.0| | a.b.0.0/9 | 255.128.0.0| | a.0.0.0/8 | 255.0.0.0| | a.0.0.0/7 | 254.0.0.0| | a.0.0.0/6 | 252.0.0.0| | a.0.0.0/5 | 248.0.0.0| | a.0.0.0/4 | 240.0.0.0| | a.0.0.0/3 | 224.0.0.0| | a.0.0.0/2 | 192.0.0.0| | a.0.0.0/1 | 128.0.0.0| | 0.0.0.0/0 | 0.0.0.0|IPv6 CIDR 块:
## [IPv6 CIDR 块](https://www.mediawiki.org/wiki/Help:Range_blocks/IPv6)解决方案:在 simplewall 中配置黑名单模式:
1. 打开 `Settings` -> `Rules` 2. 取消勾选 `Block outbound for all` 和 `Block inbound for all` 选项。 3. 创建一个用户规则(工具栏上的绿色十字),动作为阻止,方向为任意,名称为 `Block connection`,并且远程和本地规则为空。 4. 你可以将此规则分配给任何你想要阻止网络访问的应用程序。解决方案 1:通过内部系统规则启用 NCSI:
1. 打开 `System rules` 选项卡。 2. 允许 `NCSI` 规则(默认启用)。解决方案 2:通过系统注册表禁用 NCSI:
创建 `Disable NCSI.reg` 并将其导入注册表。 ``` Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\NetworkConnectivityStatusIndicator] "NoActiveProbe"=dword:00000001 "DisablePassivePolling"=dword:00000001 ```解决方案 3:通过组策略禁用 NCSI:
1. 启动组策略编辑器 (`gpedit.msc` )。 2. 转到 `Computer Configuration -> Administrative Templates -> System -> Internet Communication Management -> Internet Communication Settings`。 3. 双击 `Turn off Windows Network Connectivity Status Indicator active tests`,然后选择已启用。点击确定。 4. 打开命令提示符(管理员)并输入 `gpupdate /force` 以强制执行对组策略所做的更改。禁用 Windows 防火墙配置文件:
``` netsh advfirewall set allprofiles state off ```启用 Windows 防火墙配置文件:
``` netsh advfirewall set allprofiles state on ```将过滤器信息转储并保存到 `filters.xml` 文件中:
``` cd /d %USERPROFILE%\Desktop netsh wfp show filters ```将提供者、标注和层级信息转储到 `wfpstate.xml` 文件中:
``` cd /d %USERPROFILE%\Desktop netsh wfp show state ```Windows 10 及更高版本:
打开主窗口菜单 `Settings` -> `Rules` -> `Allow Windows Update`。这是通过[此处](https://github.com/henrypp/simplewall/issues/677)描述的方法实现的。
Windows 8.1:
打开主窗口,导航到 `System rules` 选项卡,然后启用 `Windows Update service` 规则。标签:Linux, WFP, 客户端加密, 系统工具, 网络过滤, 网络防火墙, 软件开发安全