🛡️AdGuard Home配置仅局域网访问

2024-9-11|2025-3-3
Yawatasensei
Yawatasensei
type
status
date
slug
summary
tags
category
icon
password
😀
家里部署在旁路网关上的AdGuard Home已经稳定运行一段时间了,最近检查配置文件的时候发现默认的配置文件是监听在全部地址的,也就是如果有人知道了我旁路由的公网IPv6地址,而且我的防火墙规则不完善情况下,那么是存在可能直接使用我的AdGuard Home DNS服务的,尤其是我的AdGuard Home还是监听在默认的53端口,有点不太安全,即便是不被攻击和滥用,也容易被运营商警告。

📝 AdGuard Home配置记录

我的AdGuard Home是安装在旁路网关(旁路由)的OpenWRT系统内,所以以下防火墙规则部分,介绍和使用的是OpenWRT下的防火墙(nftables)规则。

修改AdGrard Home监听地址

配置文件位于/etc/AdGuardHome.yaml ,关于监听地址的的配置项为dns主配置项下的bind_host ,默认的配置为:
即监听当前机器的所有地址,包括本地地址、局域网地址,IPv6公网地址等等,存在很大的安全隐患,同时我们也不需要AdGuard Home在如此多的地址上进行监听。
由于我会使用WireGuard回家,配置的网段为10.1.X.X网段,所以在配置文件中也加入对这个网段地址的监听。另外增加127.0.0.1的本机地址原因是允许本机使用该DNS服务,同时在旁路由本机上运行的一些服务由于配置的DNS地址也为127.0.0.1的本机地址,找起来修改很麻烦,所以这里加上。
修改完后:
包括本机地址,家庭局域网地址、WireGuard虚拟局域网地址(或者Zerotier虚拟局域网地址),以及本地的IPv6地址,这里主要注意IPv6地址填写你的DNS服务器本机的本地链路IPv6地址,即fe80::开头,不要完全简写为fe80::1 ,建议通过ifconfig命令查看一下本地的IPv6地址,否则AdGuard Home可能存在监听失败无法启动的问题。
重启AdGuard Home后生效。

配置防火墙规则

OpenWRT Luci界面添加

如果你在主路由的默认防火墙wan口规则是拒绝入站和拒绝转发,那么没有必要单独进行防火墙规则的配置,因为53端口的访问和转发请求已经遵循默认规则被拒绝。
但是如果你的默认wan口规则允许入站和转发,那么建议还是进行通信规则的设置,特别是IPv6部分的配置,可以在OpenWRT的防火墙设置中直接添加通信规则:
notion image
  • 源区域:wan和wan6
  • 源地址:不选择
  • 源端口:不填写
  • 目标区域:lan,如果你的AdGuard Home配置在主路由上,那么为此设备。
  • 目标端口:53,如果你的AdGuard Home使用的不是53端口,填写你的AdGuard Home监听的端口。
  • 操作:拒绝
  • 高级设置:
    • 地址族限制:IPv4和IPv6
最后保存即可。

nftables添加

nftables部分添加的思路和Luci部分相反,是通过nft防火墙只允许对应的网段访问53端口,其他不在配置规则范围之内的网段访问53端口,会被Drop丢弃。
IPv4部分
IPv6部分

🤗 总结归纳

因为在家庭网络环境下的AdGuard Home并不需要对公网提供DNS解析服务,所以大部分情况下监听地址并不需要使用0.0.0.0,暴露公网IPv6地址,尽管IPv6地址被扫到的几率很低,但是由于AdGuard Home提供的DNS不具备鉴权功能,容易造成安全隐患或成为DDoS放大器的帮凶。

📎 参考文章

 
💡
有关OpenWRT或者路由器安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~
OpenWRT限速插件推荐:QoS Mate尝试使用Grafana监控家庭网络状态(一)
Loading...