frp专注于内网穿透的反向代理应用,部署使用实战教程

文章目录

frp专注于内网穿透的反向代理应用,部署使用实战教程

最近公司业务调整优化,将大部分项目都迁移到了云服务器上托管运行。包括开发环境基本上也迁移了到了云服务器。

开发环境+测试环境+演示环境+线上环境 都整了云服务器上,这样服务器的压力偏大。再加上公司闲置了不少服务器。

于于是乎就想起了公司“废物”利用了!本文内容全部是实战操作!

准备工作

1)一台有公网IP的服务器(博主使用的是一台物理机 下行 10M  上行 100M

2)内网服务器:

2 台 CentOS 7.8 系统 服务器,一台数据库,一台WEB服务。

1 台Windows 服务器,用于做跳板机访问。

开源仓库

https://github.com/fatedier/frp

常见编译

打包后不同的的可执行文件适用不同的平台!以下供大家参考!

  • darwin/386:对应 Mac x86
  • darwin/amd64:对应 Mac amd64
  • linux/386:对应 Linux x86
  • linux/amd64:对应 Linux amd64
  • Windows/386:对应 Windows x86
  • Windows/amd64:对应 Windows amd64

支持协议

TCP & UDP

常见的TCP和UDP协议转发,也是用的比较多的一种!

HTTP & HTTPS

仅需要将网站转发到外网访问,可以使用这个。这样不会浪费端口。

STCP & SUDP

TCP 和 UDP 类型的服务提供一种安全访问的访问能力。避免让端口直接暴露在公网上导致任何人都能访问到。

XTCP

采用 P2P 的方式进行打洞穿透,如果能成功,后续的流量将不会经过 frps,而是直接通信,不再受到 frps 所在服务器的带宽限制。

TCPMUX

支持将单个端口收到的连接路由到不同的代理。有点和HTTP(S)相似。

部署步骤

目录说明

我们下载的源码基本上都包含3部分。

frpc 开头的为客户端运行

frps 开头的为服务端运行

systemd 为 systemctl 服务,维持 frps[c]在后台运行的

.ini 配置文件

配置文件

这里主要介绍简单配置,不介绍太复杂的内容。

服务端配置

主要是绑定的端口 13333,客户端必须链接到这个端口。

dashboard开头的配置是 frp提供的一个监控台,可选的。

token 就是密码了,越复杂越好。

vhost 虚拟主机,指定了80端口 和 443端口。

客户端配置

下面是我客户端的配置。

common 远程服务器的 IP 端口 TOKEN

TCP 用的比较多一些,比如SSH,MYSQL等

一般WEB站点 HTTP / HTTPS 就用的非常多了。

我没有将复杂的配置在这个配置文件完成,还大部分是在NGINX里面做了一下。

比如 SSL 证书,HTTP 跳转 HTTPS 等

Server部署

1)从git上下载代码,依此执行一下代码即可

CLIENT部署

Windows

这里主要介绍Windows客户端如何部署。

直接下载最新版本frp

https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_windows_386.zip

解压后,修改配置文件

控制台直接输入:frpc.exe -c frpc.ini 即可启动!

后台运行

在frpc.exe目录新建一个文本文件,复制上面的内容保存。修改后缀名为 start-frpc.bat

双击即可运行!

开机启动

可以利用任务计划来运行!缺定不太稳定,如果开机不登陆账号,无法启动服务。

这种方式不推荐使用了。如果想查看请点击这里 显示/折叠 内容

1)Win + R 组合快捷键,打开运行对话框,然后输入命令 taskschd.msc ,点击下方的“确定”打开服务,如下图所示。

2)新建任务计划

3)输入任务名称,按图勾选!

4)新建触发器,选择 启动时

5)新建操作,选择bat脚本。起始于 设置一下目录

6)保存的时候,验证一下登陆账号和密码

开机启动2

这里分享的是 @net.ee 大佬分享的CMD运行脚本,核心是利用nssm来维护 frp的进程后台守护运行,开机启动服务 等!

如果大家相对nssm 了解一下请移步:http://www.nssm.cc/

文件下载:大佬提供文件下载 / 分流下载地址(提取码:9197)

下载压缩包减压后,得到如图文件。

分别针对的是 32位系统,64位系统,XP系统。

根据自己的系统选择不同目录中文件复制里面到 frp的目录中即可!

双击运行即可!

亲测,体验非常棒!再也不用担心Windows系统自动重启导致连不上的问题了!

使用总结

1)密钥一定要设置并且要复杂一些。

2)内网机器A 能否启动FRP 转发 到内网机器B?  答案:不能,内网机器B需要安装客户端!

3)能*墙吗?答案:能,但是没有加密非常容易导致端口或者IP被Q。

4)如果使用比较敏感的端口比如:80,443,8080,8888,请保证你的域名有备案且接入(国外服务器不用担心这个问题)。

全部为采集文章,文中的 联系方式 均不是 本人 的!

发表评论