frp内网穿透服务器搭建(自建frp内网穿透)

2023-09-22 15:45:49

一、简介

frp是一款跨平台的内网穿透工具,支持Windows系统,支持linux内核的系统,支持软路由系统,支持群晖nas系统。可以实现多种服务的穿透,以我个人为例,我就通过frp实现了路由器的远程管理,nas的远程访问,pve虚拟机的远程管理,办公电脑的远程桌面。通过一段时间的使用感觉frp就是神器!

无线路由器-网关-dtu

我目前通过frp穿透的一些服务和应用

二、搭建frp需要准备的材料:

1、一台腾讯云或者阿里云的轻量化服务器,我用的是腾讯云的轻量化服务器。新用户59元每年,感觉这个价格还是可以承受的。

2、下载frp服务器软件和客户端软件:
https://github.com/fatedier/frp/releases/tag/v0.42.0,选择对应平台即可

3、ssh工具MobaXterm.exe

三、详细步骤

第一步:购买轻量化服务器,给服务器装系统,推荐安装Ubuntu18.04,占用资源少而且相关教程特别多

第二步:进入GitHub下载对应客户端服务器软件,安装Ubuntu的话直接下载
frp_0.42.0_linux_amd64.tar.gz,这个压缩包里面既包含了Linux服务器软件又包含了Linux客户端软件,其中frps和frps.ini是服务器软件和配置文件,frpc和frpc.ini是客户端软件和配置文件。

无线路由器-网关-dtu

第三步:服务器端软件安装配置和开机启动

通过ssh工具MobaXterm.exe远程登陆进服务器,将压缩包上传到服务器,root目录然后解压解压,然后进入frp目录

tar -zxvf frp_0.42.0_linux_amd64.tar.gz

cd frp_0.41.0_linux_amd64/

nano frps.ini

[common]

bind_addr=0.0.0.0

bind_port = 7000

dashboard_user = admin

dashboard_pwd = xxxx(登录网页管理界面的密码)

dashboard_port = 8088

token = 1234567890(设置令牌,我的只是演示)

把红色部分代码复制到frps.ini配置文件,Ctrl+x Y enter退出

然后在这个目录下设置开机启动

sudo mkdir -p /etc/frp

sudo cp frps.ini /etc/frp

sudo cp frps /usr/bin

sudo mkdir /usr/lib/systemd/system

sudo cp systemd/frps.service /usr/lib/systemd/system/

sudo systemctl enable frps

sudo systemctl start frps

第四步添加服务器规则放行端口

进入服务器,添加防火墙规则,设置内网穿透时的远程访问端口和frp管理面板的端口

管理端口的地址是8088

frp的服务端口7000

其他放行端口根据自己喜好

无线路由器-网关-dtu

第五步,客户端配置

下载对应客户端平台的客户端软件,windows64就下载
frp_0.42.0_windows_amd64.zip ,更改frpc.ini文件

[common]

server_addr = 服务器公网地址

server_port = 7000

token = 1234567890

pool_count = 5

[ssh1](名字根据自己情况起)

type = tcp

local_ip = 127.0.0.1

local_port = 3389 (本地需要映射的端口)

remote_port = 7001 (服务器规则里放行的端口)

cmd切换到frpc所在目录使用frpc.exe -c frpc.ini 命令就可以开启frp实现穿透了

四、入门到精通–哈哈

第一个:如果想在一台客户端主机上实现多个端口穿透也是可以实现的,请看如下代码

[common]

server_addr = 服务器公网地址

server_port = 7000

token = 1234567890

pool_count = 5

[range:xxx](名字根据自己情况起)

type = tcp

local_ip = 127.0.0.1

local_port = 3389,80,22 (本地需要映射的端口)

remote_port = 7001,7002,7003 (服务器规则里放行的端口)

只要在服务器端放行相应的端口就行了

第二个 windows平台开机启动

因为Windows系统下从命令行启动frp内网穿透工具后,如果关闭命令行的黑窗口,frp内网穿透服务就停止了,并且任务栏上一直有个命令行窗口也很不方便,所以要开机后启动并且要隐藏frp内网穿透工具的窗口,方法是这样的:新建一个文本文件,文件内写入如下内容,frp的文件路径根据自己的实际情况修改,然后重命名这个文本文件为frp.vbs ,注意txt的扩展名也要改为vbs,然后把这个frp.vbs放到Windows的启动目录里面。 Windows的启动目录位于“C:ProgramDataMicrosoftWindowsStart MenuProgramsStartUp”(如果找不到这个目录可以在运行里面输入: “shell:startup” 或者输入“%programdata%MicrosoftWindowsStart MenuProgramsStartup”)

set ws=WScript.CreateObject(“WScript.Shell”)

ws.Run “d:frpc.exe -c d:frpc_net.ini”,0

第三个linux客户端配置开机启动

sudo mkdir -p /etc/frp

sudo cp frpc.ini /etc/frp

sudo cp frpc /usr/bin

sudo mkdir /usr/lib/systemd/system

sudo cp systemd/frpc.service /usr/lib/systemd/system/

sudo systemctl enable frpc

sudo systemctl start frpc

frp内网穿透程序后台停止

先找到这个进程

ps -aux|grep frp| grep -v grep
root 3600 0.1 0.1 110188 9484 pts/0 Sl 15:04 0:00 ./frpc -c ./frpc.ini
执行之后如果显示这样则成功了

然后kill -9 进程号

kill -9 3600

