Azure 在云端提供完全托管的文件共享服务,这些共享项可通过行业标准的服务器消息块 (SMB) 协议进行访问。 Azure 文件共享可由云或者 Windows、Linux 和 macOS 的本地部署同时装载。

众所周知,前两年,由于病毒“坏兔子”来袭,国家互联网应急中心等安全机构建议用户及时关闭计算机以及网络设备上的445和139端口,所以国内运营商基本都封闭了这两个端口,而Azure 文件存储就是使用了SMB协议,导致很多客户在本地都无法正常访问Azure文件存储。

那如果本地应用程序也要访问云端文件共享存储怎么办呢,其实,我们可以在云端自己部署NFS服务,也可以达到同样的效果。

1、首先,我们在Azure上创建一台Windows虚拟机(创建过程略),在服务器管理器里添加角色-NFS服务器

clip_image002

2、NFS服务器角色安装完成之后,就可以新建共享

clip_image004

3、这里的配置文件,选择NFS共享-快速

clip_image006

4、共享文件夹的路径可以自定义在哪块卷

clip_image008

5、身份认证,这里我选择无服务器身份验证,可以根据企业安全策略要求选择

clip_image010

6、在共享权限里,我们可以添加访问计算机的权限,我这里选择所有计算面,后面我会通过IP白名单在NSG上进行限制

clip_image012

7、查看成功创建的结果

clip_image014

8、到这一步,我们还是不能成功访问共享文件夹里的内容,客户端挂载后提示没有权限(“Permission Denied”)创建文件或文件夹,Windows下本身不存在的Unix匿名账户ID=-2的这个“用户”,我们需要将这个特殊的用户ID添加到对应的NTFS访问控制权限(ACL)里面,这里面我们借助nfsfile命令(该命令需要在NFS服务角色安装好之后方可使用)来完成。

nfsfile /v /ru=-2 /rg=-2 /s /cx F:\shares\gpufile

clip_image016

9、再次在客户端使用mount 192.168.0.1:/gpufile z: 命令,挂载,就可以成功访问了。

clip_image018