通过NAT网关实现本地数据中心访问阿里云NAS

一般情况下,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的网络架构如下图所示。架构图

  • 优势:配置简单

  • 缺点:

    • 安全性方面,由于EIPVPC网络互通,因此任何人都可通过EIP挂载到EIP对应的挂载点。

    • 每个EIP+PORT只能映射到一个挂载点。

    • 当创建DNAT条目时,如果将端口设置为任意端口,同时访问多个挂载点时,需要为每个挂载点创建一个EIP。

(可选)设置白名单

在文件存储NAS中,权限组是一个白名单机制。为了确保您的数据访问安全,您可以通过配置自定义权限组,为不同的IP地址或网段授予不同的访问权限,以满足不同的访问场景。

  1. 登录NAS控制台

  2. 创建权限组。

    1. 在左侧导航栏,单击文件系统 > 权限组

    2. 在页面上方,选择地域。

    3. 权限组页面,选择通用型NAS或者极速型NAS页签,单击创建权限组

    4. 创建权限组对话框中,配置相关信息。

      更多参数说明,请参见重要参数说明

      新建权限组

  3. 为权限组添加规则。

    1. 找到刚创建的权限组,单击操作列的管理规则,然后单击创建规则,配置相关规则信息。

      更多参数说明,请参见管理规则参数说明

      image

    2. 单击确定

创建文件系统和挂载点

  1. 登录NAS控制台

  2. 创建文件系统。具体操作,请参见通过控制台创建通用型NAS文件系统

  3. 添加专有网络类型挂载点。具体操作,请参见添加挂载点

配置NAT网关

通过以下配置,可在任何一台连接公网的PC上(WindowsLinux系统)挂载NAS,实现文件的上传和下载。

  1. 登录专有网络控制台

  2. 创建NAT网关。具体操作,请参见创建和管理公网NAT网关实例

    说明

    必须与NAS选择同一VPC。

  3. NAT网关绑定弹性公网IP。具体操作,请参见申请EIP

  4. 创建DNAT条目。具体操作,请参见创建和管理DNAT条目

    重要参数说明,如下所示。

    配置

    说明

    公网IP地址

    创建EIP时生成的公网IP地址。

    私网IP地址

    文件系统挂载点的IP地址。

    您可以在ECSping文件系统的挂载点地址获取IP地址。示例如下:

    ping 0dc404****-****.cn-hangzhou.nas.aliyuncs.com

    有关挂载点地址的信息,请参见查看挂载点列表

    端口设置

    • 具体端口:(推荐)

      • NFS文件系统:

        • 公网端口:111,2049端口。

        • 私网端口:111,2049端口。

        • 协议类型:TCP协议。

      • SMB文件系统:

        • 公网端口:4456端口。

        • 私网端口:445端口。

        • 协议类型:TCP协议。

    • 任意端口:(不推荐)

      任何访问EIP的请求都会转发到目标NAS上,建议指定具体端口。

挂载文件系统

NFS协议文件系统

  1. 安装NFS客户端。具体操作,请参见安装NFS客户端

    如果已安装,请跳过此步骤,执行挂载NFS文件系统。

  2. 挂载NFS文件系统。更多挂载命令参数,请参见参数说明

    mount -t nfs4 100.10.xx.xx:/ /mnt
    • 100.10.xx.xx为创建EIP时生成的公网IP地址,请根据实际情况替换。

    • /mnt为挂载的目标地址,请根据实际情况替换。

SMB协议文件系统

  1. 启动Workstation服务和TCP/IP NetBIOS Helper服务。具体操作,请参见开启WorkstationTCP/IP NetBIOS Helper服务

  2. 检查本地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,请根据实际值替换。

  3. 配置本地端口转发

    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公网地址挂载即可。

  4. 挂载SMB协议文件系统。具体操作,请参见挂载SMB协议文件系统

    net use D: \\192.168.xx.xx\myshare
    • D为当前Windows系统上要挂载的目标盘符,请根据实际值替换。

    • 192.168.xx.xx为本地服务器IP地址,也可以使用127.0.0.1,请根据实际情况替换。

    • myshareSMB的共享名称,不允许变更。

验证挂载结果

NFS协议文件系统

执行mount -l命令,显示如下内容,则表示挂载成功。挂载成功后,您可以进行读写操作。

image

SMB协议文件系统

在文件管理器中,可以访问SMB文件系统,则表示挂载成功。挂载成功后,您可以进行读写操作。

说明

如果未发现挂载的盘符,您可以在文件管理器中,输入\\192.168.xx.xx\myshare进行访问。其中192.168.xx.xx为本地服务器IP地址,请根据实际值替换。

挂载结果

NAT网关方案和VPN网关方案的对比

使用NAT与使用VPN的优缺点对比如下所示。

对比项

NAT网关方案

VPN网关方案

配置

简单,完全在阿里云控制台完成

复杂,需要在阿里云控制台配置VPN网关,还需要在本地数据中心配置用户侧VPN网关

价格

Small规格:12元/天

EIP带宽包:3.36元/Mbps/天

5 Mbps

VPN网关:375元/月

安全性

灵活性

受限,一个EIP只能映射到一个NAS挂载点

好,可以同时访问所有的NAS挂载点

适合场景

临时,少量数据上传下载

用户线下环境和阿里云NAS长期的连通