内网穿透—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

相关推荐

  • 解决无线频繁断网,这个办法值得收藏!

    你们好,我的网工朋友。 在如今互联网普及率非常高的环境下,我们的日常生活和工作都与网络紧密相连。在追求较高网速的同时,稳定的网络传输质量越来越受到关注。 无线网络是现在办公中最常见的弱电网络系统,也是现代生活中最不可缺少的,没有网络,意味着你无法正常开展工作。 而在这个过程中一定会发生很多问题,你可能遇到过很多问题,也解决过不少,但你缺少了汇总这一步,所以就…

    2024年1月15日
    16100
  • 如何快速查看 Kubernetes Pod 崩溃前的日志

    当pod处于crash状态的时候,容器不断重启,此时用 kubelet logs 可能出现一直捕捉不到日志。解决方法: kubectl previous 参数作用:If true, print the logs for the previous instance of the container in a pod if it e…

    2023年7月13日
    34400
  • Linux系统VPS云服务器网络速度性能测试一键脚本分享

    收集的一些常用的测试脚本部分经过实际测试,基本可以正常使用,关于脚本测试出来数据的准确性,需要自行甄别,仅供参考。 本站所收集的一键脚本均来自网络,不对其收集的脚本负责,请注意保管并备份资料,建议多尝试几个脚本进行测试。 附件下载测试 秋水逸冰硬件信息/带宽测试 测试VPS基础信息,以及下载速度,来自秋水逸冰:https://bench.sh/ 老鬼硬件信息…

    2022年6月8日
    1.6K00
  • 爱快路由安装

    一.准备工具 材料:电脑X1(用来制作安装工具),工控机(两个以上网口的电脑即可)X1,显示器X1,U盘(安装过程会清空U盘内全部数据)X1,键盘(USB接口)X1 二.制作路由安装工具 (1)将下方连接中的文件下载到本地并解压到桌面,打开写盘工具中的写盘程序(Win32DiskImager.exe) http://down.cnaaa.net/list_1…

    2023年2月13日
    29800
  • Nginx一网打尽:动静分离、压缩、缓存、黑白名单、跨域、高可用、性能优化…

    引言 早期的业务都是基于单体节点部署,由于前期访问流量不大,因此单体结构也可满足需求,但随着业务增长,流量也越来越大,那么最终单台服务器受到的访问压力也会逐步增高。时间一长,单台服务器性能无法跟上业务增长,就会造成线上频繁宕机的现象发生,最终导致系统瘫痪无法继续处理用户的请求。 ❝ 从上面的描述中,主要存在两个问题:①单体结构的部署方式无法承载日益增长的业务…

    2023年3月16日
    26500

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信