前面一篇文章介绍了OPNSense上安装AdGuardHome的方法,相比OPNSense,在pfSense上的安装稍显复杂。
为什么使用AdGuard Home
- 有漂亮的用户界面:PFBlockerNG也可以执行DNS拦截,但它的界面要复杂得多。
- AdGuard Home相比更容易使用。
- 内置加密DNS:AdGuard Home支持内置的加密DNS(基于TLS的DNS,基于HTTPS的DNS)。
- 支持并行查询:AdGuard Home支持并行查询,一次可以查询多个服务器,大大加快了查询的速度。
- FreeBSD支持:AdGuard Home支持FreeBSD,无需进行任何虚拟化。
- 可以修改DNS TTL,可以将DNS记录保留在缓存中的时间设置的更长一点。
下面介绍安装和设置过程。
禁用pfSense的DNS解析器/转发器登录到pfSense防火墙Web UI,转到“服务”>“ DNS解析器”,取消选中“启用”,单击“保存。如果启用了DNS转发器,执行相同的取消操作。
安装AdGuardHome转到AdGuardHome的发布主页,下载适用于FreeBSD的AdGuard的最新版本。如果防火墙是64位版本,那么下载AdGuardHome_freebsd_amd64.tar.gz。如果是32位,那么下载AdGuardHome_freebsd_386.tar.gz。
使用Putty或SSH SSH登录到pfSense的Shell界面,然后执行以下命令来下载程序:
cd / mkdir opt cd opt fetch https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.104.0-beta2/AdGuardHome_freebsd_amd64.tar.gz
解压缩下载的程序并进行安装:
tar -xvf AdGuardHome_freebsd_amd64.tar.gz cd AdGuardHome ./AdGuardHome配置AdGuardHome
在浏览器上输入”http://192.168.5.1(防火墙LAN地址):3000”进入AdGuard Home的Web配置界面。配置方法可以搜索相关教程,这里不再赘述。
为了确保AdGuard可以正确获取过滤器,还需要安装ca_root_nss。
进入pfSense shell环境运行以下命令:
pkg install ca_root_nss
接下来,安装screen,确保关闭ssh也可以运行AdGuard。
pkg install screen
还可以安装nano文本编辑器,以方便编辑简单的文本文件。
pkg install nano
最后,安装shellcmd插件,让AdGuard Home可以在开机的时候随防火墙一起启动。导航到“系统”>“插件管理”>“可用插件”,找到shellcmd插件,点击右侧的安装按钮进行安装。
设置开机启动转到服务> shellcmd,然后单击添加:
Command: /usr/local/bin/screen -S AdGuardHome_screen -d -m /opt/AdGuardHome/AdGuardHome
Shellcmd Type: shellcmd
Description: AdGuard
单击“保存”,然后重新启动。AdGuardHome将随pfSense防火墙一起启动。
使用AdGuard DNS转到pfSense Web界面的“系统”>“常规设置”菜单,将DNS服务器设置为192.168.5.1,删除所有其他DNS。
现在,AdGuard Home已经在pfSense上启动并运行。
局域网客户端的DNS设为pfSense防火墙的LAN接口地址192.168.5.1,也可以在DHCP中把DNS设为192.168.5.1。
测试进入pfSense Shell环境并输入:
dig @192.168.5.1 pfschina.org
它应该输出本博客的IP地址。
在Windows上,执行以下命令:
nslookup pfschina.org 192.168.5.1
测试是否输出本博客的IP地址。