雲計算

通過NAT網關實現本地客戶端訪問NAS SMB文件系統

用戶希望使用本地的MacOS、iPad、Linux、Windows等客戶端連接阿里雲上的NAS SMB文件系統,實現文件跨機器共享和永久存儲。
我們接下來介紹如何通過NAT網關建立混合雲架構,訪問阿里雲NAS SMB文件系統。

一、創建網關,將NAS SMB掛載點開放到公網

參考通過NAT網關實現本地數據中心訪問阿里雲NAS

1. 建立NAT網關

2. 建立NAS SMB掛載點

3. 通過一臺ECS掛載NAS SMB掛載點,找到NAS SMB掛載點IP

4. 創建網關DNAT將公網IP和445端口映射到掛載點IP和445端口

如果用戶所在公網ISP沒有屏蔽445端口,這樣配置完成之後就可以直接訪問NAS SMB文件系統。

二、將NAS SMB掛載點映射到非445端口

絕大部分公網ISP會屏蔽445端口,這時可以在網關DNAT配置時將NAS SMB 445端口映射到公網非445端口,比如16445。
DNAT 16445

1. Linux客戶端

Linux客戶端可以直接使用以下命令掛載公網SMB。

mount -t cifs -o port=16445 //公網IP/myshare /mnt -o vers=2.1,guest,mfsymlinks

2. MacOS客戶端

實驗發現MacOS客戶端通過NAT網關訪問NAS SMB時,需要打開NAS SMB的SMB ACL功能,然後打開匿名訪問。具體方法參考將阿里雲SMB協議文件系統掛載點接入AD域的控制檯部分。

然後可以通過mount_smbfs命令進行訪問。

mount_smbfs '//guest@公網IP:16445/myshare' /Volumes/myshare/

或者使用MacOS的Finder->Go->Connect to Server掛載,選擇Guest身份進行掛載。參考Apple Mac OS X connect to SMB share

3. Windows客戶端

研究發現Windows的SMB客戶端難以將445端口替換為別的端口。比如使用以下命令時:

net use z: \\公網IP@16445\myshare

抓包發現即使TCP能夠連通,Windows客戶端會發出HTTP請求,走WebDAV協議,而不是走SMB協議,從而導致訪問失敗。如果有用戶研究出SMB客戶端換端口的方案,歡迎告知我們。
SMB 16445 becomes WebDAV.PNG

三、總結

雖然NAT網關可以將NAS SMB掛載點開放到公網方便用戶本地客戶端進行訪問,但是直接暴露NAS SMB文件系統到公網有安全風險,任何人拿到公網地址和端口都可以進行訪問。
推薦使用VPN或者專線方案將連接保護起來。VPN + SSL的方案可以參考MacOS客戶端連接阿里雲NAS SMB文件系統,以及通過VPN網關實現本地數據中心訪問阿里雲NAS

四、引用

1. 通過NAT網關實現本地數據中心訪問阿里雲NAS

2. 將阿里雲SMB協議文件系統掛載點接入AD域

3. Apple Mac OS X connect to SMB share

4. MacOS客戶端連接阿里雲NAS SMB文件系統

5. 通過VPN網關實現本地數據中心訪問阿里雲NAS

Leave a Reply

Your email address will not be published. Required fields are marked *