内网穿透—frp

什么是frp内网穿透

frp 是一个开源项目, 采用 C/S 模式,将服务端部署在具有公网 IP 的机器上,客户端部署在内网或防火墙内的机器上,通过访问暴露在服务器上的端口,反向代理到处于内网的服务。 在此基础上,frp 支持 TCP, UDP, HTTP, HTTPS 等多种协议,提供了加密、压缩,身份认证,代理限速,负载均衡等众多能力。

内网穿透—frp

为什么使用frp

通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括:

客户端服务端通信支持 TCP、KCP 以及 Websocket 等多种协议。

采用 TCP 连接流式复用,在单个连接间承载更多请求,节省连接建立时间。

代理组间的负载均衡。

端口复用,多个服务通过同一个服务端端口暴露。

多个原生支持的客户端插件(静态文件查看,HTTP、SOCK5 代理等),便于独立使用 frp 客户端完成某些工作。

高度扩展性的服务端插件系统,方便结合自身需求进行功能扩展。

服务端和客户端 UI 页面。

下载

下载地址:Github,由于使用环境是VPS,所以只需要找到x86的版本即可。下载完成后进行解压,会得到frps和frpc文件夹,分别对应的服务端和客户端。

服务端搭建和使用

搭建配置

将刚才解压出来的fprs文件夹上传到服务器中,找到服务端的配置文件frps.ini文件,对它进行配置。

 [common]
 bind_port = 7000
 dashboard_port = 7500
 token = 12345678
 dashboard_user = admin
 dashboard_pwd = admin

bind_port :用于客户端和服务端连接的端口

dashboard_port :启用 Dashboard 监听的本地端口,若使用7500端口,在配置完成服务启动后可以通过浏览器访问 x.x.x.x:7500 (其中x.x.x.x为VPS的IP)查看frp服务运行信息。

token :用于客户端和服务端连接的口令,请自行设置并记录

dashboard_user :打开仪表板页面登录的用户名

dashboard_pwd :打开仪表板页面登录的密码

启动程序

./frps -c ./frps.ini

客户端搭建和使用

搭建配置

将解压的frpc文件夹上传到内网机器中,对frpc.ini进行编辑

 [common]
 server_addr = x.x.x.x
 server_port = 7000
 token = 12345678
 ​
 [ssh]
 type = tcp
 local_ip = 127.0.0.1
 local_port = 22
 remote_port = 6000

server_addr :为服务端(VPS)的公网IP

server_port :需与服务端配置一致

token :用于连接服务端的口令,需与服务端配置一致

type :表示连接类型,这里举例为tcp

local_ip :暴露到公网的服务地址,127.0.0.1表示本机

local_port :暴露到公网的服务端口

remote_port :表示在 frp 服务端监听的端口,访问此端口的流量将会被转发到本地服务对应的端口。

启动程序

./frpc -c ./frpc.ini

配置开机自启

Systemd 是 Linux 系统的一种初始化系统实现,它管理的各种服务叫做 Unit,每个服务对应一个 Unit 配置文件

此操作会把 frps 会被注册为一个服务,我们让 Systemd来自动管理 frps,借此实现开机自启和后台运行

**客户端frpc同理

  1. 使用文本编译器,创建并编辑 frps.service 文件 
$ vim /etc/systemd/system/frps.service
  1. 写入内容
 [Unit]
 # 服务名称,可自定义
 Description = frp server
 After = network.target syslog.target
 Wants = network.target
 ​
 [Service]
 Type = simple
 # 启动frps的命令,需修改为您的frps的安装路径
 ExecStart = /path/to/frps -c /path/to/frps.ini
 ​
 [Install]
 WantedBy = multi-user.target
  1. 使用 systemd 命令,管理 frps 
  # 启动frp
 systemctl start frps
 # 停止frp
 systemctl stop frps
 # 重启frp
 systemctl restart frps
 # 查看frp状态
 systemctl status frps
 # 配置 frps 开机自启
 systemctl enable frps

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/4097

赞 (0)
郭靖的头像郭靖
上一篇 2022年6月7日 下午9:03
下一篇 2022年6月8日 下午12:18

相关推荐

  • Stream流式编程

    如何创建 Stream 对象 从集合创建:我们可以通过调用集合的 stream() 方法来创建一个 Stream 对象。例如: 从数组创建:Java 8 引入了 Arrays 类的 stream() 方法,我们可以使用它来创建一个 Stream 对象。例如: 通过 Stream.of() 创建:我们可以使用 Stream.of() 方法直接将一组元素转换为 …

    2023年9月4日
    1.7K00
  • nexttrace(开源的全能可视化网络路由追踪工具)的安装

    nexttrace是一款开源可视化的路由追踪工具 nexttrace 是一个用 Go 语言编写的高性能、轻量化的分布式追踪系统。它是一个命令行工具,在命令行使用可以展示清晰的 TraceRoute 路由信息,同时支持根据地图进行可视化的展示,看完一目了然。 如何安装使用 使用如下方式即可安装 nexttrace 工具: 使用示例 DEMO nexttrace…

    2023年4月12日
    3.1K00
  • iStoreOS,新增备份系统教程

    一、写盘。 本文主要是x86物理机安装教程(因为物理机才能获取到温度等硬件信息),esxi下安装也很简单,跟安装任何openwrt一样,先转成vmdk文件,添加现有硬盘即可。 我们继续物理机安装教程,首先,用balenaEtcher工具将gz安装包写入U盘,必须要这么做。 所以,请务必写入普通的U盘。 二、接入主机。 将U盘插入小主机,同时将内置硬盘也接入小…

    2023年4月4日
    5.1K00
  • 路由表详解

    1、路由表图解 2、路由表参数详解 1)destination/mask:表示此路由的目的网络地址与网络掩码。将目的地址和子网掩码“逻辑与”后可得到目的主机或路由器所在网段的地址。例如:目的地址为1.1.1.1,掩码为255.255.255.0的主机或路由器所在网段的地址为1.1.1.0。 2)Proto(Protocol):该路由的协议类型,也即路由器是通…

    2024年6月21日
    2.5K00
  • 华为交换机恢复出厂设置的方法

    常用的三种恢复出厂配置的方法:长按PNP键恢复出厂配置、一键式恢复出厂配置,以及通过清空配置文件来恢复出厂配置。 1、长按PNP键恢复出厂配置 对于支持PNP键的设备,用户可通过长按(6秒以上)PNP键,使设备恢复出厂配置并自动重新启动。PNP键如下图所示。 2、一键式恢复出厂配置 在用户视图下,执行命令reset factory-configuration…

    2023年5月8日
    2.7K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信