在 pfSense 中使用 E2guardian 服务可以实现对 HTTP 和 HTTPS 域名的有效过滤,无需在客户端进行额外配置。E2guardian 的功能比 SquidGuard 更强大,且不依赖 Squid 或 SquidGuard 软件包。
安装要求
- pfSense 2.4.x
- 已配置 WAN、LAN 接口
- E2guardian 5.x
一、安装 E2guardian 软件包
首先将非官方存储库添加到 pfSense。通过 SSH 访问 Shell,或前往 诊断 → 命令提示符 → 执行 Shell 命令,运行以下命令:
pfsense# fetch -q -o /usr/local/etc/pkg/repos/Unofficial.conf https://raw.githubusercontent.com/marcelloc/Unofficial-pfSense-packages/master/Unofficial.24.conf获取 repo 文件后,进入 系统 → 插件管理,即可安装软件包。

若菜单中未显示 E2guardian,需先通过补丁修复。安装 patch 软件包后,前往 System → Patches,单击 Add New Patch 按钮,将补丁代码粘贴到字段中。
补丁链接请点击这里。

别忘了单击 应用 按钮使补丁生效,之后即可看到 E2guardian 软件包。
二、创建自签名证书
进入 系统 → 证书管理,为 E2guardian 创建自签名证书。单击 CAs 选项卡下的 + 按钮,按以下示例填写证书信息。


三、E2guardian 配置
进入 服务 → E2guardian Proxy 菜单。首先在 Blacklist 菜单下下载黑名单,这里安装广泛使用的 shallalist。

转到 后台程序 菜单,启用以下各项功能,然后保存设置。

至此,E2guardian 服务配置完成,下面进行测试。
四、E2guardian 测试
前往 ACLs → Site Lists,单击 + 按钮添加新的 ACL。此处添加以下测试域名:youtube.com、facebook.com、twitter.com、instagram.com。

注意: 默认的 ACL 应位于列表顶部,以便作为其他 ACL 的参照。

接下来创建一个组,并将需要限制的 IP 地址加入该组。转到 Groups 菜单,单击 + 按钮添加新组。

注意: 默认的 ACL 同样应置于列表顶部,以便正确引用。
转到 IPs 菜单,将本地客户端 IP 地址(例如 10.0.0.1、10.0.0.2 等)添加到前面创建的组中,这些客户端之后将受限制。

现在,在组内计算机上尝试访问 youtube.com、facebook.com 等域名,测试拦截效果。如下图所示,访问被成功阻止。

五、故障排除
- 如果客户端仍能访问被拒绝的域名,可尝试终止其连接状态:通过 SSH 登录 pfSense,执行
pfctl -k <客户端IP地址>,再测试是否仍能访问。 - 如果问题依旧,请彻底清除浏览器缓存后重试。
- 若 E2guardian 服务异常,可通过 SSH 执行以下命令重启服务:
/usr/local/etc/rc.d/e2guardian.sh restart。 - 在 E2guardian 菜单中完成更改后,无需再回到 后台程序 菜单单击保存,直接单击 应用更改 即可。
原文地址:How to Block HTTP and HTTPS Websites with E2guardian
以下链接可能对你有所帮助:
觉得内容不错?我要