-
请问一下,当一个域名匹配并通过本地的 forward 插件转发查询获取到一条 CNAME 记录时,该 CNAME 记录的域名还会从同一个 forward 插件转发请求吗? 我将 mosdns 当作远程 / 本地域名分流器使用,最近发现
mosdns 配置如下log:
level: warn
file: ""
plugin:
- tag: main_server
type: server
args:
entry: main_sequence
server:
- protocol: udp
addr: 127.0.0.1:1053
- protocol: tcp
addr: 127.0.0.1:1053
- tag: main_sequence
type: sequence
args:
exec:
- _default_cache
- if:
- direct_domain
- "!_query_is_common"
exec:
- forward_local
- _end
- forward_remote
- tag: forward_local
type: forward
args:
upstream:
- addr: 119.29.29.29:53
- tag: forward_remote
type: forward
args:
upstream:
- addr: 8.8.8.8:53
- addr: 8.8.4.4:53
- addr: 1.1.1.1:53
- tag: direct_domain
type: query_matcher
args:
domain:
- ext:/usr/share/v2ray/geosite.dat:cn
- ext:./direct.list
|
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 11 replies
-
你需要解析后做 IP 分流:(两种任选一种)
匹配:
|
Beta Was this translation helpful? Give feedback.
-
我这里测试了一下
成功匹配本地域名,然后由本地服务器解析。 你开 debug log 就能看到处理流程了。
不是很明白你的意思。你可能了理解错了 CNAME 的作用?。🤔 |
Beta Was this translation helpful? Give feedback.
-
确认是
把
以上分别为 已知当 mosdns 作为 systemd-resolved 上游时,systemd-resolved 向 mosdns 查询到 CNAME 记录会重新发起新的查询,无法直接从 mosdns 处获得最终的 A / AAAA 记录。不知道为何如此与如何避免。 |
Beta Was this translation helpful? Give feedback.
-
我刚好需要这样的行为:某个域名使用某些cdn的cname的时候 使用这个cname的解析结果。 其起因是一些国内网站会使用阿里云的全球加速,但是这些网站可能不在geosite:cn里面,这样的话默认如果给这些域名使用国外dns解析 ,吐出来的必然的国外IP 而这些网站的cname都是使用的阿里云的昆仑系列的cname,我尝试给这些cname指定使用国内的dns解析,无效。mosdns会使用 主域名而非cname的解析规则并且直接返回结果。。。 我也不想使用解析后分流,因为这样会向国内dns泄漏我的解析内容。。 |
Beta Was this translation helpful? Give feedback.
确认是
systemd-resolved
搞事了,在 NetworkManager.conf 中添加把
systemd-resolved
换成dnsmasq
就不再有这个现象