用戶希望使用本地的MacOS、iPad、Linux、Windows等客戶端連接阿里雲上的NAS SMB文件系統,實現文件跨機器共享和永久存儲。
我們接下來介紹如何通過NAT網關建立混合雲架構,訪問阿里雲NAS SMB文件系統。
一、創建網關,將NAS SMB掛載點開放到公網
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。
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客戶端換端口的方案,歡迎告知我們。
三、總結
雖然NAT網關可以將NAS SMB掛載點開放到公網方便用戶本地客戶端進行訪問,但是直接暴露NAS SMB文件系統到公網有安全風險,任何人拿到公網地址和端口都可以進行訪問。
推薦使用VPN或者專線方案將連接保護起來。VPN + SSL的方案可以參考MacOS客戶端連接阿里雲NAS SMB文件系統,以及通過VPN網關實現本地數據中心訪問阿里雲NAS。