1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > frp(开源的内网穿透工具)使用介绍

frp(开源的内网穿透工具)使用介绍

时间:2020-07-16 06:00:30

相关推荐

frp(开源的内网穿透工具)使用介绍

frp 是一个可用于内网穿透的高性能的反向代理应用。

这里涉及到两个名词:反向代理、内网穿透

反向代理

反向代理和正向代理是相对的。

我们平时用的可以访问国外网站的代理是正向代理。因为防火墙的关系,我们不能直接访问国外的网站,但是我们可以通过租借国外的服务器,从而让这个服务器来帮助我们访问国外的网站,这个服务器就称为代理服务器我们只需要向代理服务器发出请求,我们要访问的网站也只能收到来自代理服务器的通信请求,并不知道这个请求是由哪个客户端发起的。简单来说,就是正向代理服务器屏蔽了客户端

而反向服务器是跟正向是相对的,它屏蔽了服务器。举个知乎上的例子,我们在访问的时候,背后有成千上万台服务器会为我们服务,我们不知道具体是哪一台。但我们能访问到的那台的服务器。这台服务器就是一台反向的服务器。也就是反向服务器屏蔽了服务端。

知乎参考

内网穿透

我们平时通过移动端上网,一般是下图的模式:

如果两台机器想直接通信,一般来说,他们可以在同一个局域网内通信,也可以通过公网的IP地址进行互相通信。

但正如上图所示2所示,一般我们家里或者学校的移动端设备上网,都是经过路由器NAT来分配局域网地址的**,因此这种设备没有公网的IP地址**,也就不能与不在同一个局域网下的设备通信。因此,设备1在公网,不能访问处于内网的设备2。

那假设我们就是想要在这种情况下,用1去访问2呢?这就是涉及到内网穿透了。

如上图所示,我们可以准备一台具有公网地址的服务器3,将3和2通过一些网络协议进行端口的映射(这两台设备不是直连的,也是通过设备2访问公网的方式来访问,需要走路由器NAT等)。处于公网的设备4若想访问内网设备2,则可以访问3上面的对应端口,再通过端口映射就可以访问到设备2了。这也是frp内网穿透的原理。

B站参考

frp常用配置

由上面介绍,我们用frp进行内网穿透,则需要先准备一台具有公网IP的服务器,将其作为访问内网的代理服务器。然后根据官方的配置说明对服务器和内网的客户端进行配置。具体的安装包的下载可以参考官方文档,我觉得很详细了。

安装

下面是我觉得用frp进行内网穿透比较常用的两个场景

(都是通过配置frpc客户端,服务器端不用改):

1、ssh点到点的访问

场景:我们想让外网的设备可以ssh到内网的机器

配置(这里只需要配置客户端frpc):

//frpc.ini[common]server_addr = x.x.x.x //代理服务器的公网ipserver_port = 7000//代理服务器接受客户端请求的端口,官方默认为7000,可修改[ssh]type = tcplocal_ip = 127.0.0.1 //本机地址local_port = 22 //ssh端口remote_port = 6000 //代理服务器的转发端口,其他设备访问此端口,代理服务器会将流量转发到客户端的22端口

ssh配置参考

2、打通内网的所有机器

场景:上面只能通过ssh进行点到点的访问,若想通过frp能访问到内网的所有机器

思路:通过frp访问到某一台内网机器A后,可以让机器A也成为我们访问内网其他机器的一台代理服务器,因为机器A跟其他机器在同一个局域网,也即打通了内网的所有机器。

配置:frp提供客户端插件可以做到。这里我选择的socks5类型的代理协议。

//frpc.ini[socks]type = tcpremote_port = 6000 // 代理服务器开放的端口plugin = socks5 //插件名称plugin_http_user = xxxplugin_http_passwd = xxx

插件参考

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。