首页 > 其他分享 >云主机Serv00 搭建frps 服务

云主机Serv00 搭建frps 服务

时间:2024-08-22 12:05:04浏览次数:9  
标签:Serv00 frps 主机 配置 端口 frp frpc port

Serv00 提供三个端口,可以安装软件,浅试下可以使用,就是延迟感人。

serv00搭建frps服务

一、配置DevilWEB

根据Serv00 发送的邮件账号信息,登录DevilWEB

1、设置端口

serv00搭建frps服务

点击添加端口,可以添加3个

serv00搭建frps服务

添加完成后如下

serv00搭建frps服务

2、查看设置IP

serv00搭建frps服务

serv00搭建frps服务
给自己的域名DNS解析添加A记录 x.xx.com,方便后续日常使用

二、配置服务端,安装frp

根据Serv00 发送的邮件信息,登录SSH

1、安装软件frp,frp 项目地址,执行以下命令,下载frp

wget https://github.com/fatedier/frp/releases/download/v0.35.0/frp_0.35.0_freebsd_amd64.tar.gz
tar -zxvf frp_0.35.0_freebsd_amd64.tar.gz && mv frp_0.35.0_freebsd_amd64 frp && chmod 777 frp 

此时会在当前文件夹生成frp 文件夹

2、配置frps.ini

进入frp 文件夹

[common]
bind_port = A #这个替换成上面配置的A端口
bind_addr = 0.0.0.0

# 日志的输入方式,如果设置log_file的话日志就输出到日志文件中保存在硬盘中,需要注意绝对路径和相对路径,还要注意Linux系统和Windows系统下 / 和 的区别。
log_file = /home/<code class="notranslate">你的用户名</code>/frp/logs/frps.log #这个替换路径
# 日志的记录级别,分为debug, info, warn, error四级,日志保存的天数,默认3天
log_level = info
log_max_days = 7

# 特权模式。
privilege_mode = true
privilege_allow_ports = B,C #这个替换成上面配置的B,C端口
token=xxxxxxxx

# 心跳配置,默认的心跳配置时间是30
heartbeat_timeout = 90
#客户端与服务端时间相差验证
authentication_timeout = 0

#连接池的数量,如果frp内网穿透客户端设置的连接池的数量大于下面的数值,就会修改frp客户端的连接池为下面的数值
max_pool_count = 100

3、配置frpc.ini

[common]
server_addr = 127.0.0.1
server_port = A #这个替换成上面配置的A端口
token = xxxxxxxx #这个输入上面设置的token

[route_webs_visitor]
type = stcp
role = visitor
server_name = route_webs
sk = 123456 #这个输入服务sk
bind_addr = 0.0.0.0
bind_port = B #这个替换成上面配置的B端口

[route_rdp_visitor]
type = stcp
role = visitor
server_name = route_rdp
sk = 123456 #这个输入服务sk
bind_addr = 0.0.0.0
bind_port = C #这个替换成上面配置的C端口

三、配置本地服务

1、本地配置frpc.ini

这里以docker 为例,

vim /data/docker/frp/frpc.ini
[common]
server_addr = x.xx.com #上面配置的服务,或者直接用IP
server_port = A #这个替换成上面配置的A端口
token = xxxxxxxx

[route_webs]
type = stcp
sk = 123456
local_ip = 192.168.1.1 #这个替换成本地IP
local_port = 80 #这个替换成本地端口

[route_rdp]
type = stcp
sk = 123456
local_ip = 192.168.1.2
local_port = 3389

2、运行frpc docker 容器

docker run -d
--restart unless-stopped
-v /data/docker/frp/frpc.ini:/etc/frp/frpc.ini
-v /data/docker/frp/logs:/etc/frp/logs
--name frpc-01
snowdreamtech/frpc:0.35.0

查看运行状态

docker logs frpc-01

四、设置守护进程

1、安装PM2监控

