【內網穿透伺服器】公網環境訪問內網伺服器(以使用samba(smb)檔案共享服務為例)
公網環境訪問內網伺服器,以使用samba(smb)檔案共享服務為例
如何在公網環境下訪問內網伺服器?本文以在家中通過samba搭建完成家庭nas伺服器後,如何在公網環境下訪問內網伺服器,使用samba(smb)檔案共享服務為例,進行講解。
一、搭建鏈路
1. 內網伺服器處於的內網擁有公網IP情況下
(1) 擁有靜態公網IP情況下:
Step 1 固定內網IP
Step 2 埠對映或DMZ對映
(2)擁有動態公網IP(動態NAT裝置)情況下:
Step 1 路由器靜態分配內網IP
Step 2 埠對映或DMZ對映
Step 3 動態域名解析
2. 內網伺服器處於的內網不具有公網IP情況下
(1)方法一: 內外網搭建VPN(安全,推薦)
點選檢視部署方法
(2)方法二 內網穿透 點選檢視全部操作方法
在此重點介紹frp內網穿透 檢視文章
1. 防火牆需要開放相應埠:
2. 服務端配置:
sudo apt-get update
wget https://github.com/fatedier/frp/releases/download/v0.17.0/frp_0.17.0_linux_amd64.tar.gz
tar -zxvf frp_0.17.0_linux_amd64.tar.gz #解壓縮:tar xvf 檔名
cd frp_0.17.0_linux_amd64 #進入解壓目錄
#修改frps.ini檔案
sudo vim ./frps.ini
新增以下內容:
[common]
bind_addr = 0.0.0.0 # 0.0.0.0為伺服器全域性所有IP可用,假如你的伺服器有多個IP則可以這樣做,或者填寫為指定其中的一個伺服器IP,支援IPV6.
bind_port = 7000 # 客戶端與服務端進行通訊的埠,即frp服務埠,需與客戶端server_port一致
dashboard_port = 7500 # 控制檯埠 通過 Dashboard 可以方便的檢視 FRP 的狀態以及代理統計資訊展示 通過 http://[server_addr]:7500 訪問 Dashboard 介面,使用者名稱密碼預設都為 admin。
#後臺保持啟動 需要在frp_0.17.0_linux_amd64目錄下操作
nohup ./frps -c ./frps.ini &
返回:nohup: ignoring input and appending output to ‘nohup.out’ 代表執行成功,ctrl+c關閉即可;用ps -ef 會在程式中看見frp工作程式。
3. 客戶端配置:
sudo apt-get update
wget https://github.com/fatedier/frp/releases/download/v0.17.0/frp_0.17.0_linux_arm.tar.gz
tar -zxvf frp_0.17.0_linux_arm.tar.gz #解壓縮:tar xvf 檔名
cd frp_0.17.0_linux_arm #進入解壓目錄
#修改frps.ini檔案
sudo vim ./frpc.ini
新增以下內容(需要刪除註釋):
[common]
server_addr = your_server_ip #VPS伺服器IP
server_port = 7000 #埠,與服務端bind_port一致
[samba]
type = tcp
local_ip = 127.0.0.1
local_port = 445 #samba預設埠
remote_port = 4545 #自定義的遠端訪問埠,4545是轉發埠,目的是將本地的445埠轉發到遠端伺服器上面的4545埠中去。
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 21
remote_port =6000
# 對外提供檔案訪問服務
[test_static_file]
type = tcp
remote_port = 6500
plugin = static_file
# 要對外暴露的檔案目錄
plugin_local_path =/samba
# 訪問 url 中會被去除的字首,保留的內容即為要訪問的檔案路徑
plugin_strip_prefix = static
plugin_http_user = 123
plugin_http_passwd = 123
plugin_local_path = 寫絕對路徑(從root根目錄開始) 如:/home/pi/Desktop 這裡選擇進入 samba 目錄
先執行一下,有上面的顯示說明能夠正常執行後再在後臺啟動。
#後臺保持啟動 需要在frp_0.17.0_linux_arm目錄下操作
nohup ./frpc -c ./frpc.ini &
注意!!!每次修改完配置檔案之後,需要先kill之前的FRP程式,重新執行才可以更新配置!
注意!!!每次修改完配置檔案之後,需要先kill之前的FRP程式,重新執行才可以更新配置!
注意!!!每次修改完配置檔案之後,需要先kill之前的FRP程式,重新執行才可以更新配置!
查詢程式與結束程式命令:
ps -ef |grep frpc
kill -9 [程式號]
設定為開機自動啟動
sudo vim /etc/systemd/system/frpc.service
[Unit]
Description=frpc daemon
After=syslog.target network.target
Wants=network.target
[Service]
Type=simple
ExecStart=/frp_0.17.0_linux_arm/frpc -c /frp_0.17.0_linux_arm/frpc.ini
Restart= always
RestartSec=1min
[Install]
WantedBy=multi-user.target
注意ExecStart中要配置成自己的路徑.
然後使用systemctl start frpc即可啟動frpc, 用systemctl enable frpc即可將frpc設定為開機啟動。
不要忘記開放相應埠!
二、訪問
在鏈路搭建完成之後,我們可以開始正式的訪問了。
1. linux
#安裝cifs
apt-get install cifs-utils
mount.cifs -o port=4545 //伺服器ip/public/vps /mnt/share/
記得要先建立share目錄,不然可能會掛載失敗。
2. windows:
(1)方法一:使用Winscp等軟體SFTP(ssh)登陸
填寫主機IP(VPS的公網IP)、埠(自定義的遠端訪問埠6000)、使用者名稱密碼(樹莓派的使用者名稱和密碼) ,即可訪問。
手機良心推薦使用 nPlayer app
(2)方法二:使用FRP對外檔案訪問服務
除了上面提到的使用SFTP服務以外,通過瀏覽器訪問 http://x.x.x.x:6500/static/ 來檢視位於 /samba 目錄下的檔案,會要求輸入已設定好的使用者名稱和密碼。
(3)方法三:使用FTP服務訪問 實現方法點此檢視
搭建FTP服務後:
< 1 > 通過 ftp://使用者名稱:密碼@IP:埠 的形式訪問samba
< 2 > 使用FileZilla登陸FTP訪問samba
FileZilla下載:
連結:https://pan.baidu.com/s/11hd0Kqw5pGxRcer6aBh__Q
提取碼:jtn2
< 3 > 使用FTP磁碟對映訪問samba
友情提示一點,你是不是在用公網的伺服器地址嘗試連線本地內網的FTP資料夾,捨不得開熱點,恐怕要經歷失敗(手動狗頭)。點此瞭解出現227 Entering Passive Mode錯誤命令原因及解決方法。
(4)方法四:使用WebDAV服務,磁碟對映
在區域網環境下,我們會採用對映網路驅動器的方式使用samba(smb)檔案共享服務
具體來講:我的電腦—>對映網路驅動器—>碟符:\\IP地址\share
在公網環境下,除了上文降到的使用FTP磁碟對映訪問samba,我們還可以使用WebDAV服務,對映磁碟。
通過安裝WebDAV Server ,開啟http埠,在路由器做埠轉發,在windows系統上安裝NetDrive
(5)方法五:使用VNC遠端登入的方式訪問內網samba(smb)檔案共享服務
上述方法一直都是在嘗試穿透內網伺服器,但是針對內網samba(smb)檔案共享服務,由於其使用平臺多為計算機,因此我們也可以通過穿透內網環境下的對映了samba(smb)檔案共享服務的網路驅動器的計算機,直接訪問。實現方式點選此處.
參考:
1: https://dengxj.blog.csdn.net/article/details/88821719
2: https://dengxj.blog.csdn.net/article/details/88922690
3: https://dengxj.blog.csdn.net/article/details/88952420
4: https://dengxj.blog.csdn.net/article/details/89520682
相關文章
- 20181108 公網Linux伺服器開啟samba(smb)檔案共享服務給家裡電腦用Linux伺服器Samba
- 公網Linux環境搭建frp實現內網穿透LinuxFRP內網穿透
- 使用 frp 搭建內網穿透伺服器 Web 使用例項FRP內網穿透伺服器Web
- N1盒子玩法-內網穿透公網訪問內網穿透
- 什麼是內網穿透?為什麼使用內網穿透?內網穿透
- 使用FRP、雲伺服器搭建內網穿透FRP伺服器內網穿透
- [ssh訪問內網伺服器]使用Natapp來進行內網埠轉發內網伺服器APP
- 使用frp進行內網穿透,實現ssh遠端訪問Linux伺服器FRP內網穿透Linux伺服器
- 藉助公有云伺服器內網穿牆ssh訪問內網伺服器伺服器內網
- 使用ssh隧道穿透NAT訪問內網主機穿透內網
- 如何從公網訪問內網Django內網Django
- 使用電信光貓加路由器實現內網穿透,外網訪問內網路由器內網穿透
- 如何利用samba(smb服務)實現網路檔案共享Samba
- 免費內網穿透方案 實現外網訪問內網群暉/NAS內網穿透
- 使用網雲穿「內網穿透」實現外網訪問內網瑞友天翼等軟體內網穿透
- 如何外網訪問內網svn 網雲穿內網穿透教你簡單實現內網穿透
- 利用內網穿透 實現外網訪問內網 MySQL等資料庫教程內網穿透MySql資料庫
- `cloudflare`優選`ip`訪問內網伺服器Cloud內網伺服器
- 為什麼國內網站訪問慢【香港伺服器】?內網網站伺服器
- 內網穿透(mac,window,linux通用)1分鐘實現外網訪問電腦本地伺服器內網穿透MacLinux伺服器
- 「內網穿透伺服器」穿透80埠 實現對外釋出網站內網穿透伺服器網站
- 網路檔案共享服務
- 內網穿透—使用 frp 實現內外網互通內網穿透FRP
- frp實現內網穿透--支援80埠訪問FRP內網穿透
- 如何從公網訪問內網MongoDB資料庫內網MongoDB資料庫
- 內網穿透管家婆,免費快速實現外網訪問內網穿透
- 內網穿透的作用 免費內網穿透有哪些?內網穿透
- frp 和 nginx 搭建一個內網穿透伺服器FRPNginx內網穿透伺服器
- 怎樣從公網訪問內網Redis資料庫內網Redis資料庫
- FRP 內網穿透FRP內網穿透
- ngrok 內網穿透內網穿透
- 內網穿透指南內網穿透
- 簡單免費的內網穿透工具 實現外網訪問內網樹莓派、群暉/nas/遠端控制 無需公網ip內網穿透樹莓派
- 群暉 / 貓盤等私有 NAS 使用網穿雲進行內網穿透訪問教程內網穿透
- 內網穿透教程,簡單,便捷,極速穿透內網埠內網穿透
- frp免費內網穿透訪問家用電腦本地服務(http示例)FRP內網穿透HTTP
- 使用frp實現內網穿透FRP內網穿透
- 內網穿透神器 Ngrok 的使用內網穿透