问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

不再受限!详解FRP内网穿透,让远程访问变得简单!

创作时间:
作者:
@小白创作中心

不再受限!详解FRP内网穿透,让远程访问变得简单!

引用
CSDN
1.
https://m.blog.csdn.net/sinat_28521487/article/details/141889491

FRP(Fast Reverse Proxy)是一款高性能的反向代理应用,专注于内网穿透。它支持多种协议,包括TCP、UDP、HTTP、HTTPS等,并且具备P2P通信功能。使用FRP,可以安全、便捷地将内网服务暴露到公网,通过拥有公网IP的节点进行中转。本文将详细介绍FRP的工作原理、安装配置方法以及具体应用场景。

工作原理

FRP的基本工作流程如下:

  • 客户端(frpc):部署在内网中,负责将内网服务通过FRP协议发送到公共服务器。
  • 服务器(frps):部署在外网中,接收来自客户端的数据,并将请求转发到相应的内网服务。

当外网用户访问公共服务器上的特定端口时,FRP服务器会将请求转发给相应的FRP客户端,从而实现对内网服务的访问。

FRP的优点

  • 高性能:FRP对流量进行了优化,支持高并发连接。
  • 配置灵活:支持多种协议,且可以对不同服务进行不同的配置。
  • 开源免费:FRP 是一款开源软件,用户可以根据需要自由修改和使用。

FRP的安装与配置

接下来将介绍如何在服务器和内网设备上安装和配置FRP。使用FRP实现内网穿透,首先需要拥有一台VPS。

环境准备

在开始之前,需要准备以下环境:

  • 一台公网服务器(用于部署FRP服务器),本案例采用Ubuntu系统。
  • 一台内网设备(用于部署FRP客户端),内网的机器采用PVE系统。

服务器端(frps)安装与配置

FRP服务端(frps)的安装方式多种多样,可以选择使用二进制文件或Docker进行部署。

二进制部署

通过GitHub获取最新版文件下载:

cd /opt
wget https://github.com/fatedier/frp/releases/download/v0.60.0/frp_0.60.0_linux_amd64.tar.gz
sudo tar -zxvf frp_0.60.0_linux_amd64.tar.gz
mv frp_0.60.0_linux_amd64 frp_0.60.0

编辑frps.toml配置文件:

bindAddr = "0.0.0.0"
bindPort = 7000
auth.method = "token"
auth.token = "user1@1234"
webServer.addr = "0.0.0.0"
webServer.port = 7500
webServer.user = "user"
webServer.password = "密码"

配置systemd管理frp:

vim /etc/systemd/system/frps.service

并在该文件写入如下内容:

[Unit]
Description = frp server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
ExecStart = /opt/frp_0.60.0/frps -c /opt/frp_0.60.0/frps.toml

[Install]
WantedBy = multi-user.target

执行下面的命令启用开机自启动和启动服务:

systemctl enable frps && sudo systemctl start frps

客户端安装配置

编辑frpc.toml配置文件:

serverAddr = "x.x.x.x"  #VPS服务器的IP地址(公网IP)
serverPort = 7000
auth.method = "token"
auth.token = "token"
[[proxies]]
name = "pve-ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 1022

配置systemd管理frpc:

vim /etc/systemd/system/frpc.service

并在该文件添加如下内容:

[Unit]
Description = frp server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
ExecStart = /usr/local/frp/frpc/frpc -c /usr/local/frp/frpc/frpc.toml

[Install]
WantedBy = multi-user.target

执行下面的命令启用开机自启动和启动服务:

systemctl enable frpc && sudo systemctl start frpc

访问管理web

默认看板只监听本地127.0.0.1地址,如果需要通过内网地址访问,请修改webServer.addr配置字段。

总结

通过本文的介绍,相信你已经对FRP有了较为全面的了解。从基本的安装配置到高级功能的使用,FRP都能满足你不同场景下的内网穿透需求。如果你正在寻找一款高效、易用的内网穿透工具,FRP无疑是一个非常不错的选择。赶快动手试试吧,让你的远程访问不再受限!

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号