树莓派-搭建frp服务

一、简介

frp 是一个开源、简洁易用、高性能的内网穿透和反向代理软件,支持 tcp, udp, http, https等协议。
项目地址:
https://github.com/fatedier/frp
release版本下载:
https://github.com/fatedier/frp/releases
部署时可以使用源码编译获取直接下载release版本。

frp使用时,需要部署服务端(frps)和客户端(frpc),服务端应该具体公网IP,客户端通常部署到局域网内,通过frp可以使用公网IP访问到局域网内的设备,从而实现内网穿透、反向代理的功能。为避免出现兼容性问题,建议frpc和frps版本号保持一致。
根据部署环境不同(windows或linux,x86或arm),也要注意根据运行平台选择对应的版本。

二、frps部署

frps部署在阿里云,下载frp版本为:frp_0.40.0_linux_amd64.tar.gz

1、部署应用程序

解压后文件如下图所示:

frp_0.40.0_linux_amd64
├── frpc
├── frpc_full.ini
├── frpc.ini
├── frps
├── frps_full.ini
├── frps.ini
├── LICENSE
└── systemd
    ├── frpc.service
    ├── frpc@.service
    ├── frps.service
    └── frps@.service

对服务端只需要使用frps、frps.ini、frps.service,需要部署到指定路径:

sudo cp frp_0.40.0_linux_amd64/frps /usr/bin/
sudo mkdir /etc/frp/
sudo cp frp_0.40.0_linux_amd64/frps.ini /etc/frp/
sudo cp frp_0.40.0_linux_amd64/systemd/frps.service /lib/systemd/system/

部署其他路径需要对应调整frps.service中的路径信息。

2、更新配置文件

部署完成后,需要根据自己环境修改配置信息。完成的配置信息可以参考frps_full.ini文件,常规配置信息如下:

[common]
bind_port = 7000		# 默认监听端口,可以修改
vhost_http_port = 80	# http服务默认端口,可以修改
vhost_https_port = 443	# https服务默认端口,可以修改

token = xxxxx			# 用于服务端和客户端的验证,自行配置

dashboard_port = 7500	# dashboard配置信息,建议配置
dashboard_user = admin
dashboard_pwd = admin
enable_prometheus = true

log_file = /var/log/frps.log	# 日志信息配置,可选
log_level = info
log_max_days = 3
3、运行管理
sudo systemctl start frps	# 启动服务
sudo systemctl restart frps # 重启服务
sudo systemctl stop frps	# 停止服务
sudo systemctl status frps  # 查询状态
sudo systemctl enable frps  # 使能开机自启动
sudo systemctl disable frps # 失能开机自启动
sudo journalctl -u frps -f  # 查询运行日志

三、frpc部署

frpc部署在树莓派(32位),下载frp版本为:frp_0.40.0_linux_arm.tar.gz

1、部署应用程序

解压后文件如下图所示:

frp_0.40.0_linux_arm
├── frpc
├── frpc_full.ini
├── frpc.ini
├── frps
├── frps_full.ini
├── frps.ini
├── LICENSE
└── systemd
    ├── frpc.service
    ├── frpc@.service
    ├── frps.service
    └── frps@.service

对服务端只需要使用frpc、frpc.ini、frpc.service,需要部署到指定路径:

sudo cp frp_0.40.0_linux_arm/frpc /usr/bin/
sudo mkdir /etc/frp/
sudo cp frp_0.40.0_linux_arm/frpc.ini /etc/frp/
sudo cp frp_0.40.0_linux_arm/systemd/frpc.service /lib/systemd/system/

部署其他路径需要对应调整frpc.service中的路径信息。

2、更新配置文件

部署完成后,需要根据自己环境修改配置信息。完成的配置信息可以参考frpc_full.ini文件,常规配置信息如下:

[common]
server_addr = xxx.xxx.xxx.xxx	# frp service服务器IP
server_port = 7000				# frp service监听端口

token = xxxxxx		# 需与服务端保持一致,才能连接

[ssh_22000]			# ssh服务
type = tcp
local_ip = 127.0.0.1
local_port = 22		# 设备ssh服务端口号
remote_port = 22000	# 基于frp访问该设备时应指定的端口号

[web_22000_01]		# web服务
type = http
local_ip = 127.0.0.1
local_port = 10000		# 设备提供服务的端口
custom_domains = web.22000.01	# 访问域名,若无备案,需要把该域名添加到访问设备的hosts文件中

[web_22000_02]		# web服务,第二个
type = http
local_ip = 127.0.0.1
local_port = 10000		# 设备提供服务的端口
custom_domains = web.22000.02   # 访问域名,若无备案,需要把该域名添加到访问设备的hosts文件中
3、运行管理
sudo systemctl start frpc	# 启动服务
sudo systemctl restart frpc # 重启服务
sudo systemctl stop frpc	# 停止服务
sudo systemctl status frpc  # 查询状态
sudo systemctl enable frpc  # 使能开机自启动
sudo systemctl disable frpc # 失能开机自启动
sudo journalctl -u frpc -f  # 查询运行日志

四、使用说明

  • 查看frp运行状态
    默认dashboard的端口号为7500,可以使用服务器地址加端口号的方式访问frp的dashboard,如:
    frp dashboard

  • 1-Service 对应 n-Client
    frps的一个进程对应一个frp service,可起多个进程提供frp服务。
    对于frp的一个service也支持多个client使用连接,但client的配置文件中[ssh] [web]名需要保持唯一。

  • 自定义域名解析
    frpc的web服务中,需要提供自定义域名,若无已备案域名,可以将自定义域名添加到访问设备的hosts文件(映射为服务器IP),用于web服务的内网穿透/代理。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

long7066

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值