Frp内网穿透

Posted lishuangquan1987

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Frp内网穿透相关的知识,希望对你有一定的参考价值。

Frp开源地址:https://github.com/fatedier/frp
下载Release可执行文件:

每个平台都有客户端和服务端,可以搭配混合使用。

前提条件

  • 云服务器(具有公网IP,简称主机A)
  • 本地网络程序(本地主机,能上网,不具有公网IP,简称主机B)
    为简单起见,本地网络程序使用go语言写一个简单的web api程序如下:
package main

import (
	"fmt"
	"time"
	"github.com/gin-gonic/gin"
)

func main() 
	r := gin.Default()
	r.GET("/test",func(ctx *gin.Context) 
		ctx.JSON(200,gin.H
			"Hello":"World",
		)
	)
	r.Run(":5050")


本地访问:浏览器输入http://localhost:5050/test:

目的

在本地电脑上运行一个Web Api,能够在其他能上网的电脑(与本地电脑不在一个局域网)上访问的到。
其中客户端是Windows系统,服务端是Centos8系统

Frp配置

服务端

# frps.ini
[common]
bind_port = 7000 #服务端监听的端口,供客户端去连接
dashboard_port = 7500
dashboard_user = user
dashboard_pwd = pwd
token = 0123456789 #服务端Token

客户端配置

# frpc.ini
[common]
server_addr = 120.79.6.168 #服务器地址,即阿里云公网IP地址
server_port = 7000 #服务端端口,需要与服务端配置一致
token = 0123456789 #客户端token,需要与服务端保持一致

[tcp1]
type = tcp
local_ip = 127.0.0.1 #本地主机能访问到服务的地址,不一定是本地IP
local_port = 5050 #本地主机能访问到服务的端口
remote_port = 6001 #希望公网IP暴露的端口号

启动

启动服务端:
在Centos8终端中输入以下命令:

./frps -c ./frps.ini

启动客户端:
在Windows命令提示行中输入以下命令:

frpc.exe -c frpc.ini

访问

在浏览器中输入http://120.79.6.168:6001/test:

即实现了内网穿透。

以上是关于Frp内网穿透的主要内容,如果未能解决你的问题,请参考以下文章

内网穿透神器frp

FRP内网穿透部署

使用frp进行内网穿透

frp内网穿透怎么做到可以满足多个设备啊,我有个lede和nas都想进行内网穿透,可以吗?

使用frp配置内网(穿透[保姆级教程])

frp内网穿透客户端frpc.ini各配置参数详解