通用型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
下載用戶端。
wget https://aliyun-encryption.oss-cn-beijing.aliyuncs.com/aliyun-alinas-utils-1.3-0.20240914145556.91a304.al7.noarch.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.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
安裝用戶端。
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.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
安裝用戶端。
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.1-8.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
命令,查看掛載結果。如果回顯包含如下類似資訊,說明掛載成功。
掛載成功後,您可以執行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。 |
錯誤排查
問題現象
掛載檔案系統時,返回如下報錯資訊:
可能原因
Stunnel監聽進程的IP或12049連接埠被佔用,導致檔案系統掛載失敗。
解決方案
方案一:找到並結束佔用12049連接埠的進程,然後重新掛載檔案系統。
方案二:修改NAS用戶端工具設定檔/etc/aliyun/alinas/alinas-utils.conf中的proxy_port參數,修改為未被佔用的連接埠號碼,然後重新掛載檔案系統。