0%

用FreeBSD架设MacOS专用的AFP文件服务器

做文件服务,一般是用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,开源免费的。

  1. 启用root超级账户
1
# su root
  1. 安装netatalk
    我们采用pgk包来安装,posts的安装方式只能叹息了,网路环境太恶略,不知道什么资源会被咔嚓。

    1
    # pkg install netatalk

    就这么简单,安装时会跟着安装上nns_mdns和avahi两个服务。

  2. AFP配置,有点类似Samba的配置。

    1
    # ee /usr/local/etc/afp.conf

    或者

    1
    # vi /usr/local/etc/afp.conf
  3. 可你喜欢什么样的编辑器。我们在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的都能看懂。

  4. 设置开机启动AFP文件服务。

    1
    # ee /etc/rc.conf

    在里面添加如下内容

    1
    2
    3
    4
    bus_enable="YES"
    avahi_daemon_enable="YES"
    avahi_dnsconfd_enable="YES"
    netatalk_enable="YES"
  5. 好像没有6。

三、如果你启用了防火墙,比如是IPFW防火墙,还需要加入如下防火墙规则。

1
2
3
4
# ipfw add 06000 allow tcp from 10.211.55.0/24  to  me 548,4700          // 改成你自己的内网IP
# ipfw add 06100 allow tcp from me 548,4700 to 10.211.55.0/24
# ipfw add 06200 allow udp from 10.211.55.0/24 to any 5353,12688
# ipfw add 06300 allow udp from any 5353,12688 to 10.211.55.0/24

AFP使用tcp548、udp4700端口,avahi-daem 使用udp 5353 和12688端口。

四、在MacOS上链接APF服务器

按花键加k键
添上你的服务器ip地址,比如:afp://172.16.77.123