20181108 公網Linux服務器開啓samba(smb)文件共享服務給家裏電腦用

背景

通過 linux 服務器搭建 samba 文件共享服務應該人人都會了吧,然而由於2017年5月,那個永恆之藍病毒(比特幣勒索病毒),導致運營商(某信、某動、某通)把 445 端口封了,因此你無法通過 445 端口連接你的 linux 服務器了,也就是說:你的samba文件共享服務已經廢了。

那怎麼辦?我這裏還有一套解決方案。

方案原理

既然 445 被封了,我們只能換端口了,比方說換成 6727 端口,但是呢,windows 默認連的是 445 端口啊,印度佬們不讓你改 windows 默認的 445 端口呀(講道理可以改註冊表來實現,但是我要是有幾臺 windows 電腦話豈不是要改得死去活來,況且要是你本來是有 windows 電腦與windows 電腦文件共享的呢)。這個時候通過netsh,設置本機端口映射到你那臺 samba 的 linux 服務器的 6727 端口。最後,你就可以通過

\\127.0.0.1

來訪問你的文件共享服務了。

需要材料

  1. 一個已經配置好 samba 的、有公網IP的 linux 服務器。(服務器到底有沒有配置好,你在服務器上用smbclient通過公網ip連接試試就知道了);
  2. 一臺永遠不打算共享文件給其他人的 windows 電腦(是的,你需要 win7 以上的電腦);

開始操作

改 linux 服務器 samba 服務的端口

用 vi 命令打開 配置文件 /etc/samba/smb.conf

我並不確定你也是這個路徑

然後設置

smb ports = 6727

在這裏插入圖片描述

重啓 smb 服務

systemctl restart smb

關閉 windows 的 445 端口

若是你沒有用過“某極度安全衛士”的話,你的 445 端口應該是一直被 LanmanServer 佔用的,這個 LanmanServer 就是幫你把你電腦的文件分享給別人。所以你要把這個服務禁用了,這個服務顯示的名字叫“Server”,你可以在 Windows 送的“服務”管理頁面中看到(點擊任務管理中的“服務”即可開啓),然後禁用它。但我更喜歡用命令行操作。

用管理員身份打開cmd,運行以下命令:

sc config LanmanServer start= disabled

要是運行後沒有顯示"成功"二字,那是可能你沒有用管理員權限運行吧。

啓動 windows 的 ip helper 服務

這個 ip helper 服務,就是用來搞端口轉發的,沒有了它就沒法轉發了。

用管理員身份打開cmd,運行以下命令:

sc config iphlpsvc start= auto

要是運行後沒有顯示"成功"二字,那是可能你沒有用管理員權限運行吧。

設置 windows 端口轉發

你的公網 IP 是 999.999.999.999 的話,那按照我下面的命令來搞。

用管理員身份打開cmd,運行以下命令:

netsh interface portproxy add v4tov4 listenport=445 connectaddress=999.999.999.999 connectport=6727

運行後什麼都不會顯示的,你就當你運行成功了吧。

重啓 windows 電腦

要是不重啓的話上面所做的都不會生效的。

重啓不用教了吧。

在 windows 上打開共享文件夾

win 鍵 + R 鍵 打開運行,輸入127.0.0.1,類似我這樣:

\\127.0.0.1

回車,然後提示輸入賬戶密碼,按照你 Linux 服務器 samba配置的賬戶密碼輸入,就成功了。

當然,映射網絡驅動器也是一樣,按照你原來怎麼搞就怎麼搞。

總不可能你連 windows 電腦之間文件共享都不會吧?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章