通用型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實例已配置公網或綁定彈性公網IP。更多信息,請參見網絡帶寬。
使用說明
僅支持通用型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文件系統目錄> <當前服務器上待掛載的本地路徑>,請根據實際情況替換。
掛載地址:您可以在文件存儲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參數,修改為未被占用的端口號,然后重新掛載文件系統。