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

能否添加一个本地域名ipv4优选的选项 #272

Open
wybb opened this issue Oct 23, 2024 · 3 comments
Open

能否添加一个本地域名ipv4优选的选项 #272

wybb opened this issue Oct 23, 2024 · 3 comments

Comments

@wybb
Copy link

wybb commented Oct 23, 2024

因为家用环境下,特别是pppoe拨号环境下, 因为重拨、路由器重启等情况,有可能导致新的ipv6前缀不能及时更新,或者新旧ipv6前缀同时生效,导致一些设备使用ipv6不能正常访问。目前贵项目只有提供“远程DNS ipv4”优选,能否提供一个“本地ipv4优选”和"白名单ipv4优选"的选项,仅需要在目前代码下少许改动就能提供更高的灵活性
目前我自己手工修改了/init.d/mosdns下的json生成代码query_is_local_domain实现了类似的逻辑暂时先用着,能否请sbwml在贵项目中直接融入此功能

@wybb
Copy link
Author

wybb commented Oct 23, 2024

dnsmasq的禁用ipv6解析的功能过于粗暴,mosdns的方案兼容性就好的多,但pppoe重新拨号、软路由更新重启后,手机设备经常会出现一些app不能正常打开图片之类莫名其妙的问题,其实就是ipv6地址导致的,但关于一些pt应用或者ipv6的ddns这些又需要ipv6域名地址,假如能够把"ipv4优选"更精细化到包括白名单、本地域名、ddns 这些不同的查询sequence中那就可以更多的适应不同的网络环境需求。

@sbwml
Copy link
Owner

sbwml commented Oct 23, 2024

  - tag: query_is_local_domain
    type: sequence
    args:
      - matches: qname $geosite_cn
+       exec: prefer_ipv4
        exec: $forward_local

你只需要切换到 自定义配置 模式,在国内域名查询序列中添加 exec: prefer_ipv4 即可实现,如果你需要的时默认配置文件 + 国内 DNS ipv4 首选。那么你可以在完成默认配置的情况下,拷贝 /var/etc/mosdns.json 文件内容,然后通过 https://www.bejson.com/json/json2yaml/ 网站将配置文件转为 yaml 格式,并在国内域名查询序列中添加 exec: prefer_ipv4,粘贴转换后的配置到自定义配置编辑器上即可。

@wybb
Copy link
Author

wybb commented Oct 23, 2024

自定义

我是把国内地址设置成ipv4优选,白名单双栈ip
添加了一个forward_local_upstream,将query_is_local_domain指向了forward_local_upstream,白名单还是指向forward_local
-tag: forward_local_upstream
type: sequence
args:
- exec: prefer_ipv4
- exec: $forward_local

  • tag: query_is_local_domain
    type: sequence
    args:
    - matches: qname $geosite_cn
    exec: $forward_local_upstream

当然如果能麻烦你把这个加入luci界面上的通用功能就更方便了
不过还是非常感谢

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