全部產品
Search
文件中心

File Storage NAS:NFS協議檔案系統傳輸加密

更新時間:Oct 13, 2024

通用型NAS NFS協議檔案系統傳輸加密採用TLS協議,以保障您的ECS執行個體與NAS服務之間網路傳輸鏈路上的資料安全,確保在傳輸過程中資料不被竊取或篡改。本文介紹如何使用NAS用戶端工具掛載通用型NAS NFS協議檔案系統實現資料轉送加密。

工作原理

NAS用戶端工具定義了一個網路檔案系統類型alinas,與標準mount命令相容。在ECS執行個體掛載alinas類型檔案系統時,如果指定tls參數,NAS用戶端工具會啟動一個Stunnel監聽進程,該進程轉寄並加密ECS執行個體對NAS伺服器的訪問,同時會觸發一個後端進程aliyun-alinas-mount-watchdog保障Stunnel監聽進程的可用性。

前提條件

  • 已建立通用型NAS NFS協議檔案系統。具體操作,請參見建立檔案系統

    重要

    開啟傳輸加密功能時,如果您的目標ECS執行個體上對應目錄(例如/mnt)已掛載NFS協議檔案系統,請先卸載NFS協議檔案系統,再根據本文重新掛載NFS協議檔案系統。關於如何卸載NFS協議檔案系統的操作,請參見通過NAS控制台卸載掛載目錄

  • 目標ECS執行個體已配置公網或綁定Elastic IP Address。更多資訊,請參見網路頻寬

使用說明

  • 僅支援通用型NAS NFS協議檔案系統。

  • NAS用戶端支援的作業系統

    作業系統類型

    作業系統版本

    Alibaba Cloud Linux

    • Alibaba Cloud Linux 2.1903 64位

    • Alibaba Cloud Linux 3.2104 LTS 64位

    Red Hat

    • Red Hat Enterprise Linux 7.x 64位

    • Red Hat Enterprise Linux 8.x 64位

    CentOS

    • CentOS 7.x 64位

    • CentOS 8.x 64位

    Ubuntu

    • Ubuntu 16.04 64位

    • Ubuntu 18.04 64位

    • Ubuntu 20.04 64位

    Debian

    • Debian 9.x 64位

    • Debian 10.x 64位

  • 傳輸加密的效能損耗

    開啟傳輸加密的掛載與未開啟傳輸加密的掛載相比,訪問延遲會增加約10%,IOPS會下降約10%。

  • 使用NAS用戶端的說明

    • NAS用戶端工具使用Stunnel監聽進程進行TLS加密代理。對於吞吐密集型應用,Stunnel監聽進程會消耗大量CPU執行加解密操作。在極端情況下,每個掛載會佔用一整個核。

    • NAS用戶端傳輸加密功能依賴第三方認證,第三方認證需要定期更換,NAS會提前一個月通過郵件、站內信發出通知,請您關注資訊並及時更新NAS用戶端工具aliyun-alinas-utils版本,未更新NAS用戶端工具將導致使用傳輸加密方式掛載的NAS檔案系統在認證到期後停止回應。

    • 使用NAS用戶端工具會修改您帳號下ECS執行個體的/etc/hosts檔案。即掛載檔案系統時,會將新的掛載點映射寫入/etc/hosts檔案;卸載檔案系統時,會刪除之前寫入的掛載點映射。

    • NAS用戶端工具使用Stunnel監聽進程進行TLS加密代理時,會佔用127.0.1.1~127.0.255.254中的IP作為Stunnel監聽進程的IP,並需要使用12049連接埠,請您確保目標IP和連接埠可用。

      您可以執行ss -ant | grep -w 12049命令判斷目標連接埠是否被佔用。如果返回為空白,則表示目標連接埠未被佔用。如果連接埠被佔用,請您修改設定檔。具體操作,請參見如何修改NAS用戶端設定檔

支援地區

公用雲所有地區,金融雲除深圳地區以外所有地區。

步驟一:下載與安裝NAS用戶端

Alibaba Cloud Linux

  1. 下載用戶端。

    wget https://aliyun-encryption.oss-cn-beijing.aliyuncs.com/aliyun-alinas-utils-1.3-0.20240914145556.91a304.al7.noarch.rpm
  2. 安裝用戶端。

    sudo yum install aliyun-alinas-utils-*.rpm
  3. 檢查NAS用戶端安裝結果。

    which mount.alinas

    如果回顯包含如下類似資訊,說明NAS用戶端安裝成功。

    image.png

CentOS

  1. 下載用戶端。

    • CentOS 7.x

      wget https://aliyun-encryption.oss-cn-beijing.aliyuncs.com/aliyun-alinas-utils-1.1-8.el7.noarch.rpm
    • CentOS 8.x

      wget https://aliyun-encryption.oss-cn-beijing.aliyuncs.com/aliyun-alinas-utils-1.1-8.el8.noarch.rpm
  2. 安裝用戶端。

    sudo yum install aliyun-alinas-utils-*.rpm
  3. 檢查NAS用戶端安裝結果。

    which mount.alinas

    如果回顯包含如下類似資訊,說明NAS用戶端安裝成功。

    image.png

Red Hat Enterprise Linux

  1. 下載用戶端。

    • Red Hat Enterprise Linux 7.x

      wget https://aliyun-encryption.oss-cn-beijing.aliyuncs.com/aliyun-alinas-utils-1.1-8.el7.noarch.rpm
    • Red Hat Enterprise Linux 8.x

      wget https://aliyun-encryption.oss-cn-beijing.aliyuncs.com/aliyun-alinas-utils-1.1-8.el8.noarch.rpm
  2. 安裝用戶端。

    sudo yum --disablerepo=rhui-rhel-7-server-rhui-extras-debug-rpms install aliyun-alinas-utils-*.rpm
  3. 檢查NAS用戶端安裝結果。

    which mount.alinas

    如果回顯包含如下類似資訊,說明NAS用戶端安裝成功。

    image.png

