frp内网穿透搭建

1.frp内网穿透的实现逻辑

搭建frp需要一台有公网ip的服务器,在这台服务器上安装frp的服务端(frps),在本地安装frp的客户端(frpc),官网地址,通过配置将通过服务器公网ip访问的端口映射到本地,实现请求的转发,这样就实现了内网穿透,详细逻辑如下:

(1)服务端运行,监听一个主端口(端口可以自定义),等待客户端的连接;
(2)客户端连接到服务端的主端口,同时告诉服务端要监听的端口和转发类型;
(3)服务端fork新的进程监听客户端指定的端口;
(4)外网用户连接到客户端指定的端口,服务端通过和客户端的连接将数据转发到客户端;
(5)客户端进程再将数据转发到本地服务,从而实现内网对外暴露服务的能力

2.frp的下载

下载地址:Releases · fatedier/frp · GitHub

下载与自己操作系统匹配的安装包,匹配规则如下:

架构分类:

amd64 :一般指X86-64处理器,intel及amd产品基本上均为该架构
386:早起X86架构,目前基本上看不到了
arm及arm64:均为使用arm指令集的CPU
mips及mips64:均为RISC处理器

系统分类:

drawin:为mac使用的包
freebsd:为一种类unix系统,freebsd系统专用
linux:linux系统均可使用该包
windows:windows系统使用的包
选择方法:先确认系统,根据系统再去确认CPU架构,按需下载适合自己的安装包。本文使用x86架构下的windows环境部署,就直接下载上图标注的安装包。

3.配置服务端(linux)frps
  • 下载安装包并解压
yum -y install wget lrzsz
wget https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_linux_amd64.tar.gz
tar -xzvf frp_0.38.0_linux_amd64.tar.gz
cd  frp_0.38.0_linux_amd64/
vim  frps.ini
# 在末尾增加一行:vhost_http_port = 8087,使frps.ini最终配置如下:
  • 在文件目录中新建 config.ini文件,编辑如下内容
[common]
#主端口(可以自定义)
bind_port = 7000
#token 如果配置了,后文客户端需要配置成一致的
#token = abc.123456

# frp管理后台端口,请按自己需求更改
dashboard_port = 7500
# frp管理后台用户名和密码,请改成自己的
dashboard_user = admin
dashboard_pwd = admin
enable_prometheus = true
  • 后台运行命令
nohup ./frps -c config.ini &  > frp.log
  • 验证服务端是否启动成功

访问:http://服务器公网IP:后台管理端口(dashboard_port)” ,输入用户名和密码可以查看连接状态。

还没有客户端接入进来,如下图中的框选处数据都是 0 

4.配置客户端(frpc) 

在文件目录中新建 client.ini文件,编辑如下内容:

[common]
server_addr = 10.1.110.xx      
server_port = 7000
#token = abc.123456      #此处和服务端统一

#此处名称可自定义
[ssh1] 
#此处为协议,还有tcp、udp、http、https、stcp
type = tcp                 
local_ip = 127.0.0.1
#此处为本端开放的端口
local_port = 8080    
#此处为公网地址转换的端口,此端口可任意调换
remote_port = 8080       


#此处名称可自定义
[ssh2] 
#此处为协议,还有tcp、udp、http、https、stcp
type = tcp                 
local_ip = 127.0.0.1
#此处为本端开放的端口
local_port = 8851    
#此处为公网地址转换的端口,此端口可任意调换
remote_port = 8851     

 启动命令:

 .\frpc.exe -c .\client.ini

start.bat启动文件:可双击启动

@echo off
rem 这个批处理脚本用于启动frpc服务
rem 假设frpc.exe和client.ini都在当前目录下

rem 调用frpc.exe并传入配置文件参数
.\frpc.exe -c .\client.ini

rem 执行完成后保持窗口不关闭,直到用户按下任意键
pause

验证客户端启动成功与否

访问:http://服务器公网IP:后台管理端口” ,输入用户名和密码可以查看客户端连接状态

 

 5.访问测试

第一种方式:找一台可以上网的windows机器,使用telnet命令

telnet 10.1.110.xx 8851

第二种:本地启一个测试网页,启动服务,端口定为8081(在上文客户端配置中需要配置),直接使用公网IP+端口的方式进行访问

Frp是一个常用的内网穿透工具,而宝塔是一款简单易用的服务器管理面板。将宝塔与frp搭建结合可以实现内网穿透的功能,下面是实现该功能的步骤: 1. 安装宝塔面板:通过wget命令下载宝塔面板的安装脚本,然后执行安装命令进行安装。安装完成后,通过浏览器访问服务器的IP地址,即可进入宝塔面板的登录页面。 2. 登录宝塔面板:在登录页面中输入用户名和密码,点击登录按钮即可登录到宝塔面板的控制台。 3. 添加网站:在宝塔面板控制台内,点击“网站”选项卡,然后点击“添加网站”按钮。在添加网站的页面中,填写站点名称、绑定域名等信息,并选择对应的站点目录。 4. 配置frp:在宝塔面板控制台内,点击“软件商店”选项卡,然后搜索并安装“frps”软件。安装完成后,点击“软件管理”选项卡,在列表中找到“frp”,点击“设置”按钮进行配置。 5. 配置frp参数:在frp配置页面中,填写服务器IP地址、远程端口等参数,并保存配置。然后点击“启动”按钮启动frp。 6. 完成内网穿透:在PC端安装frp客户端,然后根据frp客户端的配置文档,配置客户端的参数。将客户端与服务器进行连接,即可完成内网穿透。 通过以上步骤,我们可以通过宝塔与frp搭建一个内网穿透的环境。这样就可以实现远程访问内网服务器或应用的功能,方便了服务器管理与应用开发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值