在之前的 Blog 里介绍了使用 Netatalk+Avahi 的组合来搭建自己的 TimeMachine 备份服务器
——> 传送门
在这篇文章,将再次使用 Netatalk+Avahi 这个组合,来实现 Windows 与 Mac 进行文件共享的最佳方案,(即通过一个 Linux 中间体,将 Windows 的 SMB 共享转换成 Mac 的 AFP 共享). 以此实现千兆满速的 NAS 体验。
因为 Mac 对 SMB 支持有问题,使用雷电网卡,最高只能达到 500M 左右的速度,十分不爽。转换后可以达到 1000M 满速
本文中 [Linux 中间体] 采用的是 Windows server 上的 HyperV 创建的 Centos7 虚拟机。
如果您不是由 HyperV 创建的虚拟机 (比如 ESXI.VM 等) 或者您使用实体机(比如软路由)。
请确保有一张全双工可以上 1Gbps 的网卡,用于中转流量
一、方案图解
二、新建 Centos7 虚拟机及相关配置 (博主使用的是 HyperV 虚拟机)
1. 创建一个虚拟机跑 Centos7
成功安装 centos 后,安装 HyperV LINUX 增强驱动,保证网卡的性能
驱动下载地址 https://www.microsoft.com/en-us/download/details.aspx?id=55106
驱动安装方式请参考文档 Linux Integration Services.pdf
2. 打开《Hyperv 管理器》--《虚拟交换机管理器》--《创建一个 内部 虚拟交换机》
将创建的虚拟网卡的网络类型,改为【专用网络】,这样才可以使用文件共享功能
为新建的虚拟网卡手动分配一个 IP 地址,如 172.16.0.1
3. 将新建虚拟网卡连接到 Centos7 里面, 手动分配 IP,如 172.16.0.2
Linux 手动指定网卡 IP 的操作不在这里赘述,可以参考这篇文章——> 传送门
保证在虚拟机内可以 ping 通 172.16.0.1
二、Netatalk 的安装与配置
1.Netatalk 的安装与之前文章一样,——> 传送门
2.Netatalk 配置文件也与之前相同
需要注意的是:新增需要挂载 SMB 分享的目录,如 / mnt/NAS-FILES
由于篇幅和需求问题,我这儿只列出简单配置,详细的请参考官方文档——> 传送门
[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 [ ] basedir regex = /home [ ] path = /mnt/NAS-FILES
] mimic model = Xserve log level = 三、Avahi 的安装与配置
安装与配置 参考之前的文章 ——> 传送门
四、启动 Netatalk、Avahi 并设置开机启动
systemctl start avahi-daemon systemctl start netatalk systemctl enable avahi-daemon systemctl enable netatalk
查看 netatalk 和 avahi 端口是否启动监听, afp 监听 548 端口
请注意 Linux 防火墙问题,将对应端口放行
netstat -tulpn
五、使用 cifs-utils 将 Windows 的共享磁盘挂载到 Centos 内
1. 基础依赖
yum install cifs-utils
2. 挂载 SMB 目录
mount -t cifs //172.16.0.1/NAS-FILES /mnt/NAS-FILES -o user=username,pass=password,iocharset=utf8,uid=1000
参数解释
①将 172.16.0.1 替换为你 win 下虚拟网卡的 ip(即用于中转流量网卡,在 win 下的 IP)
②/mnt/NAS-FILES 是我挂载 SMB 的目录,也是 afp.conf 里面所设置的 [NAS-FILES] 目录
③username password 请修改为访问 SMB 所需要的用户名及密码
④uid 项 用来赋予特定用户读写权限,即新建的 afp 用户的 uid
用户 uid 查看方法: root 登录到 centos
su afp #切换到afp用户id #即可查看到uid,我的是1000
3. 将挂载 smb 的操作添加到开机启动
将挂载 smb 的命令添加进 /etc/rc.local 脚本里面
vi /etc/rc.local
并给予可执行权限
chmod +x /etc/rc.local
Bingo!
这时使用 Mac 连接 Afp 服务器,afp://ip 地址
即可看见新创建的 NAS-FILES,挂载后就可以看见对应 SMB 分享的内容了
【版权声明】:原创文章,转载请注明来自 DUKE BLOG|www.81pla.cn
联系客服