通用型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。更多資訊,請參見網路頻寬。
-
ECS執行個體和NAS檔案系統位於同一地區和同一VPC下。
使用說明
-
僅支援通用型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
-
下載用戶端。
wget https://aliyun-encryption.oss-cn-beijing.aliyuncs.com/aliyun-alinas-utils-1.9-0.20260310195315.816118.generic.x86_64.rpm -
安裝用戶端。
sudo yum install aliyun-alinas-utils-*.rpm -
檢查NAS用戶端安裝結果。
which mount.alinas如果回顯包含如下類似資訊,說明NAS用戶端安裝成功。

CentOS
-
下載用戶端。
-
CentOS 7.x
wget https://aliyun-encryption.oss-cn-beijing.aliyuncs.com/aliyun-alinas-utils-1.9-0.20260310195315.816118.el7.x86_64.rpm -
CentOS 8.x
wget https://aliyun-encryption.oss-cn-beijing.aliyuncs.com/aliyun-alinas-utils-1.9-0.20260310195315.816118.el8.x86_64.rpm
-
-
安裝用戶端。
sudo yum install aliyun-alinas-utils-*.rpm -
檢查NAS用戶端安裝結果。
which mount.alinas如果回顯包含如下類似資訊,說明NAS用戶端安裝成功。

Red Hat Enterprise Linux
-
下載用戶端。
-
Red Hat Enterprise Linux 7.x
wget https://aliyun-encryption.oss-cn-beijing.aliyuncs.com/aliyun-alinas-utils-1.9-0.20260310195315.816118.el7.x86_64.rpm -
Red Hat Enterprise Linux 8.x
wget https://aliyun-encryption.oss-cn-beijing.aliyuncs.com/aliyun-alinas-utils-1.9-0.20260310195315.816118.el8.x86_64.rpm
-
-
安裝用戶端。
sudo yum --disablerepo=rhui-rhel-7-server-rhui-extras-debug-rpms install aliyun-alinas-utils-*.rpm -
檢查NAS用戶端安裝結果。
which mount.alinas如果回顯包含如下類似資訊,說明NAS用戶端安裝成功。

Ubuntu和Debian
-
下載用戶端。
wget https://aliyun-encryption.oss-cn-beijing.aliyuncs.com/aliyun-alinas-utils-1.9-0.20260310195315.816118.deb -
安裝用戶端。
sudo apt update sudo dpkg -i aliyun-alinas-utils-*.deb sudo apt-get install -f sudo dpkg -i aliyun-alinas-utils-*.deb -
檢查NAS用戶端安裝結果。
which mount.alinas如果回顯包含如下類似資訊,說明NAS用戶端安裝成功。

步驟二:以傳輸加密方式掛載檔案系統
-
掛載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
啟用資料轉送加密。
-
-
執行
mount -l命令,查看掛載結果。如果回顯包含如下類似資訊,說明掛載成功。
alinas-xxx.cn-zhangjiakou.tls.127.0.1.3:/ on /mnt type nfs (rw,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,nolock,noresvport,proto=tcp,port=12050,timeo=600,retrans=2,sec=sys,mountaddr=127.0.1.3,mountvers=3,mountport=12050,mountproto=tcp,local_lock=all,addr=127.0.1.3)掛載成功後,您可以執行df -h命令,查看當前檔案系統的容量資訊。
-
可選:配置開機時自動掛載。
為避免已掛載檔案系統的ECS執行個體重啟後,掛載資訊丟失,您可以通過在Linux ECS執行個體中配置/etc/fstab檔案,實現在ECS執行個體重啟時NFS協議檔案系統自動掛載。
-
開啟/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不應在啟動時運行。
-
執行
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。 |
錯誤排查
-
問題現象
掛載檔案系統時,返回如下報錯資訊:
$sudo mount -t alinas -o tls,vers=4.0 xxx cn-hangzhou.nas.aliyuncs.com /mnt Failed to find a loopback ip from 127.0.1.1 ~ 127.0.0.255.254 with port 12049 -
可能原因
Stunnel監聽進程的IP或12049連接埠被佔用,導致檔案系統掛載失敗。
-
解決方案
-
方案一:找到並結束佔用12049連接埠的進程,然後重新掛載檔案系統。
-
方案二:修改NAS用戶端工具設定檔/etc/aliyun/alinas/alinas-utils.conf中的proxy_port參數,修改為未被佔用的連接埠號碼,然後重新掛載檔案系統。
[DEFAULT] logging_level = INFO logging_max_bytes = 1048576 logging_file_count = 10 [mount] stunnel_debug_enabled = false # Validate the certificate hostname on mount. This option is not supported by certain stunnel versions. stunnel_check_cert_hostname = false # Use OCSP to check certificate validity. This option is not supported by certain stunnel versions. stunnel_check_cert_validity = false proxy_port = 12050 [mount-watchdog] poll_interval_sec = 1 unmount_grace_period_sec = 30
-