Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

基于DNS查询类型的EDNS分流,解决多运营商双栈网络环境中的准确性问题 #1860

Open
lonecale opened this issue Nov 21, 2024 · 1 comment

Comments

@lonecale
Copy link

需求应用场景
当前网络环境涉及两个不同的运营商,分别单独管理IPv4和IPv6连接(IPv4由一个运营商负责,IPv6由另一个运营商负责),在使用公共DNS服务(如阿里DNS)时,IPv6请求因运营商问题可能因识别不准确而导致不必要的路由绕行。为解决这一问题,我只能通过EDNS客户子网选项来手动指定不同的出口。

建议的方案
目前,我已使用mosdns按DNS查询类型(QTYPE)配置对应的EDNS

对于smartdns 暂时没发现可以根据QTYPE分流的办法,变相的想法是:
IPv4地址(A记录,QTYPE=1):通过smartdns配置一个端口,指定IPv4的EDNS客户子网。
IPv6地址(AAAA记录,QTYPE=28):通过smartdns配置另一个端口,指定IPv6的EDNS客户子网。
使用支持QTYPE分流请求的DNS工具,将不同类型的请求分发到相应端口。这样可以选择合适的出口运营商,从而避免请求的不必要绕路。

请问:
1.如果单独使用smartdns是否有更优的实现方式?并且可以保留双栈优选?
2.smartdns是否支持接收其他DNS传递的EDNS信息,并将其用于后续查询?

@lonecale lonecale changed the title 基于QTYPE的EDNS分流,解决多运营商双栈网络环境中的准确性问题 基于DNS查询类型的EDNS分流,解决多运营商双栈网络环境中的准确性问题 Nov 21, 2024
@PikuZheng
Copy link
Contributor

设blacklist为0.0.0.0/0,whitelist为::0/0
server ipv4上游 -whitelist -edns…
server ipv6上游 -blacklist -edns…

未测试,理论上应该是成立的

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants