樹莓派公網服務器實現frp內網穿透


自己挖坑給自己埋,服務器都弄壞兩次,特來總結以下經驗。
前提准備:公網服務器IP(我的是阿里雲服務器)
你得確保你的服務器開通了端口號,不然連接不成功
阿里雲-網絡安全組配置-添加規則(我是打開了6000-7000之間的所有端口號,你也可以先按我的做)
獲取樹莓派所在局域網的IP地址(我的樹莓派是連的wifi)
打開wifi后台管理器,查看樹莓派連接的ip地址
這時已經獲取到樹莓派所在局域網的ip了:192.168.31.191(我的)
 
一、ssh到你的公網服務器安裝配置frp服務端frps
1.安裝包
wegt https://github.com/fatedier/frp/releases/download/v0.32.1/frp_0.32.1_linux_amd64.tar.gz
2.解壓包
tar -zxvf frp_0.32.0_linux_amd64.tar.gz
3.進入解壓包目錄
cd frp_0.32.0_linux_amd64
4.查看frps.ini
nano frps.ini
5.然后在里面編輯 默認內容
[common]
bind_port = 7000
ctrl+o保存 enter回車確認 最后ctrl+x退出
6.啟動frps(在frp_0.32.0_linux_amd64里啟動)
./frps -c ./frps.ini
這時候會提示啟動成功,不要關閉我們繼續配置客戶端,只有都啟動了才能連通ssh。
 
二、安裝配置frp客戶端frpc
1.安裝包
wegt https://github.com/fatedier/frp/releases/download/v0.32.1/frp_0.32.1_linux_arm.tar.gz
2.解壓包
tar -zxvf frp_0.32.1_linux_arm.tar.gz
3.進入解壓包目錄
cd frp_0.32.1_linux_arm
4.查看frpc.ini
nano frpc.ini
5.然后在里面編輯
[common]
server_addr =(你的公網服務器ip地址)
server_port = 7000
 
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
ctrl+o保存 enter回車確認 最后ctrl+x退出
6.啟動frpc (在frp_0.32.1_linux_arm目錄里啟動)
./frpc -c ./frpc.ini
這時候顯示成功了
 
就可以ssh連接你局域網的樹莓派了
端口號記得改成6000
特別提示一定要先成功連接服務端,再連接客戶端,服務端先走!!!
 
-----------------------常見報錯-----------------------
1. [ssh] start error: port already used
先找到這個進程
ps -aux|grep frp| grep -v grep
root 3520 0.1 0.1 111188 9484 pts/0 Sl 15:04 0:00 ./frpc -c ./frpc.ini
執行之后如果顯示這樣則成功了
然后kill -9 進程號
kill -9 3520
2.0.0.0.0:7000 already used (小心不要把22端口殺掉了,不然ssh連不上服務器)
提示7000端口已經被使用了
netstat -tanlp 查看tcp進程
 
sudo kill 2683  殺掉
3. 如果殺掉端口之后再服務端運行報錯,查看你的7000端口有沒有被關閉,關閉了就打開
nc -lp 7000 &(打開7000端口,即telnet)
4. 不要直接運行這種命令
你的機器上沒有這個文件會直接報錯,這個是要自己新建的自啟服務
這個方法比較好用,很方便
sudo vim /lib/systemd/system/frps.service
在frps.service里寫入以下內容
[Unit]
Description=fraps service
After=network.target syslog.target
Wants=network.target
 
[Service]
Type=simple
#寫你的frps的需要用絕對路徑
ExecStart=/XXX/frps -c /XXXX/frps.ini
 
[Install]
WantedBy=multi-user.target
然后就啟動frps
sudo systemctl start frps
再打開自啟動
sudo systemctl enable frps
如果要重啟應用,可以這樣,sudo systemctl restart frps
如果要停止應用,可以輸入,sudo systemctl stop frps
如果要查看應用的日志,可以輸入,sudo systemctl status frps
查看磁盤空間命令: df -hl


免責聲明!

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



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