天天看点

MacOS客户端通过阿里云VPN连接阿里云NAS SMB文件系统1. MacOS客户端连接专有网络(VPC)内的NAS SMB挂载点2. MacOS通过Kerberos挂载与使用VPC中的NAS SMB卷参考文档

SMB远程文件传输协议在远程文件系统领域具有相当的统治地位。主流客户端厂家,包括微软、苹果以及Linux生态圈都支持SMB协议,并且苹果的MacOS已经将SMB作为其默认的远程文件协议。

作为国内云厂商的龙头企业,阿里云NAS SMB文件系统也可以支持MacOS客户端。接下来就给大家介绍如何用MacOS客户端连接阿里云NAS SMB文件系统。

本篇文章分为两个部分:MacOS客户端连接专有网络内的NAS SMB挂载点;MacOS客户端通过Kerberos连接AD域内的NAS SMB挂载点。

1. MacOS客户端连接专有网络(VPC)内的NAS SMB挂载点

1.1. 建立VPC和NAS SMB挂载点

参考

文件存储 > 用户指南 > 管理挂载点

创建VPC和NAS SMB文件系统挂载点。

MacOS客户端通过阿里云VPN连接阿里云NAS SMB文件系统1. MacOS客户端连接专有网络(VPC)内的NAS SMB挂载点2. MacOS通过Kerberos挂载与使用VPC中的NAS SMB卷参考文档

1.2. MacOS客户端通过SSL-VPN接入VPC

Mac客户端远程连接

通过SSL-VPN接入VPC。

1.2.1. 创建VPN网关

1.2.2. 创建SSL服务端

需要注意本端网段是VPC的网段,比如如果VPC的网段是172.31.0.0/16,本端网段就填172.31.0.0/16。客户端网段与本端网段不重合,比如192.168.1.0/24。

MacOS客户端通过阿里云VPN连接阿里云NAS SMB文件系统1. MacOS客户端连接专有网络(VPC)内的NAS SMB挂载点2. MacOS通过Kerberos挂载与使用VPC中的NAS SMB卷参考文档
MacOS客户端通过阿里云VPN连接阿里云NAS SMB文件系统1. MacOS客户端连接专有网络(VPC)内的NAS SMB挂载点2. MacOS通过Kerberos挂载与使用VPC中的NAS SMB卷参考文档

1.2.3. 创建并下载SSL客户端证书

按照

就可以配置成功。

1.2.4. 连接测试

OpenVPN连接后,ping VPC内的挂载点可以成功。

MacOS客户端通过阿里云VPN连接阿里云NAS SMB文件系统1. MacOS客户端连接专有网络(VPC)内的NAS SMB挂载点2. MacOS通过Kerberos挂载与使用VPC中的NAS SMB卷参考文档

1.3. 挂载NAS SMB

可以使用MacOS的Finder->Go->Connect to Server挂载,选择Guest身份。参考

Apple Mac OS X connect to SMB share

注意使用Finder时myshare挂载完成之后可能显示myshare的内容为空,是因为MacOS会去询问所有文件的信息,延迟较大或者文件较多的时候需要等一段时间才能看到内容,请耐心等待。

也可以使用mount_smbfs命令挂载,nas-mount-point.nas.aliyuncs.com为1.1.中创造的挂载点

mount_smbfs '//[email protected]/myshare' /Volumes/myshare/           

挂载之后就可以正常使用挂载卷。

2. MacOS通过Kerberos挂载与使用VPC中的NAS SMB卷

在默认情况下NAS SMB卷只支持NTLM鉴权协议,无论以哪个身份挂载,鉴权后得到的身份都是Everyone。默认Everyone拥有所有权限。

最近NAS SMB开始支持AD功能,用户可以在VPC中建立一个Windows操作系统的AD服务器,然后给NAS SMB卷设置一个服务账号,并上传服务账号的Keytab文件到NAS控制台。之后用户就可以在MacOS客户端上使用Kerberos协议鉴权,鉴权时使用的AD域身份就是用户挂载后的身份。挂载后ACL将启用,用户对于某个文件文件夹拥有何种权限取决于文件文件夹上的ACL权限表。

官方文档:

使用AD域实现用户身份认证和文件级别的权限访问控制

2.1. 将NAS SMB卷接入AD域

将阿里云SMB协议文件系统挂载点接入AD域

,进行以下几个步骤:

2.1.1. 安装ADDS和DNS,建立AD服务器

请参考

安装并启用Active Directory域服务与DNS服务

完成该步骤。

