Windows FRP内网穿透教程(超详细)

文章目录

      • 一、frp简介
      • 二、windows环境下 frp配置
          • 2.1 服务器端配置
            • 2.1.1 下载frp包
            • 2.1.2 解压frp包并配置
            • 2.1.3 启动服务端
            • 2.1.4 验证服务端是否启动成功
          • 2.2 客户端端配置
            • 2.2.1 下载frp包
            • 2.2.2 解压并配置
            • 2.2.3 启动客户端
            • 2.2.4 验证客户端启动成功与否
      • 三、测试穿透是否配置成功
        • 3.1 测试方法一
        • 3.2 测试方法二
        • 3.3 测试方法三


一、frp简介

  frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。
  可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。frp 项目官网为 官网地址

frp的工作原理如下图:
Windows FRP内网穿透教程(超详细)_第1张图片
frp内网穿透的大体过程如下:

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

二、windows环境下 frp配置

  想要配置frp内网穿透,首先必须先要有一台具有外网ip(即:可以外网访问)的服务器(作为服务端)。如果没有,接下来的教程就不用看了

配置教程主要分为两个部分:
(1) 服务器端(外网服务器)的配置;
(2)客户端(内网服务器)配置。

2.1 服务器端配置
2.1.1 下载frp包

下载地址:https://github.com/fatedier/frp/releases
Windows FRP内网穿透教程(超详细)_第2张图片
架构分类:

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环境部署,就直接下载上图标注的安装包。

2.1.2 解压frp包并配置

解压就不用介绍了,在文件目录中新建 config.ini文件,编辑如下内容。

[common]
#主端口(可以自定义)
bind_port = 7000
#token 如果配置了,后文客户端需要配置成一致的
#token = abc.123456

# frp管理后台端口,请按自己需求更改
dashboard_port = 7500
# frp管理后台用户名和密码,请改成自己的
dashboard_user = admin
dashboard_pwd = admin
enable_prometheus = true
2.1.3 启动服务端

服务端文件目录如下:

Windows FRP内网穿透教程(超详细)_第3张图片
PowerShell启动命令

 .\frps.exe -c .\config.ini

启动界面如下:
Windows FRP内网穿透教程(超详细)_第4张图片

2.1.4 验证服务端是否启动成功

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

用户名和密码分别对应config.ini文件中的dashboard_user和dashboard_pwd

还没有客户端接入进来,如下图中的框选处数据都是 0
Windows FRP内网穿透教程(超详细)_第5张图片

如果上述步骤没有问题,则说明frp的服务端配置成功了,也就意味着内网穿透你已经成功了一半。

2.2 客户端端配置
2.2.1 下载frp包

这部分的安装包与服务端的安装包一样,直接拷贝过来就可以。

2.2.2 解压并配置

在文件目录中新建 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     
2.2.3 启动客户端

目录结构如下:
Windows FRP内网穿透教程(超详细)_第6张图片
启动命令:

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

可以看到如下启动界面,就表示启动成功。
Windows FRP内网穿透教程(超详细)_第7张图片

2.2.4 验证客户端启动成功与否

访问:http://服务器公网IP:后台管理端口” ,输入用户名和密码可以查看客户端连接状态。
Windows FRP内网穿透教程(超详细)_第8张图片

可以看到配置的两个代理。
Windows FRP内网穿透教程(超详细)_第9张图片

三、测试穿透是否配置成功

3.1 测试方法一

找一台可以正常上公网的linux或者mac电脑,在终端执行

ssh 用户名@服务端ip -p 端口号
这里一定要注意,这里用的是服务端的ip和用户名,端口号用的client.ini文件中的remote_port。

3.2 测试方法二

找一台可以上网的windows机器,使用telnet命令

telnet 10.1.110.xx 8851

如果可以连通,那就说明可以穿透通过。

3.3 测试方法三

本地启一个测试网页,启动服务,端口定为8851(上文客户端配置中已经配置过),直接使用公网IP+端口的方式进行访问,如下:
在这里插入图片描述

你可能感兴趣的:(工具,windows)