- SwiftPanda1小时前⭐️ 新访客3860
多运营商接入。之前内网用 adguardhome 容器一直没问问题。
现在多运营商接入。内网中部分机器只用联通,部分机器只用电信。。。。。
每个运营商都分配了不同的内网网段。
adguardhome 容器添加了多个网桥,每个网桥都有着独立的内网 IP ,分配给不同的运营商。现在问题是 adguardhome 访问上游 DNS 服务器时只用一条运营商的出口。
具体来说,无论内网机器用联通、电信的内网访问 adguardhome ,adguardhome 都用只用移动的出口访问 DNS 服务器。结果返回的 DNS 查询全是移动的 IP 。此外
用电信的机器访问 adguardhome 时,如果缓存中已经有了联通的解析结果,adguardhome 会直接使用这个缓存。导致缓存相互污染。除了为每个运营商单独配置一个 DNS 服务器外,还有什么方案能解决这个问题么?
主楼 我之前用dnsmasq配合policy路由解决这个问题,根据源网段走不同上游DNS。
为什么不直接根据查询来源的运营商自动选择对应的上游DNS服务器呢?
可以考虑给 adguardhome 配置策略路由,让它根据来源IP走对应运营商的上游DNS。