ZBLOG

dns-sd 如何添加63.72.16.172.in-addr.arpa: type PTR, class IN, cache flush, Android-2.local Name: 63.72.16.172.in-addr.arpa Type: PTR (12) (domain name PoinTeR) .000 0000 0000 0001 = Class: IN (0x0001) 1... .... .... .... = Cache flush:...

DNS-SD(DNS Service Discovery)通常与mDNS(Multicast DNS)结合使用,用于在局域网中发现服务和设备。要添加一个反向DNS记录(PTR记录),你需要确保你的环境支持这种功能,并且你能够访问相应的DNS服务器或mDNS设置。

如果你想在本地网络中通过mDNS发布一个服务并关联到特定的IP地址,你可以按以下步骤进行操作:

1. 确保环境准备

  • 确保你的系统支持mDNS/DNS-SD。例如,Linux系统上可以使用avahi,macOS自带支持,Windows可以安装Bonjour等。

2. 使用 dns-sd 工具发布服务

在终端中运行命令以注册服务。例如,如果你想将一个服务注册为 Android-2.local,你可以这样做:

dns-sd -R "Android-2" "_http._tcp" "local." 80 path=/index.html

这个命令会注册一个HTTP服务,但这里没有直接涉及PTR记录,因为它是由mDNS自动管理的。

3. 使用 Avahi 发布 PTR 记录

如果你的Linux环境使用Avahi,可以创建一条服务文件,比如 /etc/avahi/services/android-2.service,内容如下:

<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group [
<!ENTITY hello SYSTEM "file:///etc/hostname">
]>
<service-group>
    <name replace-wildcards="yes">%h</name>
    <service>
        <name>Android-2</name>
        <service-type>_http._tcp</service-type>
        <port>80</port>
        <txt-record>path=/index.html</txt-record>
    </service>
</service-group>

然后重启Avahi来使其生效:

sudo systemctl restart avahi-daemon

4. 验证服务是否可用

你可以使用以下命令检查是否成功发布了服务:

dns-sd -B _http._tcp local.

这将列出所有在本地网络中广播的HTTP服务,包括 Android-2.local

注意事项

  1. 反向解析: 正常情况下,对于PTR记录,客户端会发起反向查询,但mDNS会处理这些查询,所以你不需要手动干预。

  2. TTL: 对于大多数小型网络,这个值通常不是手动设置的,而是由mDNS实现来决定有效性。

  3. Cache Flush: 在 mDNS 的上下文中,这个概念可能不适用,因为它主要用于局部网络中的发现和配置,不像标准的互联网 DNS 那样具有复杂性。

如有其他具体问题或者对上述某个步骤有疑问,请随时告知!


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=20023

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?