快捷搜索: 王者荣耀 脱发

frp-一个十分好用的内网穿透工具

frp是一个用于内网穿透的工具,基于Go语言. 与其他内网穿透不同的是,他需要自己提供服务端,也就是说,访问速度与服务器带宽有很大关联 原理图: github下载地址 官网

本地服务器和云主机服务器均需要下载frp,放至任意位置,都可以 其中,包含两个主要的exe文件(或文件):

    frps - 用于客户端连接 frpc - 用于服务端监听

单连接内网穿透

云主机服务器编辑frps.ini

[common]
bind_port = 1234            #frp程序本身需要占用一个端口运行
vhost_http_port = 555      #外网访问的端口,特定的http类型

由于我们打算通过http://10.10.10.12:555/来访问网站,故设置外网访问端口为555,随后运行服务端的frp程序

./frps -c ./frps.ini

本地服务器编辑frpc.ini

本地网站(或tcp)地址为8111 服务端地址:10.10.10.12

[common]
server_addr = 10.10.10.12
server_port = 1234

[ssh]			#标签内容可更改
type = tcp
local_ip = 127.0.0.1
local_port = 8111
remote_port = 555		#这个代表要映射的端口

随后运行本地服务器的frp程序 frpc -c ./frpc.ini #运行代码

另外需要提到的是,如果需要从外网ssh远程连接操作内网的服务器,是需要ssh穿透一下,只需在frpc.ini添加一个type为tcp类型的,地址不变,端口要一个新的 注意 frps.ini中的vhost_http_port并不是必需,只是为了限制服务端允许映射的端口,为了安全,所以限制允许映射的端口.

多个内网穿透

多连接时,需要更改几个地方 实例:映射555,556两个端口 第一是云服务器的frps.ini

[common]
bind_port = 7000
vhost_http_port = 555,556 #这里有两个

第二是本地服务器的frpc.ini 注意:这里因为有两个连接,所以应当启动两个frpc

[common]
server_addr = 10.10.10.12
server_port = 1234

[ssh1]
type = tcp
local_ip = 127.0.0.1
local_port = 8111
remote_port = 555 #映射到555

这是第一个,第二个的frpc.ini应当更改frpc.ini中的[ssh1]的标签名和remont_port 如:

[common]
server_addr = 10.10.10.12
server_port = 1234

[ssh2]
type = tcp
local_ip = 127.0.0.1
local_port = 80
remote_port = 556

当然frp提供的功能远不止这些,以上介绍的都是最核心的功能,还提供:

经验分享 程序员 微信小程序 职场和发展