Frp云服务器与PC机器实现内外网穿透

devtools/2024/10/18 10:16:01/

Frp(Fast Reverse Proxy)是一个高性能的反向代理应用,它支持TCP、UDP、HTTP、HTTPS等协议,可以帮助实现内网穿透,使得内网的服务可以通过公网进行访问。Frps为服务端、Frpc为客户端。

以下是使用Frp在云服务器上进行内外网穿透的一般步骤:

下载Frp:首先,你需要从Frp的GitHub发布页面下载适合你服务器操作系统的Frp版本。

公网云服务器下载地址为:https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gzicon-default.png?t=O83Ahttps://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz

内网机器下载地址为:Release v0.33.0 · fatedier/frp · GitHubA fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet. - Release v0.33.0 · fatedier/frpicon-default.png?t=O83Ahttps://github.com/fatedier/frp/releases/tag/v0.33.0

配置服务端(Frp Server):Frp资源包上传公网服务器,需要配置frps.ini文件。这个文件包含了Frp服务端的配置信息,如监听的IP地址、端口号以及用于客户端认证的令牌等。

#修改frps.ini内容如下:
[common]
# frp server的工作端口(服务器用户接收客户端连接的端口),可以更改
bind_port = 7000
# http和https的端口定义
vhost_http_port = 80
vhost_https_port = 443
token = xxxxxxxx
# 404 页面
# custom_404_page = /root/frp_0.31.1_linux_amd64/404.html
# dashboard图形管理页面使用端口
# dashboard_port = 7500
# dashboard帐号
# dashboard_user = admin
# dashboard登陆密码,可以自己修改,这里用admin
# dashboard_pwd = admin

启动Frps

方案一
./frps -c ./frps.ini
方案二
1、创建sh脚本,后台挂起运行&同级目录输出日志,脚本命令如下:
nohup ./frps -c frps.ini > output.log 2>&1 &
2、执行sh脚本:
sh xxx.sh

开放防火墙

配置客户端(Frp Client):Frp资源包放至机器磁盘,解压文件,只需要保留frpc相关文件。

配置frpc.ini文件

[common]
server_addr = 公网服务器IP
server_port = 7000
token = xxxxxxxx
# 内网穿透名称
[http_xxx]
# 协议为http(即80端口)
type = http
# 内部映射的IP
local_ip =127.0.0.1
# 内部映射为80端口
local_port = 8080
custom_domains = 公网服务器IP
# 远程桌面连接
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
# remote_port:个人使用端口,不能重复。
# 即访问xxxx:40002,会转发到本机3389端口
remote_port = 40002

启动Frpc

方案一
进入frp目录,在目录栏输入cmd打开CMD命令窗口
执行启动服务命令.\frpc.exe -c .\frpc.ini
至此客户端配置完成
方案二
创建bat脚本,脚本命令:frpc.exe -c frpc.ini
双击执行bat脚本
连接远程桌面

打开Windos远程桌面软件
计算机(C)地址栏输入:服务器公网IP:40002
执行完以上所有步骤,应该能进行远程连接了


http://www.ppmy.cn/devtools/124241.html

相关文章

LVM——让Linux磁盘空间的弹性管理

什么是LVM? LVM(Logical Volume Manager)逻辑卷管理是在Linux2.4内核以上实现的磁盘管理技术。它是Linux环境下对 磁盘分区进行管理的一种机制。现在不仅仅是Linux系统上可以使用LVM这种磁盘管理机制,对于其它的类UNIX操作系统,以及windows操…

【Kubernetes】常见面试题汇总(五十七)

目录 125. K8S 创建服务 status 为 ErrlmagePull? 126.不能进入指定容器内部? 特别说明: 题目 1-68 属于【Kubernetes】的常规概念题,即 “ 汇总(一)~(二十二)” 。 题目 …

React高阶组件详解

React高阶组件(HOC)详解 定义 React高阶组件(HOC)是一个函数,该函数接受一个组件作为参数并返回一个新的组件。高阶组件本身不是一个组件,而是一个函数,它利用React的组合特性,对传入…

医院管理自动化:Spring Boot技术实践

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常适…

第二阶段:mysql(学完就隐藏版)

第一章:部署数据库系统(注意关闭防火墙,selinux安装) 安装mysql配置的相关文件:yum install https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm(centos9:yum install http…

selenium的 presence_of_element_located 与 invisibility_of_element_located的区别

presence_of_element_located直到元素出现 invisibility_of_element_located直到元素可见 详解 presence_of_element_located:判断某个元素是否被加到了dom树里,并不代表该元素一定可见;校验程度轻一些,在页面跳转之后判断某种标…

MoveIt2-humble】入门教程----第一个 C++ MoveIt 程序

四节教程会手把手带你写一个完整的 Moveit 控制程序,包括轨迹规划、RViz可视化、添加碰撞物体、抓取和放置。 1 创建依赖包 进入到教程所在工作空间下的src目录,创建一个新的依赖包。 ros2 pkg create \--build-type ament_cmake \--dependencies mov…

nginx 资料整理(二)- HTTP

nginx 资料整理(二) 1. HTTP1. HTTP是什么?2. 什么是超文本?3. 协议版本概述4. 协议版本详解HTTP/0.9HTTP/1.0HTTP/1.1HTTPSSPDYHTTP/2.0 2. HTTP请求与响应1. HTTP请求1. 请求起始行2. 请求头(Request Headers)3. 空行(Blank Lin…