meshname

源代码 主页

启用代码
meshname:github.com/zhoreeq/coredns-meshname

meshname 允许解析去中心化 .meshname 域

背景

目前,解析 DNS 名称时需遵循严格的层级关系,其设计以中心化为原则。为了解决中心化问题,有几种办法,其中一种办法就是 Meshname。使用 Meshname 时,权威名称服务器的 IPv6 地址(负责 meshname 域)已经编码在域名中。因此,在需要解析 meshname 域时,第一件事就是从域名中解码出已编码的权威 DNS 服务器,然后将 DNS 请求发送到此 DNS 服务器。这样,解析过程就不需要传统地查询 DNS 服务器的层级关系,而只需连接到已编码 DNS 服务器即可解析 meshname 域。Meshname 域满足 Zooko 三角形中“去中心化”和“安全性”,但不能满足“可自由选择”的条件。但是,“安全性” 要求必须能安全地连接到 DNS 服务器。更改权威 DNS 服务器的 IP 地址需要更改域名。此外,meshname 域中只能指定一个权威 DNS 服务器。如果此服务器离线,则无法解析 meshname 域。可在 https://github.com/zhoreeq/meshname/blob/master/protocol.md 找到协议规范。

说明

meshname 插件允许解析去中心化 .meshname 域,即已解码权威服务器 IPv6 的域。这样做的好处是无需中心化实体来解析权威服务器。缺点是 meshname 名称可能看起来很丑陋。

语法

meshname

示例

meshname. {
  meshname
}