Samba:基於公網 IP 的服務訪問

  • 2019 年 10 月 3 日
  • 筆記

寫在前面的話

 

由於使用過程中,發現如果 Samba 只用於內網訪問,同事在外面甚至其它不是一個網段的同事就無法訪問了。這顯然不符合我們最終的需求,最後沒法,只能把訪問部署到雲伺服器上面去,此時問題來了,不知道你還是否記得某個表情包:

沒錯,之前的勒索病毒攻擊,就是利用 445 埠,所以公網目前是封了這個埠的,哦豁~

所以我們得想辦法繞開這個 445,換成其它埠,但是問題同樣出來了,windows 使用 smb 默認就是 445 埠!

那還能怎麼辦,本地埠轉發唄~

不知道 Samba 怎麼搭建得查看我上一篇文檔:

https://www.cnblogs.com/Dy1an/p/11265676.html

 

 

配置 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 版本這裡就不做描述了,說實話,那個沒啥需求,網上也很多。