bash <(curl -s https://raw.githubusercontent.com/k0baya/alist_repl/main/serv00/install-pm2.sh) && source ~/.bashrc

pm2 start -x ./frp/frps -n frps -- -c ./frp/frps.ini
pm2 start -x ./frp/frpc -n frpc -- -c ./frp/frpc.ini

查看运行状态

pm2 ls

查看日志

pm2 logs

2、添加Cron jobs

在DevilWEB 中找到Cron jobs选项卡,使用Add cron job功能添加任务,Specify time选择After reboot,即为重启后运行。Form type选择Advanced,Command写:

/home/你的用户名/.npm-global/bin/pm2 resurrect

3、保存pm2任务快照

pm2 save

五、测试效果

serv00搭建frps服务

后记

运行几天发现DevilWEB 的Cron jobs 会被清空掉,遂添加脚本处理这个问题
此次用的是青龙面板,用其他调度工具也大差不差

1、添加依赖 sshpass

file

2、添加脚本

file

#!/bin/bash

URL="x.xx.com:B"  #之前配置的端口,部署成web 服务了,可以检测frps是否掉线

HTTP_STATUS=$(curl -o /dev/null --silent --head --write-out '%{http_code}\n' "${URL}")

echo "HTTP status code ${HTTP_STATUS}"

if [ $HTTP_STATUS -ne "000" ]; then
    echo "连接正常,跳过"
    echo "finished"
    return 0
fi

HOST=""  #Serv00 SSH host

USERNAME= #Serv00 SSH user

PASSWORD= #Serv00 SSH password

sshpass -p ${PASSWORD} ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -tt ${USERNAME}@${HOST} << EOF

if ps ax | grep -v grep | grep "frps" > /dev/null; then
   echo "进程存在,跳过"
else
   echo "进程不存在,恢复pm2快照"
   /home/username/.npm-global/bin/pm2 resurrect
fi

exit

EOF

echo "finished"

3、添加定时任务

file

标签:Serv00,frps,主机,配置,端口,frp,frpc,port
From: https://www.cnblogs.com/aeln/p/18373138

相关文章

  • 【待做】【整理】【横向移动】探测存活 · 主机篇
    免责声明此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。本文所提供的工具仅用于学习,禁......
  • Nginx 虚拟主机
    优质博文IT-BLOG-CN虚拟主机使用的是特殊的软硬件技术,把一台运行在因特网上的服务器主机分成一台台“虚拟”的主机,每台虚拟主机都可以是一个独立的网站,可以具有独立的域名,具有完成的Intemet服务器功能(WWW、FTP、Email等),同一台主机上的虚拟主机之间是完全独立的。从网......
  • Python被远程主机强制关闭后怎么自动重新运行进程
    要实现Python程序在被远程主机强制关闭后能够自动重新运行,我们可以采用几种方法,但最直接且常用的方法之一是结合操作系统级的工具或脚本。在Linux系统中,我们可以使用cron作业或者systemd服务来实现这一功能;在Windows系统中,可以使用任务计划程序。但在这里,为了提供一个跨平台的、更......
  • 服务器主机wordpress多网站启用redis缓存数据“混乱”解决办法
    近两天在搞网站数据迁移搬家的事情,是将A网站做为B网站的一个子目录,这样就牵涉到一个服务器两个网站的问题,因为这两个wordpress网站都使用了redis缓存,但在建站之初并没有设定不同的数据表前缀,后期修改我也不懂,直接导致了因为redis缓存两个网站数据“混乱”的问题。但好在网络......
  • 【Minecraft】京东云轻量云主机搭建我的世界联机服务器教程(Java版)
    一、Minecraft介绍《我的世界》(英语:Minecraft)是一款沙盒游戏,最初由瑞典游戏设计师马库斯·阿列克谢·泊松单独开发,随后由2009年成立的瑞典公司Mojang开发并发行。玩家可以在一个随机生成的3D世界内,以带材质贴图的立方体为基础进行游戏。游戏中的其他特色包括探索世界、采集资......
  • vCenter通过修改主机配置文件来重置ESXi主机root密码
    背景:管理员一般通过vCenter来管理ESXi主机,时间长了,ESXi主机的root密码忘记了,本文主要介绍在vCenter中通过修改主机配置文件来修改ESXI主机的root密码,不用重启ESXI主机。1、提取主机配置文件选中要操作的主机,右键选择“主机配置文件”>>点击“提取主机配置文件”。为方便标识,更改......
  • 在K8S中,在主机和容器上部署应用程序有什么区别?
    在Kubernetes中部署应用程序有两种主要的方式:直接在主机上部署(也称为裸金属或非容器化部署)和在容器中部署。这两种方式有着本质的区别,下面将详细介绍它们的特点和应用场景。1.直接在主机上部署应用程序特点:直接运行:应用程序直接安装在操作系统上,没有额外的容器层。资源利......
  • 用UDP协议实现跨主机文件传输,实现下载与上传文件(FTFP)
    要求:实现下载服务器目录上任意文件与上传本地文件到服务器特定目录下tftp协议概述简单文件传输协议,适用于在网络上进行文件传输的一套标准协议,使用UDP传输特点:是应用层协议基于UDP协议实现数据传输模式:octet:二进制模式(常用)服务器端:tftp下载模型TFTP通信过程总结......
  • Docker不同宿主机网络打通
    本方式使用dockerSwarm集群的方式创建overlay网络进行打通背景因java微服务使用nacos做配置中心,为了解决Nacos服务注册使用Docker容器内网ip问题,使用此方案前置条件1、宿主机之间需要开通端口管理端口:2377/tcp:用于管理Swarm模式集群。这是SwarmManager和Worker......
  • 【VMware VCF】VMware Cloud Foundation Part 07:管理工作负载域中的主机和集群。
    一个标准VMwareCloudFoundation实例中具有管理工作负载域和VI工作负载域两种类型,管理域有且只有一个,而VI域可以创建多个,每种工作负载域中可以具有多个vSphere集群,而每个集群中可以具有多台主机,有关工作负载域所支持的集群和主机数等限制请查看VMwareConfigurationMax......