当前位置:首页 > 云服务器 > 正文

云服务器frp内网穿透


一、内网穿透frp之进阶配置——stcp与p2p模式配置关于Frp的TCP模式问题,这里主要有两个问题。
试想一下,frp的tcp模式相当于你的设备直接向公网暴露了一个tcp端口。任何设备都可以尝试连接到此端口。这里将会存在重大安全隐患。
我的所有请求都必须通过frp服务器进行传输,这必然会造成比较大的网络延迟。除了消耗服务器流量之外,这还会对我们的服务响应速度和经济价值产生更大的影响。
至于安全问题,frp的想法是,由于这些服务可能会被坏人攻击,所以我们应该只限制特定设备使用这个端口。
那么问题是,我如何知道允许哪些设备?
服务器配置?那么我们又回到内网渗透的问题了。
最简单的方法是使用密钥验证。这就是frp的SecretTCP(stcp)模式背后的想法。
如下,frp客户端1必须暴露一个tcp端口。所以,当他在服务器上注册时,他传递了一个额外的密钥。
所有其他希望访问此端口的设备必须首先验证此密钥。
这样我们就需要在发起请求的设备上配置一个frp客户端,并使用这个客户端来用key发起请求。
#配置:
[共享]
#frp服务器的公网IP
server_addr=x.x.x.x
#frp服务器的默认端口
server_port=7000
[rdp]
type=stcp
#只有相同sk的用户才能访问此服务
sk=abcdefg
local_ip=127.0.0.1
#远程桌面本地端口号
local_port=3389
#
[共享]
#Public你的frp服务器的IP
server_addr=x.x.x.x
#你的frp服务器的默认端口
server_port=7000
[rdp_visitor]
type=stcp
#stcp的访问者
role=访问者
#访问者的名称需要访问的stcp代理
server_name=rdp
#只有相同sk的用户才能访问该服务
sk=abcdefg
#绑定本地端口用于远程桌面服务访问
bind_addr=127.0.0.1
bind_port=6000
这次你是在客户端2上,使用127.0.0.1:6000访问客户端1的远程服务。
想一想,我们frp服务器的主要目的就是解决两个设备之间的互认问题。当正式运行时,服务器实际上不需要做任何事情。
frp客户端就像两个人相亲,frp服务器就是媒人。媒人介绍完毕后,相亲者就应自行交谈。
这是点对点(p2p)模式。在frp中,可以通过设置xtcp来实现。
服务器端:配置添加udp端口7001,添加后如下
#
[common]
bind_port=7000
bind_udp_port=7001
#
[我共享]
#你的frp服务器的公网IP
server_addr=x.x.x.x
#你的frp服务器的默认端口
server_port=7000
[rdp]
type=xtcp
#只有相同sk的用户才能访问此服务
sk=abcdefg
local_ip=127.0.0.1
#远程桌面本地端口号
local_port=3389
#
[共享]
#你的frp服务器的公网IP
server_addr=x.x.x.x
#你的默认frp服务器端口
server_port=7000
[rdp_visitor]
type=xtcp
#stcp访问
role=visitor
#要访问的stcp代理名称
server_name=rdp
#OnlyskOnly稳定用户可以访问该服务
sk=abcdefg
#绑定登录远程桌面服务的本地端口
bind_addr=127.0
bind_port=6000
此时,您在客户端2上,使用相同的方法访问127.0.0.1上客户端1的远程服务。0.1:6000。
但是需要注意的是,frp目前的p2p服务并不完善,很多NAT设备仍然无法穿透。
此时大家还是需要回退到stcp来使用。
二、FRP内网穿透工具

frp是一款高性能的反向代理应用程序,可用于内网穿透,支持tcp、udp、http、https协议。主要是它是开源的。