多运营商环境下,自建内网 DNS 有什么好的方案么?

6 小时 48 分钟前
 Akasoent
多运营商接入。之前内网用 adguardhome 容器一直没问问题。
现在多运营商接入。内网中部分机器只用联通,部分机器只用电信。。。。。
每个运营商都分配了不同的内网网段。
adguardhome 容器添加了多个网桥,每个网桥都有着独立的内网 IP ,分配给不同的运营商。

现在问题是 adguardhome 访问上游 DNS 服务器时只用一条运营商的出口。
具体来说,无论内网机器用联通、电信的内网访问 adguardhome ,adguardhome 都用只用移动的出口访问 DNS 服务器。结果返回的 DNS 查询全是移动的 IP 。

此外
用电信的机器访问 adguardhome 时,如果缓存中已经有了联通的解析结果,adguardhome 会直接使用这个缓存。导致缓存相互污染。

除了为每个运营商单独配置一个 DNS 服务器外,还有什么方案能解决这个问题么?
1418 次点击
所在节点    DNS
22 条回复
Coolsir
6 小时 19 分钟前
这种问题直接问 AI
Akasoent
6 小时 11 分钟前
@Coolsir
AI 已读乱回
duoluo1234
6 小时 4 分钟前
让 ai 修,或者自己创建分流组,网桥没啥用
xdzhang
6 小时 1 分钟前
我记得爱快有个多线 DNS 另外 smartdns 有个多线 DNS 可以根据返回速度选择 dns 具体你可以尝试下
v1
5 小时 59 分钟前
每个运营商单独配置一个 adguardhome 实列是最优最省事的。🎉
Akasoent
5 小时 52 分钟前
@xdzhang
这个不行,返回最快的不一定是线路对的。smartdns 同样解决不了缓存相互污染的问题。
Akasoent
5 小时 50 分钟前
@v1
就是不想为每个运营商单独配置。才看看有没有别的方案。
改成这样不但要维护几个 dns 服务器,一堆防火墙和路由表还要重写。
zhcode
5 小时 43 分钟前
https://github.com/svenshi/oxidns
根据机器 ip 做分流,使用匹配器 matcher 匹配 client_ip
https://oxidns.org/plugin-reference/matcher/request#client_ip

例如 10.0.0.100-10.0.0.150 走移动的上游 dns ,10.0.0.151-10.0.0.200 走电信的上游 dns
duoluo1234
5 小时 32 分钟前
我 ros ,靠目标 ip 走哪个出口
Akasoent
5 小时 31 分钟前
@zhcode
大致扫了一眼,看起来还行,但文档中没有提 IPv6 环境下的 client_ip 配置。
IPv6 前后缀都是动态的,没法手动写死。不打算用 Nat6 方案。
找时间折腾下看看。
Akasoent
5 小时 28 分钟前
@duoluo1234
大兄弟,你完全没有理解问题所在。
举个例子,假设目标 IP 是 223.5.5.5 你说该走哪个出口?
v1
5 小时 23 分钟前
@Akasoent 😂祝你好运。我是折腾了一圈之后发现多实例更好维护,什么防火墙路由表都是小事情,后期出现波动卡顿,要排查测试的时候就知道”多么痛的领悟“了。
Akasoent
5 小时 12 分钟前
@v1
不是的,我这线路配置比较复杂,多条宽带公用一个路由器,内网有 VLan 交换机。V4 、V6 防火墙+路由表超过 150 条规则,当时学习这玩意的时候什么各种线路冗余、劫持所有内网 DNS 请求全部到自建的 DNS 服务器。。。。。一堆规则全上了,我现在都看不懂自己当时写了什么😂。。。。。。
sleepm
5 小时 11 分钟前
客户端 标识符可以使用 cidr
可以设置上游缓存
hubaq
5 小时 6 分钟前
新建客户端 里面有一个上游 DNS 配置,你可以联通机器走联通 DNS ,电信机器走电信 DNS ,然后路由层面联通和电信 DNS 分别走对应的运营商出口出去
adoal
5 小时 2 分钟前
是不是可以把只用电信的接到电信内网,只用联通的接到联通内网,然后两边的路由器之间再连一个/30 的小网段,做静态路由实现内网间互通。这样各方都简单。
Akasoent
4 小时 57 分钟前
@hubaq
是个办法。
但这种情况下只能为联通,电信设置不同的 DNS 服务器。如果都用 223.5.5.5 依旧有问题。
importcode
4 小时 53 分钟前
部署多个 adguardhome 监听在不同的 ip 上 ,分别给联通与电信使用不就好了么
duoluo1234
4 小时 45 分钟前
用标识符,cidr ,和 dns 没关系,他只解析,外加 ecs 那更稳了
SenLief
3 小时 44 分钟前
adg 支持不同网段配置独立的 dns 解析,把局域网不同服务商的网段区分一下 cidr ,需要开启独立缓存。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1255844

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX