美文网首页
内网穿透frp之进阶配置——stcp与p2p模式配置

内网穿透frp之进阶配置——stcp与p2p模式配置

作者: 陈德良EGG | 来源:发表于2022-05-10 22:09 被阅读0次

Frp的TCP模式问题,这里主要存在2个问题。

第一个是安全问题:

试想一下,frp的tcp模式相当于你的设备直接向公网暴露了一个tcp端口。任何设备都可以尝试连接这个端口。这里就会有很大的安全风险。

第二个问题是网络问题:

我的所有请求都需要进行frp的服务器进行中转,这里势必会造成比较大的网络延时。以及耗掉服务器流量,这对我们的服务响应速度和经济价值会造成较大影响。

解决安全问题(stcp)模式

对于安全问题,frp的思路是,既然这些服务有可能被坏人攻击,那我们只要限制特定设备能够使用这个端口就好了。

那么问题来了,我怎么知道哪些设备是允许使用的呢?

服务端配置?那就又陷入了内网穿透的问题。

最简单的方法是使用密钥验证。这就是frp的Secret TCP(stcp)模式的思路。

如下图所示,frp客户端1需要暴露一个tcp端口。于是他在向服务端注册时,额外传了一个密钥。

所有其他设备期望访问这个端口,必须要先验证这个密钥。

这样一来,我们就需要在发起请求的设备上也配置一个frp客户端,通过这个客户端带着密钥发起请求。

如何配置

服务端:配置仍然同默认配置一致,直接运行即可

客户端1配置:需要将type改为stcp,并且增加一个sk字段。这里不需要远端端口,因为不公开

# frpc.ini 配置:

[common]

# 你的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

客户端2配置:

# frpc.ini

[common]

# 你的frp服务器的公网ip

server_addr = x.x.x.x

# 你的frp服务器的默认端口

server_port = 7000

[rdp_visitor]

type = stcp

# stcp 的访问者

role = visitor

# 要访问的 stcp 代理的名字

server_name = rdp

# 只有 sk 一致的用户才能访问到此服务

sk = abcdefg

# 绑定本地端口用于访问 远程桌面 服务

bind_addr = 127.0.0.1

bind_port = 6000

此时,你在客户端2,使用127.0.0.1:6000即可访问客户端1的远程服务。

解决网络问题(xtcp)模式

思考一下,我们的frp服务器主要目的是为了解决两台设备相互识别的情况。在正式运行时,其实并不需要服务端做什么事情。

frp客户端就好比两个相亲的对象,frp服务端是媒婆。媒婆介绍完之后,就应该有相亲对象自己聊天了。

这个就是点对点模式(p2p)。在frp中,这个可以通过设置xtcp实现。

如何配置

服务端:配置需要增加一个udp端口 7001,增加完之后就是如下

# frps.ini

[common]

bind_port = 7000

bind_udp_port = 7001

客户端1:配置需要将type改为xtcp即可

# frpc.ini

[common]

# 你的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

客户端2:配置需要将type改为xtcp即可

# frpc.ini

[common]

# 你的frp服务器的公网ip

server_addr = x.x.x.x

# 你的frp服务器的默认端口

server_port = 7000

[rdp_visitor]

type = xtcp

# stcp 的访问者

role = visitor

# 要访问的 stcp 代理的名字

server_name = rdp

# 只有 sk 一致的用户才能访问到此服务

sk = abcdefg

# 绑定本地端口用于访问 远程桌面 服务

bind_addr = 127.0.0.1

bind_port = 6000

此时,你在客户端2,使用同样的方式,以127.0.0.1:6000即可访问客户端1的远程服务。

不过需要注意的是,目前frp的p2p服务还不完善,很多nat设备还是不能够穿透的。

此时大家还是需要切换回stcp来使用。

相关文章

  • 内网穿透frp之进阶配置——stcp与p2p模式配置

    Frp的TCP模式问题,这里主要存在2个问题。 第一个是安全问题: 试想一下,frp的tcp模式相当于你的设备直接...

  • Frp 内网穿透配置

    frps.ini 配置 服务端运行 ./frps -c frps.ini frpc.ini 配置 客户端运行 ./...

  • Frp内网穿透配置

    Frp基本信息 frp全名Fast Reverse Proxy,是用于提供内网穿透服务的工具,主要用于解决一些内网...

  • frp 内网穿透

    frp 内网穿透 更新日志:20170805 更新配置80端口 [toc] 准备工作: centos 7.2 环境...

  • 配置 frp 实现内网穿透

    1、公网服务器与内网服务器都需要下载frp进行安装公网服务器(服务端)配置关注步骤 3内网服务器(客户端)关注步骤...

  • Frp 内网穿透配置总结

    总体流程就是用nginx将三个服务8080,8888,32400配置https证书分别代理到三个端口:443,84...

  • 配置 FRP 实现内网穿透

    1. FRP 的作用 利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。 对于 htt...

  • frp内网穿透

    frp内网穿透 阿里云服务器 CentOS系统 frp项目地址 服务器端 安装并配置frps 编辑frps.ini...

  • Frps搭建与Frpc配置

    Frps搭建与Frpc配置 0.Frp能为你做什么? frp是一个内网穿透工具,可以将不同网段的机器链接在一起,比...

  • FRP内网穿透 进阶

    用配置文件运行 服务器端: 客户端: 用CLI命令运行 服务端 实际上服务端没太大必要用命令行执行,因为比较固定,...

网友评论

      本文标题:内网穿透frp之进阶配置——stcp与p2p模式配置

      本文链接:https://www.haomeiwen.com/subject/uwsrurtx.html