NAS之旅--基于centos7搭建netatalk Mac TimeMachine 备份与共享服务器

Netatalk 是一个免费开源的 AppleTalk 通信协议的实现,Linux 或者 BSD 系统通过它可以充当 Mac 的文件服务器 (AppleShare File Server, 网络协议是 AFP)、AppleTalk 路由、打印服务器等。本文通过安装 netatalk 软件,在centos 上实现当 Time Machine 的备份与共享服务器。

1、基础环境介绍

HP micro server gen8
centos7.2 X64 mini install
netatalk-3.1.10.tar.bz2
avahi (Avahi 是 Apple’s Zeroconf 协议的开源实现,实现类似 Bonjour 的功能,它可以让你在 Mac 系统里自动发现你的 Linux 计算机)
依赖包:gcc、berkeley db library 、make
关闭**防火墙与selinux**。

2、下载netatalk源码包

https://sourceforge.net/projects/netatalk/
https://github.com/Netatalk/Netatalk

3、编译与安装

tar -xvjf netatalk-3.1.10.tar.bz2
cd netatalk-3.1.10
./configure --with-init-style=redhat-systemd --with-shadow

make 
make install

默认安装路径在/usr/local
4、配置afp.conf
从netatalk 3 版本开始只有一个配置文件afp.conf

vi /usr/local/etc/afpd.conf

[Global]
; Global server settings
 mimic model = TimeCapsul
 log level = default:warn
 log file = /var/log/afpd.log
 hosts allow = 192.168.1.0/24 #允许访问的主机地址
 uam list = uams_clrtxt.so uams_guest.so #必须,认证方式,目前只调通了guest模式
 guest account = nas #必须,guest对应的linux系统用户

[TimeMachine]
  path = /nas
  time machine = yes #必须,yes才支持mac timemachine
  rwlist = nas #必须,设置nas 读写权限
  force user = nas  #必须,用户映射
  vol size limit = 100000  #限制贡献volume大小为100GB,单位为MB。

5、配置avahi
如果想让mac自动发现linux AFP服务,还需要安装avahi软件,并启动avahi-daemon服务

yum install avahi
vi /etc/avahi/services/afpd.service 
<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name replace-wildcards="yes">%h</name>
<service>
<type>_afpovertcp._tcp</type>
<port>548</port>
</service>
<service>
<type>_device-info._tcp</type>
<port>0</port>
<txt-record>model=TimeCapsule</txt-record>
</service>
</service-group>

6、启动netatalk、avahi-daemon服务

systemctl start avahi-daemon
systemctl start netatalk
systemctl enable avahi-daemon
systemctl enable netatalk

netstat -tulpn
查看netatalk avahi端口是否启动监听,afp监听548端口

7、MAC挂在共享volume
finder--》go--》connect to-->browser,就可以看到已共享的linux服务器hostname,选择guest登录
或者添加链接afp://192.168.1.X

8、timemachine备份

在系统配置里面选择timemachine,找到对应的linux服务器,进行备份。

相关推荐