文章的目的记录所使用的的Linux服务器和中间件的配置和使用,防止时间太长忘记,进行重复工作。
相关链接:
开源 Linux 服务器与中间件(二)嵌入式Linux服务器和中间件
开源 Linux 服务器与中间件(四)服务器--Tomcat
开源 Linux 服务器与中间件(六)服务器--Lighttpd
开源 Linux 服务器与中间件(八)数据库--MariaDB
开源 Linux 服务器与中间件(九)数据库--SQLite3
开源 Linux 服务器与中间件(十)Mqtt协议和Emqx服务器安装测试
开源 Linux 服务器与中间件(十一)Emqx服务器消息的订阅和发送(mqtt测试)
推荐链接:
linux C 语言开发 (一) Window下用gcc编译和gdb调试
linux C 语言开发 (二) VsCode远程开发 linux
linux C 语言开发 (六) 程序的编辑和编译(vim、gcc)
Linux C到Android App开发推荐链接(入门十二章):
开源 java android app 开发(一)开发环境的搭建_csdn 开源 java android app-优快云博客
开源 java android app 开发(一)开发环境的搭建-优快云博客
开源 java android app 开发(二)工程文件结构-优快云博客
开源 java android app 开发(三)GUI界面布局和常用组件-优快云博客
开源 java android app 开发(四)GUI界面重要组件-优快云博客
开源 java android app 开发(五)文件和数据库存储-优快云博客
开源 java android app 开发(六)多媒体使用-优快云博客
开源 java android app 开发(七)通讯之Tcp和Http-优快云博客
开源 java android app 开发(八)通讯之Mqtt和Ble-优快云博客
开源 java android app 开发(九)后台之线程和服务-优快云博客
开源 java android app 开发(十)广播机制-优快云博客
开源 java android app 开发(十一)调试、发布-优快云博客
开源 java android app 开发(十二)封库.aar-优快云博客
linux C到.net mvc开发推荐链接:
开源C# .net mvc 开发(一)WEB搭建_c#部署web程序-优快云博客
开源 C# .net mvc 开发(二)网站快速搭建_c#网站开发-优快云博客
开源 C# .net mvc 开发(三)WEB内外网访问(VS发布、IIS配置网站、花生壳外网穿刺访问)_c# mvc 域名下不可訪問內網,內網下可以訪問域名-优快云博客
开源 C# .net mvc 开发(四)工程结构、页面提交以及显示_c#工程结构-优快云博客
开源 C# .net mvc 开发(五)常用代码快速开发_c# mvc开发-优快云博客、
内容:FRP服务器、客户端安装和测试
首先,明确一个概念:我们通常说的 “FRP 穿刺” 或 “内网穿透”,其正式名称是 “反向代理” 或 “NAT 穿透”。它的核心目的是让处于内网(没有公网IP)的设备能够被外网的设备轻松访问到。
什么是 FRP?
FRP 是一个高性能的反向代理应用,可以帮助您轻松地将内网(例如家庭网络、公司局域网)的服务暴露到公网上,实现内网穿透。
工作原理
它采用 C/S(客户端-服务器)架构:
-
服务端:部署在具有公网 IP 的服务器上。它监听一个特定的端口(如 7000),等待客户端的连接。
-
客户端:部署在您内网的机器上。它会主动向公网的服务端发起一个持久的、稳定的连接,建立起一个安全的“隧道”。
-
通信过程:
-
当公网用户想访问内网服务时,他实际上访问的是 FRP 服务端的某个端口(例如,web 服务端口 8080)。
-
FRP 服务端收到请求后,通过之前建立好的“隧道”,将请求转发给内网的 FRP 客户端。
-
FRP 客户端再将请求发送给内网中指定的服务(例如,本机的 80 端口)。
-
内网服务处理完请求后,响应数据沿着原路(客户端 -> 隧道 -> 服务端)返回给公网用户。
-
对于公网用户来说,他感觉就像是直接访问了那台公网服务器,完全感知不到背后复杂的内网结构。
目录
1.FRP服务器安装
2.FRP客户端安装
3.服务器和客户端联调测试
一、FRP服务器安装
1.1 服务器端使用了百度云的服务器,安装frp_0.53.2_linux_amd64.tar.gz
# 在服务端和客户端上分别执行
wget https://github.com/fatedier/frp/releases/download/v0.52.3/frp_0.52.3_linux_amd64.tar.gz

