· linux afp zeroconf avahi timemachine padavan

AFP + ZeroConf + TimeMachine на прошивке от Padavan'а

AFP - это протокол для обмена файлами от Apple, который используется для работы Time Machine (средства резервного копирования из состава macOS). В новых версиях macOS Apple пытается заменить AFP на SMB, но пока что возможно использование старого протокола.

Действия этого гайда подразумевают уже установленный Entware. Подробнее по установке Entware можно прочитать тут.

Все действия подразумевают выполнение от суперпользователя через SSH.

Установка и настройка afpd

afpd входит в состав netatalk. Для установки afpd введите:

opkg install netatalk

Конфигурационный файл для netatalk располагается в /opt/etc/afp.conf:

[Global]
afp listen = 192.168.0.1
hostname = router
;log file = /opt/var/log/afpd.log
;log level = default:info afpdaemon:debug uamsdaemon:info
uam list = uams_guest.so
uam path = /opt/lib/uams
mimic model = TimeCapsule6,106
hosts allow = 192.168.0.0/16
guest account = username

[DATA]
path = /media/DATA

[TimeMachine]
path = /media/TIMEMACHINE/
time machine = yes

Параметры, которые нужно обязательно проверить и изменить, по необходимости:

  • afp listen - внутренний адрес роутера.
  • hostname - имя роутера.
  • hosts allow - подсеть, которая может общаться с afpd.
  • guest account - имя аккаунта для гостевого доступа. Это должен быть системный пользователь, так как его будет использовать afpd для записи файлов.

В секциях, отличных от Global идет описание удаленных дисков. В примере выше DATA - это диск с данными и TimeMachine - диск для Time Machine.

Чтобы сделать какой-либо диск пригодным для использования с Time Machine необходимо в секцию, описывающую диск, добавить параметр time machine = yes.

После конфигурирования afpd перезапускаем его:

/opt/etc/init.d/S27afpd restart

Установка и настройка Avahi

Устанавливаем Avahi:

opkg install avahi-dnsconfd avahi-autoipd

Конфигурируем файл /opt/etc/avahi/avahi-daemon.conf:

[server]
#host-name=foo
domain-name=local
use-ipv4=yes
use-ipv6=no
check-response-ttl=no
use-iff-running=no
allow-interfaces=br0
enable-dbus=no

[publish]
publish-addresses=yes
publish-hinfo=yes
publish-workstation=yes
publish-domain=yes
#publish-dns-servers=192.168.1.1
#publish-resolv-conf-dns-servers=yes

[reflector]
enable-reflector=no
reflect-ipv=no

[rlimits]
#rlimit-as=
rlimit-core=0
rlimit-data=4194304
rlimit-fsize=0
rlimit-nofile=30
rlimit-stack=4194304
rlimit-nproc=3

Добавляем сервис afpd (файл /opt/etc/avahi/services/afpd.service):

<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
    <name replace-wildcards="yes">AFP on %h</name>
    <service>
        <type>_afpovertcp._tcp</type>
        <port>548</port>
    </service>
    <service>
        <type>_device-info._tcp</type>
        <port>0</port>
        <txt-record>model=MacPro</txt-record>
    </service>
</service-group>

Перезапускать avahi нет необходимости, изменения подтянутся “на лету”.

Теперь afpd будет доступен по сети и можно бэкапить систему через Time Machine на сетевой диск.

  • LinkedIn
  • Tumblr
  • Reddit
  • Google+
  • Pinterest
  • Pocket