在客户端上两次看到 Ubuntu Server 19.04 - 可能是 Avahi mDNS 问题

在客户端上两次看到 Ubuntu Server 19.04 - 可能是 Avahi mDNS 问题

刚刚设置了一台运行 Ubuntu Server 19.04 和 Samba 4.10.0 的 Mac Mini。在 macOS Mojave 客户端上,我看到了两次服务器 - 一次是带有正确 Mac Mini 图标的“Mac Mini”(漂亮主机名),一次是带有问号图标的“mac-mini”(静态主机名)。

我在 Avahi 中明确为前者设置了一个服务。似乎有东西在自动注册第二个。

这是我的 /etc/avahi/avahi-daemon.conf(认为 disallow-other-stacks 会阻止 systemd-resolve 执行其操作):

[server]
deny-interfaces=softether
disallow-other-stacks=yes
ratelimit-interval-usec=1000000
ratelimit-burst=1000

/etc/avahi/services/timemachine.service

<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
 <name replace-wildcards="no">Mac Mini</name>
 <service>
   <type>_smb._tcp</type>
   <port>445</port>
 </service>
 <service>
   <type>_device-info._tcp</type>
   <port>0</port>
   <txt-record>model=Macmini</txt-record>
 </service>
 <service>
   <type>_adisk._tcp</type>
   <txt-record>sys=waMa=0,adVF=0x100</txt-record>
   <txt-record>dk0=adVN=Backup,adVF=0x82</txt-record>
 </service>
 <service>
   <type>_afpovertcp._tcp</type>
   <port>548</port>
 </service>
 <service>
   <type>_ssh._tcp</type>
   <port>22</port>
 </service>
 <service>
   <type>_sftp-ssh._tcp</type>
   <port>22</port>
   <txt-record>path=/home/someone</txt-record>
   <txt-record>u=someone</txt-record>
 </service>
</service-group>

/etc/samba/smb.conf 的相关部分(注意:不指定 fruit:model,因为它没有显示正确的图标,而且我希望 Avahi 无论如何都能设置它):

[global]
workgroup = WORKGROUP
server string = %h server (Samba, Ubuntu)
server role = standalone server
fruit:time machine = yes
ea support = yes
disable netbios = yes
disable spoolss = yes
allow trusted domains = no
load printers = no
mdns name = mdns

以下是 avahi-browse 看到的我不想要的内容:

# avahi-browse -a | grep mac-mini
+    lan IPv6 mac-mini                                      Apple TimeMachine    local
+    lan IPv4 mac-mini                                      Apple TimeMachine    local
+    lan IPv6 mac-mini                                      Microsoft Windows Network local
+    lan IPv4 mac-mini                                      Microsoft Windows Network local
+    lan IPv6 mac-mini                                      _device-info._tcp    local
+    lan IPv4 mac-mini                                      _device-info._tcp    local
+     lo IPv4 mac-mini                                      Microsoft Windows Network local
+     lo IPv4 mac-mini                                      _device-info._tcp    local
+     lo IPv4 mac-mini                                      Apple TimeMachine    local

以下是我想要的显示方式:

# avahi-browse -a | grep "Mac Mini"
+    lan IPv6 Mac Mini                                      SSH Remote Terminal  local
+    lan IPv4 Mac Mini                                      SSH Remote Terminal  local
+     lo IPv4 Mac Mini                                      SSH Remote Terminal  local
+    lan IPv6 Mac Mini                                      Apple TimeMachine    local
+    lan IPv4 Mac Mini                                      Apple TimeMachine    local
+     lo IPv4 Mac Mini                                      Apple TimeMachine    local
+    lan IPv6 Mac Mini                                      _device-info._tcp    local
+    lan IPv4 Mac Mini                                      _device-info._tcp    local
+     lo IPv4 Mac Mini                                      _device-info._tcp    local
+    lan IPv6 Mac Mini                                      SFTP File Transfer   local
+    lan IPv4 Mac Mini                                      SFTP File Transfer   local
+     lo IPv4 Mac Mini                                      SFTP File Transfer   local
+    lan IPv6 Mac Mini                                      Apple File Sharing   local
+    lan IPv4 Mac Mini                                      Apple File Sharing   local
+     lo IPv4 Mac Mini                                      Apple File Sharing   local
+    lan IPv6 Mac Mini                                      Microsoft Windows Network local
+    lan IPv4 Mac Mini                                      Microsoft Windows Network local
+     lo IPv4 Mac Mini                                      Microsoft Windows Network local

对于动态注册 mac-mini 的服务以及我使用 Avahi 服务定义明确注册的服务,您有什么想法吗?

答案1

从 Ubuntu 17.10 开始,现有 samba 版本将使用 mDNS 自动将其服务器的存在“注册”到网络的其余部分。无需在 /etc/avahi/services/xxx.service 文件中执行此操作。

由于您出于特殊原因这样做,我建议在 samba 中禁用该功能:

编辑 /etc/samba/smb.conf 并在该行下方workgroup = WORKGROUP添加以下内容:

multicast dns register = No

您可以尝试重新启动 smbd(sudo service smbd restart),但我认为您必须重新启动系统。

相关内容