frp技术是一种内网穿透技术。利用它可使没有公网ip的raspbian可通过外网访问,从而实现私有云及web服务。
raspberry pi上实现web服务,如wordpress等。在前述文章中已有详述。
详见:
树莓派学习笔记(二)-实战wordpress&kodexplorer
基于此,另外需要VPS一个,域名一个。
首先,搭建vps服务器端(以Debian 7 x64操作系统为例)
一、安装命令
- wget —no–check–certificate https://raw.githubusercontent.com/clangcn/onekey–install–shell/master/frps/install–frps.sh –O ./install–frps.sh
- chmod 700 ./install–frps.sh
- ./install–frps.sh install
二、安装步骤
Loading network version for frps, please wait…
frps Latest release file frp_0.8.1_linux_amd64.tar.gz #此步骤会自动获取frp最新版本,自动操作,无需理会
Loading You Server IP, please wait…
You Server IP:12.12.12.12 #自动获取你服务器的IP地址
Please input your server setting:
Please input frps bind_port [1-65535](Default Server Port: 5443): #输入frp提供服务的端口,用于服务器端和客户端通信
Please input frps dashboard_port [1-65535](Default dashboard_port: 6443): #输入frp的控制台服务端口,用于查看frp工作状态
Please input frps vhost_http_port [1-65535](Default vhost_http_port: 80): #输入frp进行http穿透的http服务端口
Please input frps vhost_https_port [1-65535](Default vhost_https_port: 443): #输入frp进行https穿透的https服务端口
Please input privilege_token (Default: WEWLRgwRjIJVPx2kuqzkGnvuftPLQniq): #输入frp服务器和客户端通信的密码,默认是随机生成的
Please input frps max_pool_count [1-200](Default max_pool_count: 50): #设置每个代理可以创建的连接池上限,默认50
##### Please select log_level #####
1: info
2: warn
3: error
4: debug
#####################################################
Enter your choice (1, 2, 3, 4 or exit. default [1]): #设置日志等级,4个选项,默认是info
Please input frps log_max_days [1-30]
(Default log_max_days: 3 day): #设置日志保留天数,范围是1到30天,默认保留3天。
##### Please select log_file #####
1: enable
2: disable
#####################################################
Enter your choice (1, 2 or exit. default [1]): #设置是否开启日志记录,默认开启,开启后日志等级及保留天数生效,否则等级和保留天数无效
设置完成后检查你的输入,如果没有问题按任意键继续安装
============== Check your input ==============
You Server IP : 12.12.12.12
Bind port : 5443
Dashboard port : 6443
vhost http port : 80
vhost https port: 443
Privilege token : WEWLRgwRjIJVPx2kuqzkGnvuftPLQniq
Max Pool count : 50
Log level : info
Log max days : 3
Log file : enable
==============================================
安装结束后显示如下代表安装成功:

访问ip:你设置的dashboardport端口,如12.12.12.12:6443

可进入frp管理面板。
三、更新和卸载命令
/install–frps.sh update 更新命令
/install–frps.sh uninstall 卸载命令
四、服务器端管理命令
/etc/init.d/frps start
/etc/init.d/frps stop
/etc/init.d/frps restart
/etc/init.d/frps status
/etc/init.d/frps config
/etc/init.d/frps version
五、确认frp的版本
/etc/init.d/frps version
第二步,在raspbian安装并设置客户端
访问 https://github.com/fatedier/frp/releases
确认服务器端frp版本的相应版本的下载地址,注意,raspberry pi是应选择linux_arm版本的,例如frp_0.16.0_linux_arm.tar.gz
使用命令行进行下载
wget https://github.com/fatedier/frp/releases/download/v0.16.0/frp_0.16.0_linux_arm.tar.gz
解压
tar -zxvf frp_0.16.0_linux_arm.tar.gz
编辑配置文件frpc.ini,可使用raspbian的图形界面的编辑器
[common]
server_addr = 12.12.12.12
server_port = 5443
privilege_token = privilege_token_value
login_fail_exit = false
[web]
privilege_mode = true
type = http
local_ip = 127.0.0.1
#local_port本地服务端口
local_port = 80
custom_domains = 你的域名
然后cd到frp目录中,执行
./frpc -c ./frpc.ini
即可启动frp客户端功能
若另有邮箱系统,如mail.xxxx.com
可在frpc.ini中
另外增加[mail]部分
可仿照[web]
但本地端口需更改为对应端口
第三步,域名解析
类型A 名称@ 值是VPSip
类型CNAME 名称www 值是@
若另有邮箱系统,如mail.xxxx.com
则增加
类型CNAME 名称mail 值www.xxxx.com
补遗:vps若安装宝塔系统或其他面板系统可能导致frp不能正常工作
或可通过vps端
/etc/init.d/ufw stop
关闭防火墙使之正常
鸣谢:
https://blog.csdn.net/sinat_30800357/article/details/78532956?locationNum=1&fps=1
http://www.landzo.cn/thread-16282-1-1.html
http://koolshare.cn/thread-65379-1-1.html
https://www.guanxuan.net/index.php/archives/7/
http://www.senra.me/nat-traversal-series-frp-next-generation-high-performance-ngrok-alternative/
http://www.qzkyl.cn/post-184.html