樹莓派使用frp實現內網穿透 | 樹莓派小無相系列

若是沒有公網ip,但又想隨時隨地都能鏈接到樹莓派,咱們可使用 frp 來實現。linux

準備條件

咱們須要一臺 vps,以便作轉發的服務端。git

服務端配置 - frps

frp 的服務器端,通常名爲 frps,配置文件是 frps.ini。能夠在 frp 官方頁面 獲取到最新版本的下載連接(此處以 frp_0.17.0_linux_amd64 爲例)。接着使用 ssh 登陸 vps 端操做,命令行以下:github

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
cd frp_0.17.0_linux_amd64
nano frps.ini

配置文件內容以下:服務器

[common]
bind_port = 7000
vhost_http_port = 80
dashboard_port = dashboard_port_number
dashboard_user = dashboard_user_name
dashboard_pwd = dashboard_pwd_value
privilege_token = privilege_token_value

ctrl+o 保存,以後 回車 確認,而後 ctrl+x 退出。ssh

參數說明tcp

  • bind_port:綁定的端口,須要與客戶端中 server_port 參數保持一致
  • vhost_http_port:虛擬主機運行在本機的端口,若是 vps 有服務佔用了端口,應當更換
  • dashboard_port:frp 後臺服務頁面的端口,若是設置 8000,即可經過 http://yourip:8000 來訪問 frps 的後臺頁面
  • dashboard_user:frp 後臺服務頁面的管理員用戶名
  • dashboard_pwd:frp 後臺服務頁面的管理員密碼
  • privilege_token:自定義值,必須與客戶端中的 privilege_token 保持一致

配置完成以後,即可以經過以下命令啓動 frps:命令行

./frps -c ./frps.ini

爲了讓服務器一直運行 frp 服務,這裏還能夠將它添加到開機自啓腳本中,命令行以下:code

sudo nano /etc/rc.local

exit 0 前一行,寫上命令,其中 <your_frp_path> 爲你 frp 存放的目錄位置,即:server

<your_frp_path>/frps -c <your_frp_path>/frps.ini

ctrl+o 保存,以後 回車 確認,而後 ctrl+x 退出。教程

客戶端配置 - frpc

frp 的客戶端,通常名爲 frpc,配置文件是 frpc.ini。一樣能夠在 frp 官方頁面 獲取到最新版本的下載連接(此處以 frp_0.17.0_linux_arm 爲例)。接着使用 ssh 登陸 vps 端操做,命令行以下:

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
cd frp_0.17.0_linux_arm
nano frpc.ini

配置文件內容以下:

[common]
server_addr = your_server_ip
server_port = 7000
privilege_token = privilege_token_value
login_fail_exit = false

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

remote_port = remote_port_number

ctrl+o 保存,以後 回車 確認,而後 ctrl+x 退出。

參數說明

  • server_addr:服務器端的 ip
  • server_port:服務器端的端口,即 bind_port
  • privilege_token:同服務器端的 privilege_token 保持一致
  • login_fail_exit:失敗時自動重連
  • remote_port:遠程端口,即 ssh 鏈接樹莓派時的端口

配置完成以後,即可以經過以下命令啓動 frps:

./frpc -c ./frpc.ini

爲了讓樹莓派一直運行 frp 服務,這裏還能夠將它添加到開機自啓腳本中,命令行以下:

sudo nano /etc/rc.local

exit 0 前一行,寫上命令,其中 <your_frp_path> 爲你 frp 存放的目錄位置,即:

<your_frp_path>/frps -c <your_frp_path>/frps.ini

ctrl+o 保存,以後 回車 確認,而後 ctrl+x 退出。

ssh 鏈接

以上配置完成以後,就能夠遠程 ssh 鏈接到樹莓派了。命令行以下:

ssh -oPort=<remote_port_number> pi@<your_server_ip>

其中,<remote_port_number> 爲樹莓派配置中的 remote_port 參數值,<your_server_ip> 爲服務器 ip。

系列說明

小無相功是小說《天龍八部》中「逍遙派」的一門內功,講究不着形相,無跡可尋,熟悉後再瞭解其餘武功招式即可依仗威力習得,甚至青出於藍而勝於藍。而樹莓派形似小無相功,同具無限可能,瞭解一些基礎即可輕鬆上手,去探尋其餘更多未知。所以,系列以此爲題,帶來一系列樹莓派相關的教程,同時也是對我的長期折騰樹莓派以來的一個歸檔整理。

注:本做品採用知識共享署名-非商業性使用-禁止演繹 3.0 未本地化版本許可協議進行許可。

相關文章
相關標籤/搜索