解压并进入目录:
tar -xzf frp_0.52.3_linux_amd64.tar.gz
cd frp_0.52.3_linux_amd64

软件解压后,frps为服务器版本,frpc为客户端版本。服务器中删除掉frpc,客户端中删除frps防止误用。frps.toml和frpc.toml为配置文件。

1.2 编辑服务端配置文件 frps.toml:
bindPort = 5000
webServer.port = 5500
webServer.addr = "0.0.0.0"
webServer.user = "admin"
webServer.password = "admin"
#vhostHTTPPort = 7500
#vhostHTTPSPort = 3002
log.to = "./frps.log"
log.level = "info"
log.maxDays = 3
auth.method = "token"
auth.token = "your token"
[web1]
listenport = 6002 #web1远程端口
[web2]
listenport = 6003 #web2远程端口
1.3 配置完成后,添加服务。
sudo vim /etc/systemd/system/frps.service
服务配置如下:
[Unit]
# 服务名称,可自定义
Description = frp client
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /usr/zrh/frp_0.53.2_linux_amd64/frps -c /usr/zrh/frp_0.53.2_linux_amd64/frps.toml
[Install]
WantedBy = multi-user.target
操作
使用以下命令操作frps:
停止 systemctl stop frps
重启 systemctl restart frps
启动 systemctl start frps
查看 systemctl status frps

1.4 linux防火墙配置
配置完成后需要查看linux的防火墙规则,添加需要打开的tcp端口,否则公网无法使用。
sudo ufw status
打开需要使用的端口
sudo ufw allow 5000/tcp
注意:防火墙端口有2个地方配置,百度云需配置,linux防火墙也需要配置,否则无法连接。
所有需要用到的端口都需要这样配置。
二、FRP客户端安装
window10主机
2.1 Frpc.toml配置如下:
serverAddr = "x.x.x.x"
serverPort = 5000
auth.method = "token"
auth.token = "your token"
webServer.addr = "192.168.3.248"
webServer.port = 7400
webServer.user = "admin"
webServer.password = "admin"
loginFailExit = false
[[proxies]]
name = "frp_ui"
type = "tcp"
localIP = "192.168.3.248"
localPort = 7400
remotePort = 7400
[[proxies]]
name = "server"
type = "tcp"
localIP = "192.168.3.248"
localPort = 8880
remotePort = 11055
#[[proxies]]
#name = "http"
#type = "http"
#localIP = "192.168.3.248"
#localPort = 80
#customDomains = ["x.x.x.x"] # 不配置这个一直报错,md
[[proxies]]
name = "web1"
type = "tcp"
localIP = "192.168.3.248"
localPort = 80
remotePort = 6002
[[proxies]]
name = "web2"
type = "tcp"
localIP = "192.168.3.248"
localPort = 90
remotePort = 6003
2.2 使用命令启动(使用CMD命令)

三、服务器和客户端联调测试
3.1 通过登入服务器的管理页面测试
浏览器输入 x.x.x.x:5500可以登录服务器管理页面进行查看


可以看到服务器的Tcp连接已经成功,6002,6003端口,已经可以连接。

3.2 通过登入服务器的管理页面测试
在win10系统上输入127.0.0.1:7400也能登入客户端的管理页面

3.3 通过网络调试工具进行联调
打开网络助手设为tcp server 端口设为80,与frps的配置相同
再打开1个网络助手设为tcp client端口设为6002,ip设为公网服务器地址,点击连接,成功连接。
可以实现双向通讯。
这里的数据,就实现了内网对外网的通讯。

FRP内网穿透安装与测试
4319

被折叠的 条评论
为什么被折叠?



