前兩年勒索病毒WannaCryptor.D ransomware利用445端口SMB協議上的漏洞大肆傳播,導致各大運營商都相繼屏蔽了445端口,因此我們想要在公網使用SMB連接也被一同被限制了。
首先要說的是,這個端口是Windows寫死的,無法更改,所以只能通過端口映射,端口轉發來實現連接。只需要在路由器,或者本地TCP映射軟件里設置一下,就能將本地445端口映射到其他可用的端口上,以此實現公網連接SMB。
如果是這樣,也就沒有問題了,手機上也有豐富的支持非標端口SMB連接的軟件,這里推薦兩個CX文件管理器和FE文件管理器。而且無論是Linux和Android都對SMB非標端口有相當的支持。
但是現在問題出在windows本身,它不僅寫死了服務端的端口,也同樣寫死了客戶端的端口,它不支持\\ip:port
這樣的連接方法,只支持\\ip
的寫法,然后默認去訪問指定地址的445端口,目前還沒有Windwos上支持非標端口SMB連接的客戶端,知乎上有人說可以用微軟商店的"yuki exploer",但是本人嘗試了一下並不可靠,甚至連默認的445端口都無法連接。
這樣下來,我們在外網Windows的部署上,還不得不在客戶端本地做一次端口轉發,簡單來說,可以使用這篇文章里的小工具,安裝好后如下圖添加轉發,就可以在Windows上使用非標端口連接SMB了。
目前的討論很有價值的是V2ex上的這個討論貼,我從中受益頗多,綜上所述,如果SMB僅僅作為局域網之間的傳輸還是好的。公網的Windwos端的訪問目前還沒有解決的方案,只能用本地的端口轉發來做連接,服務端客戶端都要部署還是有點過於麻煩了。
如果你的目的僅是分享電腦上的東西 給別人的話,那么有以下的方案:
①繼續使用SMB,服務端做映射后,Window客戶端訪問時需要自己做本地端口轉發,其他設備可以直接修改訪問端口(當然不嫌麻煩的話也可以用這些設備先下載,然后復制給windows.....)
②換用其他協議的共享方式,NAS共享訪問協議 有NFS、SMB、FTP、WebDAV 這四種,你可以選擇支持其他協議的軟件進行分享,上面的V2ex討論貼里就有人在分享。
分享兩個我常用的,基於HTTP協議,第一個是Cute HFS
第二個是就是經典的HFS
兩者其實差不多,Cute HFS是因為它幾乎全是圖形化,適合新手小白。第二個其實功能更全面,但是想熟悉操作要花點時間,HPS其實有2.4的版本,但是相比之下2.3版本的更穩定,模板也更多。
這里我也分享一個模板,【全功能專用】Http File Server (HFS) 專用HFS模板 最終修訂版。
還有一件事,國內的ISP除開備案申請,其余都是 默認是關閉了80和443端口的,上面的軟件在使用時,記得換成其他有效的端口,通過http://域名或IP:端口/
來訪問。如果想直接使用80端口的話,免不了還要折騰一番,聽聞nat123可以實現,不知道是否可行...
最后擴充:
關於SMB的端口知識,有\\computername
和\\ip
兩種連接方式。
使用計算機名連接的會使用到UDP 137端口,從而使用Netbios協議用TCP 139端口來連接SMB。而直接使用ip連接則是直接TCP 445端口來連接smb。