Windows訪問公網IP 騰訊雲 CVM Linux服務器 samba 共享

Linux服務器搭建samba服務

Install

yum install samba

離線安裝可參考centos 安裝 samba 使用記錄

配置

Quote: samba服務配置(一)

Note

由於永恆之藍,目前公網上的445端口已被封禁,故啓動samba服務時需要手動指定監聽端口,以4450爲例 👇:

/sbin/smbd -p 4450

騰訊雲安全組配置

配置過程參照安全組應用案例


Windows配置端口轉發

這個就必須要紀念一下啦 

網上的很多方法試了都不行,下面這個也是網上的,但沒寫清楚,很多細節,導致很多人都沒成功

廢話:

本人在家使用極路由作爲網關,並且買了一套4T的硬盤設備做了samba服務,在內網電腦訪問肯定是 mo問題啦


但是貪心的我還想在公司電腦和手機也能隨時隨地訪問資源


所以就不得不想辦法實現公網訪問,但是大家都知道samba的標準端口是445,但是公網因爲smb1漏洞和永恆之藍的原因全部禁封445端口。包括137和138也難逃封禁


爲了有公網地址,在本人的雲服務上使用了frp代理技術,將本地的samba服務的445端口映射到了公網的(不告訴你)端口

這樣就可以在Linux下使用 -p 選項指定端口號的方式直接公網訪問samba服務,安卓也可以使用nplayer軟件訪問

方便的簡直不要不要的 


但是問題,,來了,,我win電腦無法訪問,因爲win10系統不提供非標端口的samba訪問,所以接下來纔是重點:

(我要把黑板一頓暴擦)


在win下不能通過正常方式訪問,需要用端口轉發實現訪問

步驟:

1、前期自行搭建好非標端口的samba服務。這裏假設非標端口是8888,公網地址是123.123.123.123,並且有固定的公網IP地址,沒有就乖乖的,別鬧,除此之外,還需要用管理員權限打開cmd,執行如下操作:

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

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

sc config LanmanServer start= disabled
net stop LanmanServer

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

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

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

sc config iphlpsvc start= auto

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

image.png


2、(重點:)在win10下使用管理員權限打開cmd,輸入如下命令

netsh interface portproxy add v4tov4 listenaddress=127.0.0.1 listenport=445 connectaddress=123.123.123.123  connectport=8888

      查看是否設置成功

netsh interface portproxy show all


    設置成功的亞子

image.png


3、按住Win+R鍵,打開運行窗口,輸入control(就是打開控制面板),然後點擊程序,找到打開或關閉Windows功能,找到smb 1.0 ,全選,全部安裝。

image.png


4、安裝完畢後重啓電腦,重啓後用管理員權限運行powershell,不知道這個在哪的同樣點這裏

打開後檢測smb 1.0是否已經開啓

    對於 Windows 8、Windows 10 和 Windows Server 2012命令如下:

Get-SmbServerConfiguration | Select EnableSMB1Protocol

    正常開啓的顯示內容

PS C:\WINDOWS\system32> Get-SmbServerConfiguration | Select EnableSMB1Protocol


EnableSMB1Protocol

------------------

              True


其他win系統參考地址:點擊訪問

然後重啓系統(因爲重啓才生效)


端口查看是否成功:

netstat -ano|findstr "445"

image.png

重啓後還是不可以訪問的解決辦法

同樣適用上面的命令查看445端口占用情況,最後面的數字是佔用端口的PID進程號,打開任務管理器,找到對PID的程序,如果對應的程序名稱不是“svchost.exe”,則結束該進程後,重啓後再嘗試。

image.png

如果重啓還是佔用445端口,則右鍵該程序,點擊“轉到服務(s)”,確定服務名稱後,點擊下面的“打開服務”,找到後並將該服務設置爲“手動啓動”,再重啓電腦後嘗試。

正確的程序名稱應該是“svchost.exe”

正確的服務名稱應該是“iphlpsvc”

image.png


4、如果顯示正確,再次按住Win+R鍵,打開運行窗口,輸入如下語句

\\127.0.0.1\mydisk

其中mydisk是samba共享名,以自己設定的爲準

然後輸入賬號和密碼

你就可以開始肆無忌憚的公網遨遊了

哈哈哈哈哈哈啊。。。。(笑出豬叫聲)


貼一張親測實圖

image.png

原理:

在本地訪問\\127.0.0.1(不知道這個地址的可以點這裏教你)\共享名,然後系統會在本地檢索samba服務,但是根據設置的端口轉發,偵聽到有來自445端口的請求時,會自動轉發到設定好的目標服務器ip地址和目標端口來訪問,簡單說就是用本地訪問服務器的非標端口。


有問題下面留言啦,我會盡快回復


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