树莓派使用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 未本地化版本许可协议进行许可。

相关文章
相关标签/搜索