协议
DnsServerWatcher
在 fuchsia.net.name/server_watcher.fidl 中定义
提供一个挂起的获取接口,用于监视 DNS 服务器配置。
监视服务器
返回 DNS 服务器列表。
首次调用始终会返回当前服务器列表的快照;如果返回空列表,则会返回块的快照。后续调用将一直处于阻塞状态,直到服务器列表发生更改。
服务器列表会根据配置或网络拓扑变更、到期日期等随时间而变化。调用方必须重复调用 WatchServers
并将之前返回的任何 servers
替换为新条目,以避免使用过时或过期的条目。
当上一个调用处于待处理状态时,无法调用此方法。这样做会导致协议的服务器端关闭。
- 响应
servers
要用于 DNS 解析的服务器列表(按优先级顺序)。
请求
<空>
回复
名称 | 类型 |
---|---|
servers |
vector<DnsServer>
|
查找
在 fuchsia.net.name/lookup.fidl 中定义
提供名称和地址解析。
查找主机名
根据 IP 地址查找主机名。
请求
名称 | 类型 |
---|---|
addr |
fuchsia.net/IpAddress
|
回复
名称 | 类型 |
---|---|
payload |
Lookup_LookupHostname_Result
|
查询 IP
按主机名查找 IP 地址列表。
请求
名称 | 类型 |
---|---|
hostname |
fuchsia.net/Hostname
|
options |
LookupIpOptions
|
回复
名称 | 类型 |
---|---|
payload |
Lookup_LookupIp_Result
|
LookupAdmin
在 fuchsia.net.name/lookup_admin.fidl 中定义
提供对名称解析设置的管理控制。
GetDnsServer
获取当前用于解析名称查询的 DNS 服务器。
- 响应
servers
LookupAdmin
使用的服务器列表(按优先级顺序)。
请求
<空>
回复
名称 | 类型 |
---|---|
servers |
vector<fuchsia.net/SocketAddress>
|
SetDnsServer
将 DNS 服务器设置为 servers
- request
servers
:用于域名解析的服务器列表(按优先级顺序)。空列表意味着不使用任何服务器,并且名称解析可能会失败。servers
中的每个SocketAddress
都必须是有效的单播套接字地址。服务器列表中的重复信息将被删除。
- error 如果提供的地址中有任何一个不满足上述条件,则返回
ZX_ERR_INVALID_ARGS
。
请求
名称 | 类型 |
---|---|
servers |
vector<fuchsia.net/SocketAddress>
|
回复
名称 | 类型 |
---|---|
payload |
LookupAdmin_SetDnsServers_Result
|
结构
LookupAdmin_SetDnsServers_Response
在 fuchsia.net.name/lookup_admin.fidl 中定义
<空>
查找_查找主机名_响应
在 fuchsia.net.name/lookup.fidl 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
hostname |
fuchsia.net/Hostname
|
无默认值 |
查找_查找 Ip_响应
在 fuchsia.net.name/lookup.fidl 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
result |
LookupResult
|
无默认值 |
枚举
LookupError 严格
类型:uint32
在 fuchsia.net.name/lookup.fidl 中定义
查询操作错误。
名称 | 值 | 说明 |
---|---|---|
找不到 |
1 |
未找到此查询的结果。 |
临时 |
2 |
查找失败,但稍后可能会成功。例如,网络或 DNS 服务器可能无法访问。 |
无效的 ARGS |
3 |
由于参数无效(例如,主机名编码不正确或过长),查找失败。 |
INTERNAL_ERROR |
4 |
由于内部错误,查找失败。 |
表格
DhcpDnsServerSource
在 fuchsia.net.name/dns.fidl 中定义
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
source_interface |
uint64
|
发现此服务器的接口索引。 |
Dhcpv6DnsServerSource
在 fuchsia.net.name/dns.fidl 中定义
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
source_interface |
uint64
|
发现此服务器的接口索引。 |
DNS 服务器
在 fuchsia.net.name/dns.fidl 中定义
DNS 服务器配置。
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
address |
fuchsia.net/SocketAddress
|
必须提供服务器的地址。 |
2 |
source |
DnsServerSource
|
此服务器的配置来源。默认为 fuchsia.net.name/DnsServerSource.static_source。 |
LookupIpOptions 类
在 fuchsia.net.name/lookup.fidl 中定义
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
ipv4_lookup |
bool
|
包含 IPv4 结果。 如果未设置,则解释为 false。 |
2 |
ipv6_lookup |
bool
|
包含 IPv6 结果。 如果未设置,则解释为 false。 |
3 |
sort_addresses |
bool
|
按优先顺序对地址进行排序。 正确,系统会根据 RFC 6724 第 6 节中所述的目的地地址选择方式对地址进行排序。 如果未设置,则解释为 false。 |
4 |
canonical_name_lookup |
bool
|
包含规范名称。 如果未设置,则解释为 false。 添加数量:12
|
LookupResult
在 fuchsia.net.name/lookup.fidl 中定义
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
addresses |
vector<fuchsia.net/IpAddress>[1024]
|
通过查询生成的 IP 地址。 如果请求了排序,则按偏好设置顺序对 |
2 |
canonical_name |
fuchsia.net/Hostname
|
所请求主机名的规范名称。 仅在请求时提供。 添加数量:12
|
NdpDnsServerSource
在 fuchsia.net.name/dns.fidl 中定义
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
source_interface |
uint64
|
发现此服务器的接口索引。 |
StaticDnsServerSource
在 fuchsia.net.name/dns.fidl 中定义
序数 | 字段 | 类型 | 说明 |
---|
联合
DnsServerSource 严格
在 fuchsia.net.name/dns.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
static_source |
StaticDnsServerSource
|
该服务器通过 fuchsia.net.name/LookupAdmin.SetDefaultServers 进行静态配置。 |
2 |
dhcp |
DhcpDnsServerSource
|
服务器是通过 DHCPv4 发现的。 |
3 |
ndp |
NdpDnsServerSource
|
服务器是通过 NDP 路由器通告发现的。 |
4 |
dhcpv6 |
Dhcpv6DnsServerSource
|
服务器是通过 DHCPv6 发现的。 |
LookupAdmin_SetDnsServers_Result 严格
在 fuchsia.net.name/lookup_admin.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
LookupAdmin_SetDnsServers_Response
|
|
2 |
err |
zx/Status
|
Lookup_LookupHostname_Result 严格
在 fuchsia.net.name/lookup.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Lookup_LookupHostname_Response
|
|
2 |
err |
LookupError
|
Lookup_LookupIp_Result 严格
在 fuchsia.net.name/lookup.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Lookup_LookupIp_Response
|
|
2 |
err |
LookupError
|
常量
名称 | 值 | 类型 | 说明 |
---|---|---|---|
MAX_ADDRESSES |
1024
|
uint16 |
一次查询可以返回的地址数上限。 |