win10連接公網ip的samba服務器


1、我們都知道,samba是默認使用445端口進行通信
2、因為 smb 服務本身就是主要針對 Windows 的,所以 445 端口被安排的明明白白。
3、由於2017年5月,那個永恆之藍病毒(比特幣勒索病毒),導致運營商(某信、某動、某通)把 445 端口封了,因此你無法通過 445 端口連接你的 linux 服務器了,也就是說:你的samba文件共享服務已經廢了。


話不多說!往下看!!!

方案原理:

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

配置 Samba

既然要使用其它端口,意味着我們服務的端口就不能再是 445,所以我們修改 Samba 主配置文件:/etc/samba/smb.conf;通過 smb ports 將 Samba 的端口更改為:6727,然后重啟服務即可!systemctl restart smb

至此,samba服務就配置完成了

配置window10

先以管理員身份運行 cmd 控制台:這里以 Windows 10 為例

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

sc config LanmanServer start= disabled
net stop LanmanServer

2、啟動 windows 的 ip helper 服務

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

運行以下命令(要是運行后會顯示"成功"二字):sc config iphlpsvc start= auto

3、設置 windows 端口轉發

假如你的公網ip是xxx.xx.xxx.xx

運行以下命令:netsh interface portproxy add v4tov4 listenport=445 connectaddress=xxx.xx.xxx.xx connectport=6727運行后什么都不會顯示的
必須要重啟電腦

查看轉發的端口:netsh interface portproxy show v4tov4

4、輸入\\127.0.0.1即可訪問

若用linux訪問smbclient //xxx.xx.xxx.xx/myshare -p 6727 -U samba;若不知道目錄,則要檢索smbclient -L //xxx.xx.xxx.xx -p 6727 -U samba
linux掛載samba:mount -t cifs //xxx.xx.xxx.xx/myshare /samba/samba1/ -o username=samba,password=samba,port=6727,取消掛載:umount /samba/samba1/
若用mac smb://用戶名:密碼@xxx.xx.xxx.xx:6727

至此,大功告成!!

注意點:

1、服務器有沒對應開啟6727端口


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM