Frp介绍
frp 是一个开源、简洁易用、高性能的内网穿透和反向代理软件,支持 tcp, udp, http, https等协议。frp 项目官网是 https://github.com/fatedier/frp
Frp工作原理
FRP是一种内网穿透工具,主要用于将内网的服务暴露到公网上。它的工作原理可以简单概括为以下几个步骤:
在公网服务器上部署FRP服务器,并在内网主机上部署FRP客户端。
在FRP服务器上配置一个公网端口,用于接收来自公网的请求。
在FRP客户端上配置一个本地端口,指定需要暴露到公网的服务端口号。
当有来自公网的请求访问FRP服务器上的公网端口时,FRP服务器会将请求转发到内网主机上的FRP客户端,并将请求转发给客户端上配置的本地端口。
FRP客户端收到请求后,会将请求转发到本地服务端口上,从而实现将内网服务暴露到公网上的目的。
需要注意的是,FRP还可以通过配置反向代理来实现多个内网主机的服务共享一个公网IP的功能。此时,FRP服务器会根据请求中指定的域名将请求转发到不同的内网主机上,从而实现内网服务的多路复用。
总之,FRP的工作原理是通过在公网和内网之间建立一个通道,将公网请求转发到内网主机上的服务端口,从而实现内网服务的暴露和共享。
![](https://i-blog.csdnimg.cn/blog_migrate/6ada6762a82a8bef0bafe3834db59603.png)
前言
本文主要介绍公网ip的frp内网穿透配置教程。
写本文主要是做一个记录,以便以后需要再次配置内网穿透时有所参考。如对您有所帮助不甚荣幸。
本文主要涉及的硬件为:
服务端:阿里云服务器 + win server + 公网ip;
客户端:win11 + 台式电脑
配置手册
准备工作
硬件设备:
公网云服务器(server端):
阿里云服务器
操作系统:windows server 2012 R2
公网ip:8.136.x.x
公司内网服务器(client端):
操作系统:win11
内网ip:192.168.0.174
设置防火墙暴露端口:9001
Frp工具
Frp工具的官方下载地址为:https://github.com/fatedier/frp/releases
打开网址,找到最新的frp进行下载,展开所有操作系统的安装包,选择windows版本。
![](https://i-blog.csdnimg.cn/blog_migrate/1ac727f7593bacabd7c43fa70452f63c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a0cdfdf11c86ec0cc46d42538491ca6a.png)
安装包解压后如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/924ca450d720d38942bb3cc78e488a78.png)
frpc代表client端,需要部署到公司内网服务器上;
frps代表server端,需要部署到云服务器上;
.ini文件是配置项;
frpc_full.ini和Frps_full.ini 里介绍了所有frps的配置项,相当于说明文档;
云服务器端
将frp软件上传到云服务器
将安装包发布到公网云服务器上,删除不需要的文件,保留frps.exe和frps.ini文件。
这里的目录为:C:\FTP\frp_0.48.0_windows_amd64
![](https://i-blog.csdnimg.cn/blog_migrate/91fc986cf64221a9d643c5ec9925cdfb.png)
配置frps.ini
frps.ini文件配置如下:
[common]
bind_port = 7000
![](https://i-blog.csdnimg.cn/blog_migrate/c88f95ee2fa8f1ade75a0cc00ce4f160.png)
[common] 表示frp的通用配置。
bind_port 表示server端frps与client端frpc绑定的端口号。
运行frps.exe:
终端手动运行方式:
命令行:
C:
cd C:\FTP\frp_0.48.0_windows_amd64
frps.exe -c ./frps.ini
![](https://i-blog.csdnimg.cn/blog_migrate/526dfc5c1b91e7021cd9c718ad6848f0.png)
frps started successfully。
bat脚本运行方式:
新建run.bat文件,用记事本打开,输入以下命令:
C:
cd C:\FTP\frp_0.48.0_windows_amd64
frps.exe -c ./frps.ini
![](https://i-blog.csdnimg.cn/blog_migrate/60a586919e176331cb10b53b2ccc956e.png)
保存后,鼠标单击run.bat即可手动运行。
![](https://i-blog.csdnimg.cn/blog_migrate/0788d6b67380b6354aed55fd6a003d7f.png)
如上图表示server端运行成功。
配置frps开机自启
配置frps开机自启动的方式:
将bat文件复制到:C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup下,重命名为:frp内网穿透开机自启.bat。
这样以后,只要云服务器开机之后就会自动运行frps.exe文件。
![](https://i-blog.csdnimg.cn/blog_migrate/9109460769a1af8c7bc01ce3cbc13f90.png)
公司内网服务器端
准备好一个内网网站
内网环境中我们需要准备好一个网站。这里我的演示网站名叫web1,端口是9001。
![](https://i-blog.csdnimg.cn/blog_migrate/26557f8904fa452cdaef1ff923ef187b.png)
将frp软件拷贝到公司内网服务器上
将安装包发布到公司内网服务器上,删除不需要的文件,保留frpc.exe和frpc.ini文件。
这里的目录为:G:\frp\frp_0.48.0_windows_amd64
![](https://i-blog.csdnimg.cn/blog_migrate/9eff8ea2393b6c73a7f7235de324593b.png)
配置frpc.ini
frpc.ini文件配置如下:
[common]
server_addr = 8.136.x.x
server_port = 7000
[web1]
type = tcp
local_ip = 127.0.0.1
local_port = 9001
remote_port = 6001
![](https://i-blog.csdnimg.cn/blog_migrate/346595a2d6a3d599f080e3d9626b2dd1.png)
[common] 表示frp的通用配置;
server_addr 表示server端的公网ip地址;
server_port 表示server端frps绑定的端口;
[web1] 这里的[web1]表示一个网站的名称,可以自定义;
type表示请求的类型,http请求都是tcp;
local_ip 表示本地服务器的局域网ip;
local_port 表示本机端口,也就是网站web1在本机绑定的端口号;
remote_port 表示用户通过浏览器访问网站web1的端口号;比如这里,用户访问http://8.136.x.x:6001即可访问网站web1。
运行frpc.exe:
终端手动运行方式:
命令行:
G:
cd G:\frp\frp_0.48.0_windows_amd64
frpc.exe -c ./frpc.ini
![](https://i-blog.csdnimg.cn/blog_migrate/a919f824585db316414843a428bdec96.png)
bat脚本运行方式:
新建run.bat文件,用记事本打开,输入一下命令:
G:
cd G:\frp\frp_0.48.0_windows_amd64
frpc.exe -c ./frpc.ini
![](https://i-blog.csdnimg.cn/blog_migrate/17cfb32f41ed85992ddefa424aa44a95.png)
保存后,鼠标单击run.bat即可手动运行。
![](https://i-blog.csdnimg.cn/blog_migrate/c61eb6ac761300d8a9d444a28ca0e14f.png)
如上图表示client端运行成功,并且成功登陆到server端,网站[web1]成功加入到协议中。
与此同时,云服务器(server端)也会输出同样的日志信息:
![](https://i-blog.csdnimg.cn/blog_migrate/79bc5f0bc0bd4ab09654eca943bc99ed.png)
配置frpc开机自启
配置frpc开机自启动的方式:
将bat文件复制到:C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup下,重命名为:frpc内网穿透开机自启.bat。
这样以后,只要内网服务器开机之后就会自动运行frpc.exe文件。
![](https://i-blog.csdnimg.cn/blog_migrate/7f0631e2d7e697faca5ec8d1218b19ed.png)
大功告成
配置完成,我们现在已经可以再外网环境中通过公网ip+端口
![](https://i-blog.csdnimg.cn/blog_migrate/443d1479b34062e2986b5ac277dfad91.png)