Skip to content

[Feature request] 再谈添加删除返回结果中的cname域名--已试编译,需要的可以测试 #895

@lengfwong

Description

@lengfwong

希望添加的功能:删除匹配特定列表域名第一次查询返回结果中的cname域名。

之前有大神提过这个功能,详见#256
主要因为在linux环境下,分流或者prefer_ipv4时,第二次查询的cname 不在list里,造成功能失效。

Linux DNS 查询行为:
Linux 系统中常用的 DNS 解析器(如 glibc 的 getaddrinfo 或 systemd-resolved)在查询域名时,通常会按以下步骤进行:
第一次查询 A 记录(IPv4 地址)。
如果返回包含 CNAME 记录(别名记录),解析器会提取 CNAME 指向的目标域名。
第二次查询 AAAA 记录(IPv6 地址)时,使用的是 CNAME 指向的目标域名,而不是原始输入的域名。
这种行为是 Linux DNS 解析器设计的标准行为,遵循 RFC 1034 和 RFC 1035 的 DNS 规范。这种行为的根本原因在于 Linux 系统通常会更积极地遵循 DNS 协议中的CNAME(Canonical Name)记录,解析器会将后续查询基于 CNAME 的目标域名继续进行,以确保查询的是实际的资源记录。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions