一般情况下,NAS文件系统需要在同账号、同地域、同VPC下的计算节点中挂载访问。如果您想在本地数据中心或个人客户端中挂载NAS,则必须连通NAS所在地域VPC的网络。您可以通过配置NAT网关,连通与NAS VPC之间的网络。本文主要介绍如何通过NAT网关的设置,实现本地数据中心访问阿里云NAS。
背景信息
对于一个地域(例如华东1杭州)内创建的文件系统(NFS或者SMB),只支持挂载到同一地域内的ECS上。您在其他地域(例如华北1青岛)内的ECS或者本地数据中心的服务器,无法直接挂载。只有通过建立不同VPC间或者本地数据中心和VPC间的高速通道才能实现跨地域或者在本地数据中心挂载文件系统,而部署高速通道存在高成本问题。
如果已经在本地数据中心部署了VPN网关,推荐使用阿里云VPN网关来实现本地数据中心与阿里云NAS之间的网络互通。更多信息,请参见通过VPN网关实现本地数据中心访问阿里云NAS。
如果您只是将少量的本地数据上传到阿里云NAS,推荐使用NAT网关实现本地数据中心与阿里云NAS之间的网络互通。
使用NAT网关从本地数据中心访问阿里云NAS的网络架构如下图所示。
优势:配置简单
缺点:
安全性方面,由于EIP和VPC网络互通,因此任何人都可通过EIP挂载到EIP对应的挂载点。
每个EIP+PORT只能映射到一个挂载点。
当创建DNAT条目时,如果将端口设置为任意端口,同时访问多个挂载点时,需要为每个挂载点创建一个EIP。
(可选)设置白名单
在文件存储NAS中,权限组是一个白名单机制。为了确保您的数据访问安全,您可以通过配置自定义权限组,为不同的IP地址或网段授予不同的访问权限,以满足不同的访问场景。
创建文件系统和挂载点
登录NAS控制台。
创建文件系统。具体操作,请参见通过控制台创建通用型NAS文件系统。
添加专有网络类型挂载点。具体操作,请参见添加挂载点。
配置NAT网关
通过以下配置,可在任何一台连接公网的PC上(Windows或Linux系统)挂载NAS,实现文件的上传和下载。
登录专有网络控制台。
创建NAT网关。具体操作,请参见创建和管理公网NAT网关实例。
说明必须与NAS选择同一VPC。
为NAT网关绑定弹性公网IP。具体操作,请参见申请EIP。
创建DNAT条目。具体操作,请参见创建和管理DNAT条目。
重要参数说明,如下所示。
配置
说明
公网IP地址
创建EIP时生成的公网IP地址。
私网IP地址
文件系统挂载点的IP地址。
您可以在ECS中
ping
文件系统的挂载点地址获取IP地址。示例如下:ping 0dc404****-****.cn-hangzhou.nas.aliyuncs.com
有关挂载点地址的信息,请参见查看挂载点列表。
端口设置
具体端口:(推荐)
NFS文件系统:
公网端口:111,2049端口。
私网端口:111,2049端口。
协议类型:TCP协议。
SMB文件系统:
公网端口:4456端口。
私网端口:445端口。
协议类型:TCP协议。
任意端口:(不推荐)
任何访问EIP的请求都会转发到目标NAS上,建议指定具体端口。
挂载文件系统
NFS协议文件系统
SMB协议文件系统
启动Workstation服务和TCP/IP NetBIOS Helper服务。具体操作,请参见开启Workstation和TCP/IP NetBIOS Helper服务。
检查本地445端口是否被占用。
执行命令
netstat -ano | findstr ":445"
如果返回如下类似信息,则表示本地445端口被占用。
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING 4 TCP [::]:445 [::]:0 LISTENING 4
其中,
4
为占用445端口的程序的PID。
如果本地445端口被占用,请在命令提示符中执行以下命令,或使用快捷键
Win+R
,输入services.msc
进入本地服务 ,查看Server服务的状态。sc query LanmanServer
如果Server服务状态为运行中(RUNNING),请在命令提示符中执行以下命令,或使用快捷键
Win+R
,输入services.msc
进入本地服务 ,停止并禁用Server服务。然后重启服务器,并确认445端口不再被占用。net stop LanmanServer && sc config LanmanServer start= disabled
如果Server服务状态为停止(STOPPED),或重启服务器后445端口依然被占用,您可以执行以下命令,查看占用445端口的程序。在确认该程序可以停止后,终止该程序,然后重启服务器。
tasklist /FI "PID eq 4"
其中,
4
为执行netstat -ano | findstr ":445"
返回信息中的PID,请根据实际值替换。
配置本地端口转发
SMB协议默认的445端口为高危端口,网络运营商(ISP)默认会关闭。如果本地数据中心通过NAT公网访问NAS,则需要在本地做端口转发。
本地通过
netsh
(Windows客户端)将本地445端口转发至非445端口(4456)。netsh interface portproxy add v4tov4 listenaddress=192.168.xx.xx listenport=445 connectaddress=100.10.xx.xx connectport=4456
其中,
192.168.xx.xx
为本地服务器IP地址,100.10.xx.xx
为创建EIP时生成的公网IP地址,请根据实际值替换。本地服务器IP地址也可以使用127.0.0.1
。说明如果DNAT条目公网端口为445端口或端口为任意端口时,无需配置本地端口转发,直接使用EIP公网地址挂载即可。
挂载SMB协议文件系统。具体操作,请参见挂载SMB协议文件系统。
net use D: \\192.168.xx.xx\myshare
D为当前Windows系统上要挂载的目标盘符,请根据实际值替换。
192.168.xx.xx为本地服务器IP地址,也可以使用127.0.0.1,请根据实际情况替换。
myshare为SMB的共享名称,不允许变更。
验证挂载结果
NFS协议文件系统
执行mount -l
命令,显示如下内容,则表示挂载成功。挂载成功后,您可以进行读写操作。
SMB协议文件系统
在文件管理器中,可以访问SMB文件系统,则表示挂载成功。挂载成功后,您可以进行读写操作。
如果未发现挂载的盘符,您可以在文件管理器中,输入\\192.168.xx.xx\myshare
进行访问。其中192.168.xx.xx
为本地服务器IP地址,请根据实际值替换。
NAT网关方案和VPN网关方案的对比
使用NAT与使用VPN的优缺点对比如下所示。
对比项 | NAT网关方案 | VPN网关方案 |
配置 | 简单,完全在阿里云控制台完成 | 复杂,需要在阿里云控制台配置VPN网关,还需要在本地数据中心配置用户侧VPN网关 |
安全性 | 差 | 好 |
灵活性 | 受限,一个EIP只能映射到一个NAS挂载点 | 好,可以同时访问所有的NAS挂载点 |
适合场景 | 临时,少量数据上传下载 | 用户线下环境和阿里云NAS长期的连通 |