[NAS之旅]-基于Centos7搭建Netatalk为Windows增加AFP协议-【Mac与Windows进行文件共享的最佳方案】


版权声明:原创文章,未经博主允许不得转载

原创发布于我的博客 www.81pla.cn

前言

通过这篇文章,你将了解以下几点

一、为何采用此方案

二、新建Centos7虚拟机及相关配置 (博主使用的是HyperV)  【选看】

三、Netatalk的安装与配置

四、Avahi的安装与配置

五、使用cifs-utils将Windows的共享磁盘挂载到Centos内

六、启动Netatalk、Avahi并设置开机启动

七、(补充用途) 搭建TimeMachine备份服务器



一、为何采用此方案


【背景】 博主NAS使用的系统是Windows server 2016.由Windows来维护硬盘存储池。使用SMB与Mac进行文件共享。但是在Mac上使用SMB最多只能获得500M左右的速度,无法跑满1000M,很是烦躁!经过查阅后发现mac对smb的支持不完美,只能想办法为Windows增加苹果的AFP协议了。。。。

            

            首先搜索到的是Acronis Files Connect这个软件,可以为Windows增加AFP协议,但是看到价格...3个客户端授权居然要800美元....不限制客户端的授权要7000美元。。算了我还是自力更生吧。

          

           继续搜索,发现了Netatalk。Netatalk 是一个免费开源的 AppleTalk 通信协议的实现,Linux 或者 BSD 系统通过它可以充当 Mac 的文件服务器 (AppleShare File Server, 网络协议是 AFP)、AppleTalk 路由、打印服务器等。链接:http://netatalk.sourceforge.net/ 

  


【方案】通过万兆内部交换机,将Windows的SMB 挂载到Linux。然后使用Netatalk将挂载的SMB目录使用AFP协议提供给Mac!

            Boom...即可享受千兆满速的NAS体验。 


【图解】[NAS之旅]-基于Centos7搭建Netatalk为Windows增加AFP协议-【Mac与Windows进行文件共享的最佳方案】_第1张图片



二、新建Centos7虚拟机及相关配置(博主使用是HyperV)  【选看】


【提示】如果您不是由HyperV创建的虚拟机(比如ESXI.VM等)或者您使用实体机(比如软路由)。
            请确保您拥有一张全双工可以上1Gbps的网卡(同时出入站可以达到1Gbps)。
            博主使用HyperV创建一个10Gbps的虚拟交换机来中转
 
【HyperV用户】1.创建一个虚拟机跑LINUX,这里使用的是Centos7.

                      成功安装centos后,安装HyperV LINUX增强驱动,保证网卡的性能

                      驱动下载地址https://www.microsoft.com/en-us/download/details.aspx?id=55106

                      驱动安装方式请参考文档 Linux Integration Services.pdf

                     2.打开《Hyperv管理器》--《虚拟交换机管理器》--《创建一个 内部 虚拟交换机》

                     [NAS之旅]-基于Centos7搭建Netatalk为Windows增加AFP协议-【Mac与Windows进行文件共享的最佳方案】_第2张图片

                   3. 同时将创建的虚拟网卡的网络类型,改为【专用网络】,这样才可以使用文件共享功能

                    



三、Netatalk的安装与配置


一)基础依赖
       A.  Berkeley DB. 版本》= 4.6.   由于yum源里面没有,需要自己下载源码编译
            安装教程参考 
        B.  Libgcrypt
yum install libgcrypt

二)下载Netatalk源码包
目前最新版本3.1.11
https://sourceforge.net/projects/netatalk/files/netatalk/

三)编译与安装
tar -xzvf netatalk-3.1.11.tar.gz
cd netatalk-3.1.11
./configure --with-init-style=redhat-systemd --with-bdb=/usr/local/berkeleydb

make 
make install
     ./configure -h 查看更多编译帮助

四)配置afp.conf

    位置在/usr/local/etc/afp.conf

vi /usr/local/etc/afp.conf
    首先配置Netatalk,由于篇幅和需求问题,我这儿只列出简单配置,详细的请参考官方文档——> 传送门

[Global]
 mimic model = Xserve                #这个是指定让机器在你Mac系统中显示为什么的图标
 log level = default:warn
 log file = /var/log/afpd.log
 hosts allow = 10.0.0.0/24           #允许访问的主机地址,根据需要自行修改
 hostname = DUKE-NAS-AFP             #主机名,随你喜欢
 uam list = uams_dhx.so uams_dhx2.so #默认认证方式 用户名密码登录 更多查看官方文档
 
[Homes]
 basedir regex = /home               #用户的Home目录

[NAS-FILES]
path = /mnt/NAS-FILES                #数据目录

五)创建一个新用户,用于访问AFP服务

      因为root用户默认是禁止登录AFP服务的
     
useradd afp #创建新用户afp
paaswd afp  #修改afp用户密码


四、Avahi的安装与配置

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

   这个简单,直接yum就行

yum install avahi -y
   配置Avahi 位置 在/etc/avahi/services/afpd.service
 
vi /etc/avahi/services/afpd.service

#修改为以下内容

 
 
 
DUKE-NAS-AFP
 
_afpovertcp._tcp 
548 
 
 
_device-info._tcp 
0 
model=Xserve 
 


五、使用cifs-utils将Windows的共享磁盘挂载到Centos内

 
一)基础依赖
   
yum install cifs-utils
二)挂载SMB目录

mount -t cifs //ip/NAS-FILES /mnt/NAS-FILES -o user=username,pass=password,iocharset=utf8,uid=1000
   

 1.将ip替换为HyperV虚拟出来网卡 在win下的IP地址,用于中转SMB服务。我的是172.16.0.1

      提示:在CENTOS内,将虚拟的网卡IP设置同一网段,我这里是172.16.0.2

      一般第二块网卡名字为eth1 所以修改配置文件 /etc/sysconfig/network-scripts/ifcfg-eth1

 

2.NAS-FILES 是我SMB共享目录  

     /mnt/NAS-FILES 是我挂载SMB的目录,也是afp.conf里面所设置的[NAS-FILES]目录


3.username password 请修改为访问SMB所需要的用户名及密码


4.uid项 用来赋予特定用户读写权限,即新建的afp用户的uid

     用户uid查看方法: root登录到centos

                               su afp #切换到afp用户

                               id #即可查看到uid

      


六、启动Netatalk、Avahi并设置开机启动

systemctl start avahi-daemon
systemctl start netatalk
systemctl enable avahi-daemon
systemctl enable netatalk
 
  如果也想将挂载SMB的操作设置开机启动,请加对应命令添加进 /etc/rc.local 脚本里面
  别忘了赋予rc.local可执行权限 chmod +x /etc/rc.local

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


七、(补充用途)搭建TimeMachine备份服务器

在afp.conf配置文件内,增加以下内容,即可将AFP共享盘作为TimeMachine备份盘
[TimeMachine]
path = /mnt/TimeMachine  #数据目录
time machine = yes       #yes才支持TimeMachine
spotlight = no           #关闭spotlight索引
vol size limit = 100000  #限制TimeMachine存储容量,单位为MB

[NAS之旅]-基于Centos7搭建Netatalk为Windows增加AFP协议-【Mac与Windows进行文件共享的最佳方案】_第3张图片

你可能感兴趣的:(NAS之旅)