ubuntu上开启mdns/dns-sd

  • 开启mdns客户端
    编辑/etc/nsswitch.conf 文件
    修改hosts行为以下内容
    hosts: files mdns_minimal [NOTFOUND=return] dns mdns
    修改后立即生效
  • 开启mdns服务端
    方法1:
    /etc/systemd/resolved.conf
    systemd restart systemd-resolved
    基于resolved配置静态dnssd服务:https://manpages.ubuntu.com/manpages/jammy/man5/systemd.dnssd.5.html
    反注释MulticastDNS=yes
    方法2:
    apt-get install avahi-daemon
    systemctl restart avahi-daemon
    基于avahi-daemon配置静态dnssd服务:https://linux.die.net/man/5/avahi.service
    resolved和avahi-daemon不能同时使用,虽然avahi-daemon很久没有更新了,但是cpus和libapache2-mod-dnssd还是使用的avahi-daemon的dbus接口,resolved的dbus接口尚没有应用支持。建议使用avahi-daemon.

使用mdns/dns-sd时必须在/etc/resolv.conf中把dns服务器设为127.0.0.53

参考:
https://gist.github.com/jimmydo/e4943950427234408a1aaa2d7beda8b6

发表回复