做文件服务,一般是用Samba,不过在MacOS系统上链接Samba,就没了MacOS超牛X的感觉。那么我们请出苹果的AFP文件服务。
AFP文件服务,在一些成熟的NAS中都会有,比如FreeNAS,群晖那个我不清楚。
用FreeNAS系统做文件服务器可以做磁盘阵列,不过我比较喜欢ZFS文件系统做阵列,ZFS比APFS要牛X得多。所以我直接请出FreeNAS他爸爸FreeBSD。
FreeBSD堪称坚如磐石的操作系统,这个确实。废话不多说了,下面开始。
一、安装FreeBSD
系统选用FreeBSD10之后的版本,原生支持ZFS文件系统,安装的时候当然选择ZFS文件系统。
因为不是系统安装教程,此处略去五千字,包括ZFS做磁盘阵列……
二、实战AFP
Freebsd上的AFP文件服务器程序有netatalk,开源免费的。
- 启用root超级账户
1 | su root |
安装netatalk
我们采用pgk包来安装,posts的安装方式只能叹息了,网路环境太恶略,不知道什么资源会被咔嚓。1
pkg install netatalk
就这么简单,安装时会跟着安装上nns_mdns和avahi两个服务。
AFP配置,有点类似Samba的配置。
1
# ee /usr/local/etc/afp.conf
或者
1
# vi /usr/local/etc/afp.conf
可你喜欢什么样的编辑器。我们在afp.conf里写入配置,下面是个例子。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28;
; Netatalk 3.x configuration file
;
[Global] // 通用配置
; Global server settings
uam list = uams_dhx.so uams_dhx2.so uams_guest.so
guest account = user1
max connections = 50
mimic model = RackMac
vol dbnest = yes
; [Homes]
basedir regex = /home
; [My AFP Volume]
; path = /home
[afp]
path = /home // AFP文件服务目录设置
valid users = wheel,xxx,root // 设置用户或用户组
rwlist = username // 以为为文件读写权限等设置
cnid dev = no
file perm = 644
directory perm = 755
umask = 000
[My Time Machine Volume] // 当然可以用AFP做时间机器的存储单元了
path = /path/to/backup
time machine = yes捣鼓过Samba的都能看懂。
设置开机启动AFP文件服务。
1
ee /etc/rc.conf
在里面添加如下内容
1
2
3
4bus_enable="YES"
avahi_daemon_enable="YES"
avahi_dnsconfd_enable="YES"
netatalk_enable="YES"好像没有6。
三、如果你启用了防火墙,比如是IPFW防火墙,还需要加入如下防火墙规则。
1 | ipfw add 06000 allow tcp from 10.211.55.0/24 to me 548,4700 // 改成你自己的内网IP |
AFP使用tcp548、udp4700端口,avahi-daem 使用udp 5353 和12688端口。
四、在MacOS上链接APF服务器
按花键加k键
添上你的服务器ip地址,比如:afp://172.16.77.123