2.1.2. 添加服务账号

dsadd user CN=alinas,DC=MYDOMAIN,DC=com -samid alinas -display "Alibaba Cloud NAS Service Account" -pwd tHePaSsWoRd123 -pwdneverexpires yes           

2.1.4. 注册NAS文件系统挂载点

setspn -S cifs/nas-mount-point.nas.aliyuncs.com alinas           

setspn成功之后显示如下:

MacOS客户端通过阿里云VPN连接阿里云NAS SMB文件系统1. MacOS客户端连接专有网络(VPC)内的NAS SMB挂载点2. MacOS通过Kerberos挂载与使用VPC中的NAS SMB卷参考文档

另外这一步成功之后在AD服务器上尝试挂载AD域的卷挂载点,会发现鉴权已经开始使用Kerberos。

net use z: \\nas-mount-point.nas.aliyuncs.com\myshare           
MacOS客户端通过阿里云VPN连接阿里云NAS SMB文件系统1. MacOS客户端连接专有网络(VPC)内的NAS SMB挂载点2. MacOS通过Kerberos挂载与使用VPC中的NAS SMB卷参考文档

2.1.5. 生成Keytab服务账号秘钥文件

ktpass -princ cifs/[email protected] -ptype KRB5_NT_PRINCIPAL -crypto All -out c:\nas-mount-point.keytab -pass tHePaSsWoRd123           

2.1.6. 将Keytab上传到NAS控制台

NAS SMB ACL控制台已经在亚太南部1(孟买)和中国香港(香港)区域上线,其他区域也在陆续上线中。如果您需要的区域没有上线,可以发工单联系我们上传Keytab。其他具体内容请参考官方文档:

2.2. 将NAS AD SMB卷配置为MacOS可以访问

2.2.1. 添加VPN SSL网段到安全组

如果不添加足够的权限,MacOS的DNS和SMB请求在AD域中走不通。需要在ECS的VPC安全组中添加下面的权限。

MacOS客户端通过阿里云VPN连接阿里云NAS SMB文件系统1. MacOS客户端连接专有网络(VPC)内的NAS SMB挂载点2. MacOS通过Kerberos挂载与使用VPC中的NAS SMB卷参考文档

需要添加:

  1. DNS端口:UDP 53
  2. Kerberos端口:TCP 88
  3. LDAP端口:TCP 389
  4. LDAP Global Catalog端口:TCP 3268

2.2.2. 将MacOS的DNS设置为AD服务器

ipconfig命令在AD服务器上找到内网IP。然后将它设置成MacOS的DNS。

MacOS客户端通过阿里云VPN连接阿里云NAS SMB文件系统1. MacOS客户端连接专有网络(VPC)内的NAS SMB挂载点2. MacOS通过Kerberos挂载与使用VPC中的NAS SMB卷参考文档

ping测试可以连通AD域名。

MacOS客户端通过阿里云VPN连接阿里云NAS SMB文件系统1. MacOS客户端连接专有网络(VPC)内的NAS SMB挂载点2. MacOS通过Kerberos挂载与使用VPC中的NAS SMB卷参考文档

2.2.3. MacOS用Kerberos鉴权以及AD域用户身份挂载NAS SMB

用kinit [email protected]得到AD身份,klist验证身份已经得到,kinit告诉mount_smbfs要启动身份,最后用mount_smbfs命令挂载。

kinit [email protected]
klist
kinit
mount_smbfs //[email protected]/myshare /Volumes/myshare           

如果出现错误mount_smbfs: server rejected the connection: Authentication error,说明mount_smbfs走到了NTLM,请运行kinit启用身份再mount_smbfs。

一个成功的例子:

MacOS客户端通过阿里云VPN连接阿里云NAS SMB文件系统1. MacOS客户端连接专有网络(VPC)内的NAS SMB挂载点2. MacOS通过Kerberos挂载与使用VPC中的NAS SMB卷参考文档

成功后klist会显示两个principals:

MacOS客户端通过阿里云VPN连接阿里云NAS SMB文件系统1. MacOS客户端连接专有网络(VPC)内的NAS SMB挂载点2. MacOS通过Kerberos挂载与使用VPC中的NAS SMB卷参考文档

注意MacOS客户端不会显示SMB ACL,但是AD域用户身份是起作用的。用户对任何文件进行操作时,NAS SMB卷会验证ACL,然后允许或者禁止该操作。如需设置ACL可以在AD服务器上挂载该卷进行设置。

参考文档

  1. nsmb.conf说明文档

继续阅读