Ubuntu和Debian

  1. 下載用戶端。

    wget https://aliyun-encryption.oss-cn-beijing.aliyuncs.com/aliyun-alinas-utils-1.1-8.deb
  2. 安裝用戶端。

    sudo apt update
    sudo dpkg -i aliyun-alinas-utils-*.deb
    sudo apt-get install -f
    sudo dpkg -i aliyun-alinas-utils-*.deb
  3. 檢查NAS用戶端安裝結果。

    which mount.alinas

    如果回顯包含如下類似資訊,說明NAS用戶端安裝成功。

    image.png

步驟二:以傳輸加密方式掛載檔案系統

  1. 掛載NFS協議檔案系統。

    • NFSv3協議

      sudo mount -t alinas -o tls,vers=3 file-system-id.region.nas.aliyuncs.com:/ /mnt
    • NFSv4.0協議

      sudo mount -t alinas -o tls,vers=4.0 file-system-id.region.nas.aliyuncs.com:/ /mnt

    掛載命令中的參數說明如下表所示。

    說明

    掛載檔案系統時,NAS用戶端工具將自動使用最佳參數進行掛載,無需手動添加。更多資訊,請參見掛載命令參數說明

    參數

    說明

    file-system-id.region.nas.aliyuncs.com:/ /mnt

    表示<掛載地址>:<NAS檔案系統目錄> <當前伺服器上待掛載的本地路徑>,請根據實際情況替換。

    • 掛載地址:您可以在Apsara File Storage NAS控制台檔案系統列表頁面,單擊目標檔案系統後的管理,進入掛載使用頁面擷取掛載地址。更多資訊,請參見管理掛載點

    • NAS檔案系統目錄 :NAS的根目錄(/)或任意子目錄(例如:/share),如果是子目錄,請您確保子目錄是NAS檔案系統中實際已存在的目錄。

    • 當前伺服器上待掛載的本地路徑:Linux ECS執行個體的任意子目錄(例如:/mnt),請您確保子目錄在本地檔案系統存在。

    vers

    NFS協議檔案系統版本。

    • vers=3:使用NFSv3協議掛載檔案系統。

    • vers=4.0:使用NFSv4.0協議掛載檔案系統。

    tls

    啟用資料轉送加密。

  2. 執行mount -l命令,查看掛載結果。

    如果回顯包含如下類似資訊,說明掛載成功。加密掛載回顯

    掛載成功後,您可以執行df -h命令,查看當前檔案系統的容量資訊。

  3. 可選:配置開機時自動掛載。

    為避免已掛載檔案系統的ECS執行個體重啟後,掛載資訊丟失,您可以通過在Linux ECS執行個體中配置/etc/fstab檔案,實現在ECS執行個體重啟時NFS協議檔案系統自動掛載。

    1. 開啟/etc/fstab設定檔,添加掛載配置。

      file-system-id.region.nas.aliyuncs.com:/ /mnt alinas _netdev,tls 0 0

      樣本中主要參數說明,請參見掛載NFS協議檔案系統。其餘參數說明如下。

      參數

      說明

      _netdev

      防止用戶端在網路就緒之前開始掛載檔案系統。

      0(tls後第一項)

      非零值表示檔案系統應由dump備份。對於NAS檔案系統而言,此值預設為0。

      0(tls後第二項)

      該值表示fsck在啟動時檢查檔案系統的順序。對於NAS檔案系統而言,此值預設為0,表示fsck不應在啟動時運行。

    2. 執行reboot命令,重啟ECS執行個體。

      重啟雲端服務器會中斷業務,建議您在業務低穀時期重啟雲端服務器。

      說明

      在重啟ECS執行個體前,請確認手動掛載成功,避免ECS執行個體重啟失敗。另外,如果自動掛載配置成功,在ECS執行個體重啟後,可以通過df -h命令查看到掛載的NAS檔案系統。

NAS用戶端日誌

您可以通過訪問/var/log/aliyun/alinas/路徑下的NAS用戶端日誌定位掛載報錯資訊。同時可以通過修改日誌設定檔/etc/aliyun/alinas/alinas-utils.conf中的參數,定製NAS用戶端日誌內容。修改設定檔後,請您執行sudo service aliyun-alinas-mount-watchdog restart命令,重啟後端watchdog進程。

日誌設定檔中的重要參數如下:

參數

說明

logging_level

記錄層級。預設為INFO。

logging_max_bytes

記錄檔的最大容量。預設為1048576位元組,即單個記錄檔最大為1 MB。

logging_file_count

記錄檔的最大保留數量。預設為10,即最多保留10個記錄檔。

stunnel_debug_enabled

Stunnel監聽進程debug日誌。預設為false,開啟時會佔用大量儲存容量。

stunnel_check_cert_hostname

檢查認證網域名稱。預設為false。

stunnel_check_cert_validity

檢查認證合法性。預設為false。

錯誤排查

  • 問題現象

    掛載檔案系統時,返回如下報錯資訊:連接埠佔用報錯

  • 可能原因

    Stunnel監聽進程的IP或12049連接埠被佔用,導致檔案系統掛載失敗。

  • 解決方案

    • 方案一:找到並結束佔用12049連接埠的進程,然後重新掛載檔案系統。

    • 方案二:修改NAS用戶端工具設定檔/etc/aliyun/alinas/alinas-utils.conf中的proxy_port參數,修改為未被佔用的連接埠號碼,然後重新掛載檔案系統。修改連接埠號碼