帮助文档
专业提供香港服务器、香港云服务器、香港高防服务器租用、香港云主机、台湾服务器、美国服务器、美国云服务器vps租用、韩国高防服务器租用、新加坡服务器、日本服务器租用 一站式全球网络解决方案提供商!专业运营维护IDC数据中心,提供高质量的服务器托管,服务器机房租用,服务器机柜租用,IDC机房机柜租用等服务,稳定、安全、高性能的云端计算服务,实时满足您的多样性业务需求。 香港大带宽稳定可靠,高级工程师提供基于服务器硬件、操作系统、网络、应用环境、安全的免费技术支持。
服务器资讯 / 香港服务器租用 / 香港VPS租用 / 香港云服务器 / 美国服务器租用 / 台湾服务器租用 / 日本服务器租用 / 官方公告 / 帮助文档
linux下frp客户端服务端部署(超详细)
发布时间:2024-02-29 19:07:43   分类:帮助文档
linux下frp客户端服务端部署(超详细)


实际需求:实时远程项目现场的arm工控机的ssh以及应用的web页面
现场环境:arm工控机可以通过4g路由器上网,但是使用普通流量卡没有公网IP,无法直接通过公网IP来访问设备的ssh以及web服务
应用技术:内网穿透,反向代理
开源软件:frp,可以支持 tcp, udp, http, https的反向代理
本次测试你需要准备:一个具有公网IP的linux服务器(主机A),一个可以上网的arm工控机(主机B)
测试基本原理如下:








从github上获取最新发布版程序
地址:https://github.com/fatedier/frp/releases







在主机A上部署服务端
注意:在部署之前请确保下文中的端口在具有公网IP的服务器上开放







我的阿里云开放端口如上图所示。
下面一些列操作目的是让程序在服务端部署启动,并设置为开机自启动
# 创建目录
sudo mkdir -p /srv/frp
# 拷贝
sudo mv ~/frp_0.43.0_linux_amd64.tar.gz /srv/frp/
# 解压
sudo tar -zxvf frp_0.43.0_linux_amd64.tar.gz
# 修改frps.ini,frps.ini文件见下
sudo vim /srv/frp/frp_0.43.0_linux_amd64/frps.ini
# 配置frps frp server开机自启,frps.service文件内容在下面
sudo vim /etc/systemd/system/frps.service
# 创建日志保存文件夹
sudo mkdir /srv/frp/log
# 刷新服务列表
sudo systemctl daemon-reload
# 设置开机自启
sudo systemctl enable frps.service
# 启动服务
sudo systemctl start frps.service
下面是启动服务依赖frps.ini文件的配置,文件位置/srv/frp_0.43.0_linux_amd64/frps.ini(将原文件覆盖)
[common]
# frp对客户端的服务端口
bind_port = 49152
# token,客户端会用到,改的复杂些
token = csf_token
# 访问frp客户端web服务的端口
vhost_http_port = 49153
# pool_count(下限),max_pool_count(上限)
max_pool_count = 50
# tcp流多路复用,默认为true
tcp_mux = true

# frp管理后台端口
dashboard_port = 49154
# frp管理后台用户名和密码
dashboard_user = admin
dashboard_pwd = csf_pwd
# 允许服务监控
enable_prometheus = true
# frp日志配置
log_file = /srv/frp/log/frps.log
log_level = info
log_max_days = 3
下面是自启动服务依赖frps.service文件的配置,文件位置/etc/systemd/system/frps.service(需要新建)
[Unit]
Description=frps
After=network.target
Wants=network.target

[Service]
# 启动失败后重启服务
Restart=on-failure
# 重启间隔时间
RestartSec=5
# 修改为自己的frp目录,注意是frps
ExecStart=/srv/frp/frp_0.43.0_linux_amd64/frps -c /srv/frp/frp_0.43.0_linux_amd64/frps.ini

[Install]
WantedBy=multi-user.target
在执行完上述的脚本之后,在浏览器上输入你服务器的公网IP端口号49154(例如1.1.1.1:49154)
如果能够看到下面网页就代表frp服务器部署完成并正常启动







arm工控机客户端部署
首先在arm工控机上尝试ping一下公网ip和frp服务端口,确认ip以及端口是可以访问的
ping ip
telnet ip port
下载对应的arm版本发布版本,然后执行下面脚本
# 创建目录
sudo mkdir -p /srv/frp
# 拷贝
sudo mv ~/frp_0.43.0_linux_arm.tar.gz /srv/frp/
# 解压
sudo tar -zxvf frp_0.43.0_linux_arm.tar.gz
# 修改frpc.ini,frpc.ini文件见下
sudo vim /srv/frp/frp_0.43.0_linux_arm/frpc.ini
# 配置frpc frp client开机自启,frpc.service文件内容在下面
sudo vim /etc/systemd/system/frpc.service
# 刷新服务列表
sudo systemctl daemon-reload
# 设置开机自启
sudo systemctl enable frpc.service
# 启动服务
sudo systemctl start frpc.service
下面是客户端服务frpc.ini文件的配置,文件位置srv/frp_0.43.0_linux_arm/frpc.ini
[common]
server_addr = xx.xx.xx.xx
# 与frps.ini的bind_port一致
server_port = 49152
# 与frps.ini的token一致
token = csf_token

# 配置ssh服务,本文未配置
[ssh]
type = tcp
# frp客户端IP
local_ip = 127.0.0.1
# frp客户端ssh端口
local_port = 22
# 自定义ssh转发端口
remote_port = 55555

# 配置http服务,本文配置
[web]
type = http
# frp客户端IP
local_ip = 127.0.0.1
# frp客户端web服务端口
local_port = 49153
# frp服务端域名或者IP
custom_domains = xx.xx.xx.xx
# 自定义frp服务端端口,将本地80端口转出为公网ip端口的49153
local_port = 80
remote_port = 49153
下面是arm客户端配置自启动frpc.service,文件位置/etc/systemd/system/frpc.service
Unit]
Description=frpc
After=network.target
Wants=network.target

[Service]
# 启动失败后重启服务
Restart=on-failure
# 重启间隔时间
RestartSec=5
# 修改为自己的frp目录,注意是frpc
ExecStart=/srv/frp/frp_0.43.0_linux_arm/frpc -c /srv/frp/frp_0.43.0_linux_arm/frpc.ini

[Install]
WantedBy=multi-user.target
关于系统自启动相关的服务命令汇总
服务端
# 停止服务
sudo systemctl stop frps.service
# 启动服务
sudo systemctl start frps.service
# 重启服务
sudo systemctl restart frps.service
# 查看状态
sudo systemctl status frps.service
# 查看是否设置开机自启
sudo systemctl is-enabled frps.service
# 关闭开机自启
sudo systemctl disable frps.service
客户端
# 停止服务
sudo systemctl stop frpc.service
# 启动服务
sudo systemctl start frpc.service
# 重启服务
sudo systemctl restart frpc.service
# 查看状态
sudo systemctl status frpc.service
# 查看是否设置开机自启
sudo systemctl is-enabled frpc.service
# 关闭开机自启
sudo systemctl disable frpc.service
测试结果
ssh服务可以通过公网IP端口55555转发出来,如下图所示







web页面可以通过端口49153转发出来,如下图所示







到这里整个frp的服务端以及客户端的部署就全部完成了,有问题的话欢迎评论区讨论~




香港云服务器租用推荐
服务器租用资讯
·租用美国服务器配置
·怎样使用美国服务器(新的服务器怎样使用)
·怎么联系美国服务器(本服务器在美国受到法律)
·云服务器美国电影(美国高防云服务器)
·源服务器在美国(美国服务器ip)
·邮箱搭建美国服务器(群晖搭建邮箱服务器)
·微信美国服务器(微信小程序要服务器吗)
·受美国服务器保护(此服务器受美国保护)
·手机vpn美国服务器
服务器租用推荐
·美国服务器租用
·台湾服务器租用
·香港云服务器租用
·香港裸金属服务器
·香港高防服务器租用
·香港服务器租用特价