寫在前面的話
由於使用過程中,發現如果 Samba 只用於內網訪問,同事在外面甚至其它不是一個網段的同事就無法訪問了。這顯然不符合我們最終的需求,最后沒法,只能把訪問部署到雲服務器上面去,此時問題來了,不知道你還是否記得某個表情包:
沒錯,之前的勒索病毒攻擊,就是利用 445 端口,所以公網目前是封了這個端口的,哦豁~
所以我們得想辦法繞開這個 445,換成其它端口,但是問題同樣出來了,windows 使用 smb 默認就是 445 端口!
那還能怎么辦,本地端口轉發唄~
不知道 Samba 怎么搭建得查看我上一篇文檔:
配置 Samba
既然要使用其它端口,意味着我們服務的端口就不能再是 445,所以我們修改 Samba 主配置文件:/etc/samba/smb.conf
############################################################################## # 全局配置 ############################################################################## [global] workgroup = WORKGROUP server string = Samba Server Version %v netbios name = Samba log file = /var/log/samba/samba_log.%m max log size = 50 security = user passdb backend = tdbsam smb ports = 6727 include = /etc/samba/user/%U.smb.conf
通過 smb ports 將 Samba 的端口更改為:6727,然后重啟服務即可!
配置 Windows
Windows 比較麻煩,因為 smb 服務本身就是主要針對 Windows 的,所以 445 端口被安排的明明白白。
1. 以管理員身份運行 cmd 控制台:這里以 Windows 10 為例,Windows 7 一個意思
2. 執行如下命令:
sc config LanmanServer start= disabled net stop LanmanServer sc config iphlpsvc start= auto netsh interface portproxy add v4tov4 listenport=445 connectaddress=公網IP connectport=6727
我們先停止 445 端口的訪問,啟動本機的端口轉發,配置轉發規則。注意命令 = 后面需要空格。
3. 重啟電腦,據說不重啟不生效,我反正重啟了。
4. 訪問測試:
\\127.0.0.1
現在地址變成了這個:
輸入用戶名密碼訪問即可!
配置 Mac book
Mac 就更簡單了,因為它方式本身就和 Windows 不一樣,也不存在默認一定使用 445 的情況,所以可以直接訪問:
1. 打開 Finder:
2. 輸入訪問地址:
smb://用戶名:密碼@公網IP:6727
這樣直接就行,我這里把賬戶密碼寫到這里是為了方便切換用戶,如果你用戶是固定的,可以直接去掉:用戶名:密碼@
小結
至於 Linux 版本這里就不做描述了,說實話,那個沒啥需求,網上也很多。