Samba 4 + ZeroConf + TimeMachine на прошивке от Padavan’а
Настройка Samba4
Запиливаем в /etc/samba/smb.conf
:
[global]
netbios name = fileserver
server string = FILESERVER
workgroup = WORKGROUP
guest account = nobody
security = user
map to guest = Bad Password
guest ok = yes
timestamp logs = no
preserve case = yes
short preserve case = yes
log level = 3
syslog = 0
smb encrypt = disabled
fruit:aapl = yes
[Time Capsule]
path = /data/timemachine
browseable = Yes
vfs objects = catia fruit streams_xattr
read only = No
durable handles = yes
kernel oplocks = no
kernel share modes = no
posix locking = no
ea support = yes
inherit acls = yes
fruit:time machine = yes
fruit:aapl = yes
fruit:advertise_fullsync = true
spotlight = yes
**Если вы используете ZFS - вам нужно правильно прокидывать ‘‘xattr’’. **
После правки конфига - перезагрузите smbd
и nmbd
:
systemctl restart smbd nmbd
**Не рекомендую размещать шару для Time Machine (и вообще любые шары) на контроллере AD (Samba AD DC который), так как при обновлении или тюнинге могут возникнуть всякого рода непонятки или же недоразумения (у моего коллеги один раз через “что-то вроде DFS” шара начала синхронизироваться с резервным сервером и, естественно, положила всю сетку). **
Zeroconf
Он же avahi, он же mDNS, он же бич сетей в руках неумелых админов. Запиливаем для него такой конфиг в /etc/avahi/services/timemachine.service
:
<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name replace-wildcards="yes">fileserver</name>
<service>
<type>_smb._tcp</type>
<host-name>fileserver.local</host-name>
<port>445</port>
</service>
<service>
<type>_adisk._tcp</type>
<txt-record>sys=waMa=0,adVF=0x100</txt-record>
<txt-record>dk0=adVN=Time Capsule,adVF=0x82</txt-record>
<host-name>fileserver.local</host-name>
</service>
</service-group>
После сохранения рестарт не нужен, Avahi подтягивает изменения конфигов сервисов автоматически.
Для пущего эффекта делаем так, чтобы Avahi всегда знал, где находится fileserver. Для этого добавляем информацию в /etc/avahi/hosts
:
192.168.1.250 fileserver.local
Синтаксис абсолютно идентичен файлу /etc/hosts
.
Название шары в smb.conf
должно совпадать с параметром adVN
в конфиге сервиса для Avahi! В противном случае Time Machine на вашем маке не увидит Time Capsule!