OPNsense配置NextDNS

NextDNS作为基于云的DNS过滤解决方案,每月可以免费30万次次查询,每年付费 20 美元即可进行无限制查询。NextDNS 具有高度的可配置性,支持DNS-over-TLS、DNS-over-HTTPS,可以实现完全加密的DNS查询。它还提供了大量的阻止列表,例如挖矿劫持保护、拦截广告等。NextDNS可以安装在OPNsense上,通过简单的配置即可使用。

[admonition]在安装配置之前,请先注册NextDNS帐户并记录配置ID。[/admonition]

[label]安装[/label]

OPNsense使用Unbound DNS进行DNS解析,为了方便配置,我们可以取消Unbound DNS的解析功能或更改其默认端口,让NextDNS客户端直接侦听防火墙 LAN地址端口53进行DNS查询。

1、SSH登录OPNsense,进入shell,然后运行以下命令:

sh -c 'sh -c "$(curl -sL https://nextdns.io/install)"'

2、 输入i进行安装。

3、 输入NextDNS的配置ID,并根据提示进行安装。

另一种安装方式。

1、在shell环境运行以下命令,安装第三方插件存储库:

fetch -o /usr/local/etc/pkg/repos/mimugmail.conf https://www.routerperformance.net/mimugmail.conf 
pkg update

2、转到系统>固件>插件选项卡,搜索os-nextdns-community并安装。

3、导航到服务>NextDNS,配置NextDNS各项参数。

[label]配置[/label]

1、编辑nextdns.conf文,将setup-router更改为false, 并添加防火墙的LAN IP地址10.13.2.1到“ listen ”行,确保与localhost一样,端口都为53。修改完成后保存。
vi /usr/local/etc/nextdns.conf

2、导航至服务>Unbound DNS>常规, 取消选中“启用Unbound”框(如果已选中)。
3、返回shell,输入nextdns restart,重启NextDNS。 输入sockstat -l并查找NextDNS条目,应该会看到LAN IP和环回地址的条目,也可以输入nextdns log,查看运行日志。

[label]测试[/label]

要验证域名解析拦截是否正常工作,可以使用 Drill 命令。app-measurement.com域名在NextDNS默认的拦截列表里,如果针对OPNsense LAN IP运行 Drill,应该会返回0.0.0.0的查询结果。还可以从LAN客户端访问dnsleaktest.com,验证客户端是否正在使用dns.nextdns.io。如果显示的是NextDNS以外的DNS服务器,则说明配置存在问题。

drill app-measurement.com @10.13.2.1
也可以登录NextDNS门户查看,确保已绑定IP,并正在使用NextDNS。

[label]总结[/label]

在OPNsense中安装使用NextDNS非常容易,只需修改NextDNS CLI默认配置,就可以保证客户端不做任何更改即时使用 NextDNS。

NextDNS运行参数: