利用frp透穿訪問內(nèi)網(wǎng)的樹莓派

mac上安裝樹莓派系統(tǒng)

  1. 下載最新的樹莓派 (點此下載)
  2. 解壓zip文件得到 *.img 文件
  3. 把內(nèi)存卡連接到電腦上,確認內(nèi)存卡的標識:df -h
  4. 第3步得到了內(nèi)存卡的標識,它可能類似于:/dev/disk2s1,卸載它:diskutil unmount /dev/disk2s1
  5. 使用dd命令把 *.img 文件刻錄到內(nèi)存卡上:dd bs=40m if=xxx.img of=/dev/disk2s1,這一步會經(jīng)歷一段非常長且看起來無響應的時間,我的鏡像大概4G+,跑了有20分鐘

    如果想要看看dd的進度,可以使用 sudo killall -29 dd

  6. 鏡像寫入完畢不要急著拔掉內(nèi)存卡,terminal進入內(nèi)存卡(如果不知道怎么進入,可以用訪達打開內(nèi)存卡的boot目錄,然后拖個文件到terminal就行了)touch ssh 創(chuàng)建個空文件
  7. diskutil unmountDisk /dev/disk1 卸載內(nèi)存卡,系統(tǒng)安裝完成

安裝frp進行透穿

服務器設(shè)置
  1. 下載最新版frp程序到電腦上,注意需要下載服務器對應的版本,我的vps下載的是amd64的版本。這里不直接用vps下是因為curl wget我都失敗了。。。
  2. scp -p $服務器ssh端口 $frp.tar $服務器用戶名@$服務器地址:文件上傳后的目錄將tar上傳至vps
  3. 到vps中tar zxvf $frp.tar 解壓frp程序
  4. 設(shè)置frps.ini,我大概設(shè)置成這樣:
[common]
bind_addr = 服務器地址
bind_port = 7000
dashboard_port = 7500
dashboard_user = dashboard用戶名
dashboard_pwd = dashboard密碼
vhost_http_port = 8080
  1. nohup ./frps -c ./frps.ini 跑起程序
設(shè)置客戶端
  1. 下載最新版frp程序到電腦上,不直接下到樹莓派上的理由同服務端
  2. 使用sftp把frp程序上傳到樹莓派
  3. 解壓frp并設(shè)置frpc.ini,我大概 設(shè)置成:
[common]
server_addr = 服務器ip
server_port = 7000

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

[web]
type = http
local_port = 8000  // 這個端口是之后本地的web服務使用的端口
custom_domains = 個人域名
  1. nohup ./frpc -c ./frpc.ini 跑起程序

驗證是否成功布署

驗證 ssh 是否可以連接:

ssh -oPort=7000 pi@個人域名,正常的話將以ssh的方式進入樹莓派

這里的端口7000就是 frps.ini 里設(shè)置的 bind_port

驗證 http 是否可以訪問:
  1. 隨便找個目錄,執(zhí)行python -m SimpleHTTPServer 8000來創(chuàng)建一個簡單的服務器

這里的端口 8000 對應的是 frpc.ini 里 web 塊下的 local_port

  1. 瀏覽器訪問域名或服務器,記得帶上端口,比如我的:eraise.xyz:8080,如果正常將會打開一個簡單的網(wǎng)頁并顯示你樹莓派下某個文件夾的列表

這里的端口 8080 是 frps.ini 里設(shè)置的vhost_http_port

你可能會碰上的問題

  1. 通過frp進行ssh連接的時候,提示ssh_exchange_identification: read: Connection reset by peer
    這可能是你的服務器時間跟樹莓派時間相差太多導致的,我將兩者都設(shè)置為香港時間問題解決
  2. 通過frp進行ssh連接的時候,提示ssh: connect to host 192.243.113.148 port 7000: Connection refused
    這可能是你的樹莓派的frpc沒有啟動導致的,試著啟動一下frpc吧
  3. pip3 執(zhí)行的時候,提示:cannot import name 'main' error after upgrading pip
    這可能是先前使用pip安裝包,安裝失敗導致的,我現(xiàn)在的解決方案是:sudo python3 -m pip uninstall pip
  4. 安裝mysql,但卻找不著默認密碼,mysql -u root -p 進不去
    試一下root權(quán)限執(zhí)行 mysql 吧
  5. ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?
    可能是缺少ssl庫,試一下sudo apt install libssl-dev

參考資料:

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容