寻找一个防火墙,可设定只能访问白名单网页。

寻找一个防火墙,可设定只能访问白名单网页。

使用平台:win10

需求

可设定白名单,只能固定的程序访问网络,只能访问固定网站,可以设定密码,静默执行不弹出提示。需要能控制https。

用途

进行一个简单的网络管控,只从应用层面。
可以用在一些简单的网络管控,或者控制孩子只能访问学习相关的网站以及应用的一个小程序。

测试结果

我会将我测试过的软件放上来

GlassWire 不符合要求

它本身是个以界面见长的轻度防火墙,无法满足我管理的需求。即使是付费版本也不能设定白名单,只能设定黑名单。

Firewall App Blocker 不符合要求

调用win自身防火墙,但无限制网站功能。

Pac代理脚本 不符合

无法控制https

以下两款软件可以关注下,但不一定符合你的需求。

Firewall App Blocker:应用层面的防火墙
URL Disabler:禁止网址访问

GlassWire 不符合要求
它本身是个以界面见长的轻度防火墙,无法满足我管理的需求。即使是付费版本也不能设定白名单,只能设定黑名单。

火绒试试?

Firewall App Blocker 不符合要求

调用win自身防火墙,但无限制网站功能。

Pac代理脚本 不符合

无法控制https

URL Disabler

image

免费且免安装,可方便的阻止 Chrome、firefox、edge 访问指定的 URL。

你可以导入导出要屏蔽的 URL 列表,支持密码保护。点击下载

本软件不使用修改 hosts 的方法阻止 URL,所以不用担心重置系统文件会影响阻止规则。

当然了,你也可以使用下面的 “ BlueLife Hosts Editor ”软件来编辑 hosts。


AskAdmin 可以简单地阻止对所选应用程序、文件和文件夹内容的访问。包括EXE程序、 UWP程序、CMD 和 BAT 文件/脚本、reg 数据等。支持密码保护。

1 Like

谢谢,不行,这个是黑名单,我想要白名单的。只能访问某些网站,其他所有网站都不能访问。

路由器上做管理 :rofl:

我的路由器不支持https

有个想法:

使用 Acrylic,将允许访问的域名解析到正确的 IP 地址,其余域名均解析到错误的 IP 地址(如 127.0.0.1)。

但这么做难度似乎很大,因为你需要准确了解到底哪些域名是需要允许访问的。

的确,我是让财务报税的网站可以访问。这样做虽然只有一个网站,但是难保后端是一个IP,也许不同的页面是不同的IP还需要测试。谢谢你的方案,我考虑一下。

仔细看图.

标记一下,这个需求很特殊,但是特定场合很需要。 我也看看有没有更好的解决方案。
我的思路是
1、开启路由规则,只允许访问白名单。
2、DNS服务器指定为127.0.0.1,修改本地HOSTS文件,对白名单域名进行手动定向,但是对于经常变更服务器或者开启了CDN的域名好像没有实际作用,但是考虑到有此需求的环境下,绝大多数都可以用这个方式处理。

翻了半天,找到了两个带白名单的软件可供尝试:

好像 win10 自带这功能

谢谢,不过很遗憾我的路由规则只支持http,不能支持https。所以用不了。其次HOSTS文件似乎只能做黑名单,不能做白名单。

不知道是我表达问题还是怎样,
在DNS指定到本地,dns服务器填写127.0.0.1,然后本地HOSTS文件指定域名-IP,实际情况是你只能访问你复写的域名,没指定的就不能访问,因为本地没有DNS服务,所以是白名单功能。恰恰这方法只能实现HTTP的规则,HTTPS的规则会出现问题,具体不太懂。

也就是说,
你说的环境和情况和我之前运维的税务局公用机情况类似,只允许访问税务局的几个域名,其他的无法访问,我就是通过我上面述说的方案来处理的。偶尔抓下包修改下本地HOSTS刷下存在感,有助于我的结费速度,其他方案还没考虑过,没多大需求,但是也挺关注此类方案的,后期可以省事。或者自己搭建的一个DNS服务器,把客户端DNS填写为自建DNS服务器地址,后期更新的话,刷新下网络缓存或者重启下电脑就能正常使用。

用coredns自搭dns服务器

方案1:使用开源软路由(或闲置PC)做主路由/旁路由,使用opwnWrt等基于Linux系统的iptables防火墙,配置白名单域名,其他请求一律拒绝。

方案2:使用本地闲置PC做反向代理服务器,局域网内其他主机无法联网,只能访问通过这台主机反代出来的特定网站

个人看法:
域名过滤,也许存在自行修改本地host文件从而导致拦截失效,使用反代似乎安全些许