只需设置一个运行 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 服务定义明确注册的内容有什么想法吗?
从 Ubuntu 17.10 开始,存在的 samba 版本将使用 mDNS 自动将其服务器的存在“注册”到网络的其余部分。在 /etc/avahi/services/xxx.service 文件中不需要这样做。
由于您这样做是出于特殊原因,我建议在 samba 中禁用该功能:
编辑 /etc/samba/smb.conf 并在该
workgroup = WORKGROUP
行下方添加以下内容:您可以尝试重新启动 smbd ( sudo service smbd restart ),但我认为您必须重新启动系统。