解决frp使用过程中总是断掉的问题
如何解决frps使用过程中总是断掉的问题?在我们使用frp过程中,发现服务端的frps一定时间之后就会断掉,今天就来说说这个问题的解决方案;一、我们在/lib/systemd/system目录下创建一个文件frps.service内容入下:

[Unit]
Description=fraps service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
#启动服务的命令(此处写你的frps的实际安装目录)
ExecStart=/your/path/frps -c /your/path/frps.ini

[Install]
WantedBy=multi-user.target

然后就启动frps
sudo systemctl start frps

再打开自启动
sudo systemctl enable frps

重启应用
sudo systemctl restart frps

停止应用
sudo systemctl stop frps

查看应用的日志
sudo systemctl status frps

更多推荐

微信小程序——常用组件的属性介绍

常用的组件内容标签text文本组件类似于HTML中的span标签,是一个行内元素rich-text富文本标签支持把HTML字符串渲染为WXML结构text标签的基本使用通过text组件的selectable属性,实现长按选中文本内容的效果。只有text标签支持长按选中效果,其他的组件是不支持的结构内容代码:<viewc

基于TensorFlow+CNN+协同过滤算法的智能电影推荐系统——深度学习算法应用(含微信小程序、ipynb工程源码)+MovieLens数据集(二)

目录前言总体设计系统整体结构图系统流程图运行环境模块实现1.模型训练1)数据集分析2)数据预处理相关其它博客工程源代码下载其它资料下载前言本项目专注于MovieLens数据集,并采用TensorFlow中的2D文本卷积网络模型。它结合了协同过滤算法来计算电影之间的余弦相似度,并通过用户的交互方式,以单击电影的方式,提供

npm发布vue3自定义组件库--方法一

npm发布vue3自定义组件库创建项目vuecreatetest-ui自定义组件创建自定义组件,组件名称根据你的需求来,最好一个组件一个文件夹,下图是我的示例。src/components组件和你写页面一样,所谓组件就是方便实用,不用重复搬动页面到不同的项目,可以直接install到你本地的项目,下图是一个示例。编写完

CRC校验原理与FPGA实现(含推导过程)

CRC校验原理与FPGA实现(含推导过程)写在前面一、CRC校验原理1.1CRC校验基本概念1.2CRC校验计算1.2.1发送端CRC校验码计算1.2.1.1CRC校验码计算方法1.2.1.2CRC校验码计算例子1.2.2接收端CRC校验1.2.2.1校验通过1.2.2.2数据段出错1.2.2.3CRC校验码段出错二、

有没有免费的云渲染平台?哪家云渲染平台收费更合理?

如今,越来越多的设计师开始使用云渲染平台来加快渲染速度并降低成本。许多人都想知道是否有免费的云渲染平台,或者说哪家云渲染平台收费更合理。在本文中,小编将详细介绍这些问题,帮助您更好地了解和选择适合您需求的云渲染平台。一、有免费的云渲染平台吗?首先,目前市面上没有完全免费的云渲染平台。这是因为云渲染平台建设和维护都需要资

Learn Prompt-ChatGPT 精选案例:广告文案

ChatGPT可以帮助我们生成广告文案和宣传图片,这对营销品牌建设很有帮助。通常,一个产品会有一个主要的广告词,传达设计理念或宣传产品的好处。我们可以尝试直接生成文案,看看ChatGPT有没有好的创意。假设我们的产品是一款登山鞋,我们要怎么得到令人满意的文案和宣传图片呢?背景查询​ChatGPT能帮助你快速熟悉一个领域

分享一个基于微信小程序的社区生活小助手源码调试和lw,有java+python双版本

💕💕作者:计算机源码社💕💕个人简介:本人七年开发经验,擅长Java、Python、PHP、.NET、微信小程序、爬虫、大数据等,大家有这一块的问题可以一起交流!💕💕学习资料、程序开发、技术解答、文档报告💕💕如需要源码,可以扫取文章下方二维码联系咨询💕💕JavaWeb项目💕💕微信小程序项目💕💕

C++ STL & 标准库

STLSTL(标准模板库)是一套C++模板类,提供了通用的模板类和函数,这些模板类和函数可以实现多种流行和常用的算法和数据结构,如向量、链表、队列、栈。C++STL的核心包括三个组件:容器(Containers)用来管理某一类对象的集合。C++提供了各种不同类型的容器,比如deque、list、vector、map等。

Python自动化小技巧23——PDF文件拆分为单独页面(PyMuPDF)

其实编辑PDF用Adobe就行,它功能超级齐全,可是这玩意要收费...去弄免费破解版,找资源又得半天,所以用python来拆分PDF文件吧,可以批量化处理。至于为什么不用WPS.....别问,问就是不想开会员。脚本代码先安装PyMuPDF库,pipinstallPyMuPDF代码:importfitz#PyMuPDFd

AdsPower RPA一些编写思路(进阶)

在使用AdsPowerRPA编写RPA流程(有的人也叫RPA模板,都是一个意思)之前,我们需要慢慢梳理整个业务流程。而不是一上来就开写,要不然可能会来来回回改很多次,甚至会推倒之前写的步骤,很伤脑筋。今天就让Tool哥来给大家介绍一下我平常写RPA流程的思路,希望能帮助到大家。本文讲的内容稍微有些深入。如果是刚接触RP

Linux 企业级夜莺监控分析工具远程访问

文章目录前言1.Linux部署Nightingale2.本地访问测试3.Linux安装cpolar4.配置Nightingale公网访问地址5.公网远程访问Nightingale管理界面6.固定Nightingale公网地址前言夜莺监控是一款开源云原生观测分析工具,采用All-in-One的设计理念,集数据采集、可视化

热文推荐