如何利用frp实现远程访问内部服务器 (frp访问内部服务器)

随着工作和生活的数字化和网络化,访问内部服务器已经成为了日常工作中的普遍需求,特别是对于那些需要在外部工作的人员而言,远程访问内部服务器更是必不可少的一项技能。如何高效地实现远程访问内部服务器,一直是很多人关心的一个问题。本文将介绍。

什么是frp

frp,全名为fast reverse proxy,是一款高性能的反向代理工具。它的主要作用是连接内网服务器和公网服务器之间的通信。通过在公网服务器上部署frp服务端程序,使得公网服务器能够将来自外部用户的请求映射到内部服务器上,从而实现远程访问内部服务器的功能。

frp支持TCP、UDP、HTTP、HTTPS等多种协议,并且能够穿越NAT网络,使得内网服务器能够绕过防火墙进行访问。frp具有运行稳定、配置简单、易于扩展等特点,非常适合用于远程访问内部服务器。

部署frp服务端

首先需要在公网服务器上部署frp服务端程序,步骤如下:

之一步,下载并安装frp服务端程序。frp官网提供了各个平台的二进制文件下载,可以根据不同平台的需求进行选择。下载完成后,将其解压到一个具体的目录中。

第二步,编辑frp服务端配置文件。在服务端程序所在目录下创建一个frps.ini文件,配置文件的格式如下所示:

[common]

bind_port = 7000

dashboard_port = 7500

dashboard_user = admin

dashboard_pwd = admin

其中,bind_port表示服务端程序监听的端口号,可以根据需求进行修改;dashboard_port表示frp控制台所监听的端口号,同样可以根据需求进行修改;dashboard_user和dashboard_pwd分别表示控制台的用户名和密码,要注意保密。

第三步,启动frp服务端程序。在终端中进入服务端程序所在目录,执行以下命令即可启动服务端程序:

./frps -c ./frps.ini

启动成功后,服务端程序将监听bind_port所指定的端口号,等待来自客户端的连接。

部署frp客户端

接下来需要在内部服务器上部署frp客户端程序,步骤如下:

之一步,下载并安装frp客户端程序。同样是在frp官网上下载适用于内部服务器所在平台的frp客户端程序,并将其解压到一个具体的目录中。

第二步,编辑frp客户端配置文件。在客户端程序所在目录下创建一个frpc.ini文件,配置文件的格式如下所示:

[common]

server_addr = example.com

server_port = 7000

token = abcdefg1234

[web]

type = http

local_ip = 192.168.1.100

local_port = 80

custom_domns = example.com

其中,server_addr和server_port分别表示服务端程序所在服务器的IP地址和端口号;token为连接服务器时使用的加密密钥,要注意保密;而[web]表示一个自定义的服务端口,该段的type可以为http或https,local_ip和local_port表示内部服务器服务的本地IP和端口号,custom_domns为自定义域名,也就是我们所需要远程访问的地址。

第三步,启动frp客户端程序。在终端中进入客户端程序所在目录,执行以下命令即可启动客户端程序:

./frpc -c ./frpc.ini

启动成功后,客户端程序将连接服务端程序并建立通信,并将服务端口映射到公网服务器上。

远程访问内部服务器

启动frp服务端和客户端程序后,可以通过以下方式进行远程访问内部服务器:

之一步,访问frp控制台。在浏览器中输入公网服务器的IP地址和dashboard_port所指定的端口号,例如:http://example.com:7500,进入frp控制台。

第二步,查看内部服务器端口状态。在控制台中选择Port,可以看到已经映射到公网服务器上的服务端口状态,如果状态正常,则表示映射成功。

第三步,访问服务端口。在浏览器中输入custom_domns所指定的域名,例如:http://example.com,然后回车即可访问内部服务器。

需要注意的是,frp服务端和客户端程序需要始终保持运行状态,否则将无法进行远程访问内部服务器。

利用frp实现远程访问内部服务器,可以避免复杂的VPN配置并提高访问速度和安全性。通过在公网服务器上建立反向代理,使得内网服务器能够被外部用户访问,从而实现了远程访问的目的。frp是一个非常优秀的反向代理工具,可以适用于多种场景和需求,如果您需要实现远程访问内部服务器的功能,不妨尝试一下frp。

相关问题拓展阅读:

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

中文文档

标识头

是不可或缺的部分

frps服务端IP

server_addr = 0.0.0.0

0.0.0.0为FRP服务端IP,客户端要填写为服务端已配置的对应的IP,或者是服务端的服务器(VPS)IP。

frps服务端通讯端口

server_port = 7000

客户端连接到服务端内网穿透传输数据的端口,请改为服务端已配置的对应端口。

连接认证密钥-特权模式

privilege_token =

www.nat.ee

客户端连接到FRP服务端的登录验证密钥,请改为服务端已配置的对应密钥。

记录运行日志

日志存放路径

log_file = /etc/frp/log/frps.log

请改为需要存放在那里的正确路径。

日志记录类别

log_level = info

可选:trace, debug, info, warn, error

最多保存多少天日志

log_max_days = 7

可自定义保存多少天。

你的内网穿透名称,将显示为 {名称}.{对应服务名称}

user = your_name

请填大小写字母和数字,不要用中文填写。

决定之一次登录失败时是否退出程序,否则连续登录到frps服务端

login_fail_exit = true

可选:false,true

默认是true,否则可以不填此参数或者改为false,则持续连接登录到frps而不退出。

用于连接frps服务端的通讯协议

protocol = tcp

支持tcp和kcp,默认是tcp

注意:kcp需要服务端配置参数已开启,才支持。

使用tcp流复用,默认为true

tcp_mux = true

可选:false,true

必须与frps服务端已经配置参数相同,否则服务端没有,可以不填此参数。

内网穿透服务限制更大连接池上限

pool_count = 5

限制本客户端内网穿透可以悔孙罩创建的总连接池上限,避免大量资源占用。可自定义。默认为0不限制,或者不填此参数。

注意:假如服务端已配置了限制,而你设置的高于服务端的,则按服务端的为准采取限制。

通过http api设置管理frpc动作的管理地址,例如reload

【上面用碧闹于总体对接frps服务端各参数,下面的用于客户端穿透各应用的配置参数。】

对应穿透服务名称

建立每个穿透服务,都需要命名一个此服务的名称,不能和其他已建立的相同。

穿透协议类型

type = tcp

可选:tcp,udp,http,https,stcp,xtcp

你要穿透什么应用要搞清楚,此应用是用什么协议的。

本地监听IP

local_ip = 127.0.0.1

可以是本地的局域网IP,也可以是本机的127.0.0.1 IP,

例如你的局域网是互通的,你可以在本设备建立穿透局域网其他IP的应用。

本地监听端口

local_port = 22

用于监听本地设备需要穿透的端口,比如我要穿透到本机的SSH端口,而SSH端口为22,则这样理解。

远程监听端口

remote_port = 6001

用于frps服务端的,分配建立穿透到内网对应应用的公网端口。

需要frps服务端已开放此端口给frpc客户端允许对接使用。

例如我可以连接到此(frps服务端IP:端口),则可以穿透到我的内网对应应用服务。

穿透通讯加密

use_encryption = false

可选:false,true

默认为false则不开启,或者不填此参数,为true则开启frps服务端和凯携frpc客户端之间通讯加密。

穿透通讯压缩

use_compression = false

可选:false,true

默认为false则不开启,或者不填此参数,为true则开启frps服务端和frpc客户端之间通讯压缩。

分配自定义域名访问穿透服务

custom_domains = demo.com

用于你的穿透服务的唯一访问域名,假如没有域名,则此处请填为frps服务端的服务器(IP)

自己有多个域名,可以配置不同穿透应用服务,用不同域名,只需要将对应域名解析到frps服务端的服务器(IP)既可。

也支持泛解析识别,例如将(demo.com)域名已经泛解析到frps服务端的服务器(IP)

而想通过(abc123.demo.com)访问到对应穿透服务

则在对应穿透服务,custom_domains参数中填abc123.demo.com

分配对应穿透应用服务唯一的子域名,用于访问

subdomain = abc123

假如frps服务端已经配置了subdomain_host参数域名,并且已经泛(*)解析到frps服务端的服务器(VPS)IP,则可以使用此参数,否则不能用。

例如已经泛解析(demo.com)域名并且frps服务端配置好的,使用此subdomain参数,只需要填子域名,而不需要填(demo.com)

subdomain = 填abc123,则可以通过(abc123.demo.com)访问

为HTTP协议,添加HTTP用户名和密码安全认证

http_user = admin

自定义用户名

http_pwd = admin

自定义密码

仅支持http,https类型协议。

例如我的WEB页面,访问前,需要进行验证,才可以访问。可以添加此参数。

安全地暴露内网服务

对于某些服务来说如果直接暴露于公网上将会存在安全隐患。

sk = abcdefg

可自定义

此参数用于进一步验证,本地访问穿透服务的安全连接,需要双方frpc客户端都需要配置,仅适用于stcp和xtcp协议类型。

修改 Host Header

通常情况下 frp 不会修改转发的任何数据。但有一些后端服务会根据 http 请求 header 中的 host 字段来展现不同的网站,例如 nginx 的虚拟主机服务,启用 host-header 的修改功能可以动态修改 http 请求中的 host 字段。该功能仅限于 http 类型的代理。

原来 http 请求中的 host 字段 test.yourdomain.com 转发到后端服务时会被替换为 dev.yourdomain.com。

URL 路由

frp 支持根据请求的 URL 路径路由转发到不同的后端服务。

通过配置文件中的 locations 字段指定一个或多个 proxy 能够匹配的 URL 前缀(目前仅支持更大前缀匹配,之后会考虑正则匹配)。例如指定 locations = /news,则所有 URL 以 /news 开头的请求都会被转发到这个服务。

按照上述的示例配置后,web.yourdomain.com 这个域名下所有以 /news 以及 /about 作为前缀的 URL 请求都会被转发到 web02,其余的请求会被转发到 web01。

通过代理连接 frps

在只能通过代理访问外网的环境内,frpc 支持通过 HTTP PROXY 和 frps 进行通信。

可以通过设置 HTTP_PROXY 系统环境变量或者通过在 frpc 的配置文件中设置 http_proxy 参数来使用此功能。

仅在 protocol = tcp 时生效

插件

默认情况下,frpc 只会转发请求到本地 tcp 或 udp 端口。

插件模式是为了在客户端提供更加丰富的功能,目前内置的插件有 unix_domain_socket、http_proxy、socks5。

通过 plugin 指定需要使用的插件,插件的配置参数都以 plugin_ 开头。使用插件后 local_ip 和 local_port 不再需要配置。

使用 http_proxy 插件的示例:

范围端口映射

在 frpc 的配置文件中可以指定映射多个端口,目前只支持 tcp 和 udp 的类型。

这一功能通过 range: 段落标记来实现,客户端会解析这个标记中的配置,将其拆分成多个 proxy,每一个 proxy 以数字为后缀命名。

例如要映射本地, 6007 这6个端口,主要配置如下:

有没有简单的内网穿透工具?

很多人都想随时随地能轻松远程访问家里的 NAS (私人网盘/共享文件),或连接电脑远程桌面控制、访问公司内部 OA 系统,还有一些摄像头、树莓派等设备也希望能在公网直接访问。

但可惜的是,大家的宽带基本都没有公网 IP,无论家里还是公司的设备都处于内网里,是无法在互联网上被直接访问的,我们需要内网穿透工具 (或叫端口映射软件) 来解决这问题。但此类工蠢仿型具很多都比较复杂;为了简单,我们挑选了免费的「网云穿」来作为教程给大家演示……

免费方便的内网穿透软件 – 网云穿

网云穿是一款非常简洁易用且免费的内网穿透工具以及端口映射软件。你无需额外购买和配置服务器、也不必设置路由器,就能轻松地将局域网内的 Windows、Mac、Linux 电脑、群晖 /威联通 NAS、树莓派、摄像头等等各种网络设大山备“对外开放”,解决无公网 IP 的烦恼

免费简单的内网穿透软件,外网快速打通内网_新浪众测

成功穿透内网之后,自己或他人都能在互联网上直接访问到你所提供的网络服务,比如家里 NAS 建立的私人网盘、公司内部的金蝶、用友、管家婆等 OA、ERP 系统、树莓派上建立的网站/数据库、摄像头监控、远程桌面连接控制 PC 或 Mac 电脑、自建的游戏服务器等等。而且它还有1条永久免费的隧道可以“带猜白嫖”,有需要的同学不妨来试试看。

1、Ngrok

ngrok 是一个

反向代理

,通过在公共端点和本地运行的 Web 服务器之间建立一个安全的通道,实现内网主机的服务可以暴露给

外网

。ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放,所以ngrok可以很方便地协助服务端程序测试。

参考博客:10分钟教你搭建自己的ngrok服务器

2、Natapp

natapp是 基于ngrok的国内收费

内网穿透

工具,类似

花生壳

,有免费版本,比花生壳好。免费版本:提供http,https,tcp全隧道穿透,随机域名/TCP端口,不定时强制更换域名/端口,自定义本地端口

参考文章:NATAPP1分钟快速新手图文教程

3、小米球

小米球是基于ngrok二次开发的内网穿透工具,支持多协议、多隧道、多端口同时映射(http、https、tcp等等…),同时支持多种系统win、linux、linux_arm、mac等。具体的使用直接参考官网。

4、Sunny-Ngrok

Sunny-Ngrok同样是ngrok二次开发的内网穿透工具,支持http,https协议,同时支持更丰富的系统和语言:linux、win、mac、openwrt、 python、php等。

教程:Sunny-Ngrok使用教程

5、echosite

echosite同样ngrok二次开发的内网穿透工具,支持多种协议,以前是全部免费的,现在推出了收费版和免费版,可根据自己的需要去选择。

参考教程:EchoSite—让内网穿透变得简单

6、Ssh、autossh

ssh 配合autossh工具使用,因为autossh会容错,自动重新启动SSH会话和隧道。autossh是一个程序,用于启动ssh的副本并进行监控,在死亡或停止传输流量滚信时根据需要重新启动它。 这个想法来自rstunnel(Reliable SSH Tunnel),但是在C中实现。作者的观点是,它不像匆匆忙忙的工作那么容易。使用端口转发环路或远程回显服务进行连接监视。在遇到连接拒绝等快速故障时,关闭连接尝试的速度。在OpenBSD,Linux,Solaris,

Mac OS X

,Cygwin和AIX上编译和测试; 应该在其他BSD上工作。免费软件。

使用教程:SSH内网穿透

7、Lanproxy

lanproxy是一个将局域网个人电脑、服务器代理到公网的内网穿透工具,目前仅支持tcp流量转发,可支持任何tcp上层协议(访问内网网站、本地支付接口调试、ssh访问、

远程桌面

…)。目前市面上提供类似服务的有花生壳、TeamView、GoToMyCloud等等,但要使用第三方的公网服务器就必须为第三方付费,并且这些服务都有各种各样的限制,此外,由于数据包会流经第三方,因此对

数据安全

也是一大隐患。

参考教程:业余草推荐一款局域网(内网)穿透工具lanproxy

8、Spike

Spike是一个可以用来将你的内网服务暴露在公网的快速的反向代理,基于ReactPHP,采用IO多路复用模型。采用Php实现。

参考教程:使用 PHP 实现的的内网穿透工具 “Spike”

9、Frp

frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。对于 http, https 服务支持基于域名的

虚拟主机

,支持自定义域名绑定,使多个域名可以共用一个

80端口

。利用处于内网或防火墙后的机器,对外网环境提供 tcp 和 udp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机。

教程:一款很好用的内网穿透工具–FRP、使用frp实现内网穿透

10、Fcn

FCN是一款傻瓜式的一键接入私有网络的工具, fcn利用公共服务器以及数据加密技术实现:在免

公网IP

环境下,在任意联网机器上乱激透明接入服务大陪轮端所在局域网

网段

。支持多种系统,有免费版和付费版。

教程:内网穿透工具FCN介绍

上面便是我所知道的内网穿透工具,其中ngrok相关的我基本都用过还有frp,都差不多。大部分都可以免费去使用,但是我不建议大家把这些免费的穿透工具去放到比较重要的

云服务器

中去使用,容易被攻击。我的小伙伴,开始你的穿透之旅吧。

Proxy-Go 详细介绍

Proxy是golang实现的高性能http,https,websocket,tcp,udp,socks5

代理服务器

,支持正向代理、反向代理、透明代理、内网穿透、TCP/UDP端口映射、SSH中转、TLS加密传输、协议转换、DNS防污染代理。

Features

链式代理,程序本身可以作为一级代理,如果设置了上级代理那么可以作为二级代理,乃至N级代理。

通讯加密,如果程序不是一级代理,而且上级代理也是本程序,那么可以加密和上级代理之间的通讯,采用底层tls高强度加密,安全无特征。

智能HTTP,SOCKS5代理,会自动判断访问的网站是否屏蔽,如果被屏蔽那么就会使用上级代理(前提是配置了上级代理)访问网站;如果访问的网站没有被屏蔽,为了加速访问,代理会直接访问网站,不使用上级代理。

域名黑白名单,更加自由的控制网站的访问方式。

跨平台性,无论你是widows,linux,还是mac,甚至是

树莓派

,都可以很好的运行proxy。

多协议支持,支持HTTP(S),TCP,UDP,Websocket,SOCKS5代理。

TCP/UDP端口转发。

支持内网穿透,协议支持TCP和UDP。

SSH中转,HTTP(S),SOCKS5代理支持SSH中转,上级Linux服务器不需要任何服务端,本地一个proxy即可开心上网。

KCP协议支持,HTTP(S),SOCKS5代理支持KCP协议传输数据,降低延迟,提升浏览体验.

集成外部API,HTTP(S),SOCKS5代理认证功能可以与外部HTTP API集成,可以方便的通过外部系统控制代理用户。

反向代理,支持直接把

域名解析

到proxy监听的ip,然后proxy就会帮你代理访问需要访问的HTTP(S)网站。

透明HTTP(S)代理,配合iptables,在网关直接把出去的80,443方向的流量转发到proxy,就能实现无感知的智能路由器代理。

协议转换,可以把已经存在的HTTP(S)或SOCKS5代理转换为一个端口同时支持HTTP(S)和SOCKS5代理,转换后的SOCKS5代理不支持UDP功能,同时支持强大的

级联

认证功能。

自定义底层加密传输,http(s)\sps\socks代理在tcp之上可以通过tls标准加密以及kcp协议加密tcp数据,除此之外还支持在tls和kcp之后进行自定义加密,也就是说自定义加密和tls|kcp是可以联合使用的,内部采用AES256加密,使用的时候只需要自己定义一个密码即可。

底层压缩高效传输,http(s)\sps\socks代理在tcp之上可以通过自定义加密和tls标准加密以及kcp协议加密tcp数据,在加密之后还可以对数据进行压缩,也就是说压缩功能和自定义加密和tls|kcp是可以联合使用的。

安全的DNS代理,可以通过本地的proxy提供的DNS代理服务器与上级代理加密通讯实现安全防污染的DNS查询。

Why need these?

当由于安全因素或者限制,我们不能顺畅的访问我们在其它地方的服务,我们可以通过多个相连的proxy节点建立起一个安全的隧道,顺畅的访问我们的服务.

微信接口本地开发,方便调试.

远程访问内网机器.

和小伙伴一起玩局域网游戏.

以前只能在局域网玩的,现在可以在任何地方玩.

替代圣剑内网通,显IP内网通,花生壳之类的工具.

端口映射”通俗来说就是将外网主机的IP地址端口映射到内网中一台机器,提供相应的服务。内网相通,电因特网对外开放服务或者接收大数据,都需要端口映射。首先,想要做好端口映射,确定路由器,清楚的认识软件需要开放什么端口号,设置独立固定的Ip地址,关闭主机防火墙,检查wan口获取的Ip是否是公网Ip,最后就是测试。

之辩态稿前市场上有很多免费版的端口映射工具,现如今基本上都收费了;且测试后,感觉有部分付费的效果也不尽人意。后来测试一款试用的,综合使用后感觉挺稳定,个人开发测试与商用都挺合适,因为我是用来实现再家可以远程访问公司内部的文件,工作需要,没有公携孝网ip很不方便。这个法子挺好用,使用教程如下:

需要的工具:

网云穿内网穿透

一个可以正常上网的电脑

网云穿是一款可以在包括但不限于Windows、Mac、Linux、群辉、树莓派、威联通上使用的内网穿透,它可以很便闭则捷的帮助你将本地内网的应用发布出去,比如:网站、数据库、硬盘文件、远程桌面、应用、游戏(如我的世界)等等,这样您就可以很方便的微信调试、自建云盘、异地办公等等,它不需要您有公网IP、不需要您有服务器、也不需要您设置任何路由器,只需要您安装软件进行简单设置即可直接使用。WIndows使用网云穿穿透3389远程桌面首先我们开启被远程那台电脑的远程桌面访问功能(因为这个网云穿只需要安装在被远程的电脑上即可

广东地区的人善于煲粥、煲汤,和北方只是单纯的“白粥”不同,粤式的“生滚粥”中还会加入鱼片、牛肉、猪肝、海鲜等食材,种类繁多,口感极佳。我曾经在顺德的街头喝过一碗生滚牛肉粥,直接给上一锅还在沸腾的白粥,一盘生牛肉和一个鸡蛋,和吃火锅一样,可以一边涮一边吃,爽滑鲜香细嫩的口感真是让人难忘,不得不佩服他们对吃的专业程度。这些粥在北方很难吃到,但有一道粥,却风靡大江南北,虽然是咸粥,但大家都爱喝,它就是

皮蛋瘦肉粥

皮蛋瘦肉粥是一道经典的粤式小吃,之所以能流行起来,多半也和它是食材易得,简单易做,也没有牛肉粥或是海鲜粥那样对食材新鲜程度苛刻的要求,价格便宜实惠,不管是早餐还是

宵夜

,来一份皮蛋瘦肉总是能藉慰饥肠辘辘的肠胃。不过皮蛋渣晌樱瘦肉粥想做的好吃,其实也并不容易,看似简单,技巧却不少。分享一道皮蛋瘦肉粥的做法,用此方法来煲粥,又香又滑,学会都能开店了。皮蛋瘦肉粥所用食材:

松花蛋

一个、

里脊肉

2两、大米、小葱、姜、盐、

胡椒粉

适量。

挑选皮蛋:皮蛋尽量选用“无铅”的,吃起来会更健康,传统工艺上,要用到黄丹粉这种化学名叫

氧化铅

的添加剂。松花蛋上那些美丽的花纹就是它制作出来的,但铅是重金属之一,对人体有害,购买的时候要尽量挑选标注“无铅”的品牌,如果是无品牌的散装松花蛋,要选购蛋壳上斑点比较少的,因为这些斑点都是重金属比较多腐蚀出来的,多吃无益。选用肉:肉要用纯瘦、细嫩的里脊肉,不能用带肥肉的,因为烹饪的时间非常短,有肥肉会煮不熟,无法食用。选用米:米就直接用普通大米就行,也有人喜欢用糯米和

粳米

来混合增加黏度,增加一些糯米进去熬粥的速度也会更快一些,口感会略微有些不同,这些就看个人喜好了。

之一步:煲粥底。不管熬什么粥,粥底是最重要的,否则一切都是白费。大米要加入一些

色拉油

和盐拌匀腌制半个小时以上,这样处理过后,煮粥会更加容易开花,也会更加滑顺,香味更浓,根据所用炊具的不同,水和米的比例也有不同,用普通的锅来熬水要多一些,大约是15:1的比例,用电饭煲熬粥水可以减少一半,用7:1的比例即可。总之,需要把米粒熬到看不到完整的,粥底绵软黏稠为佳。

第二步:松花蛋入锅煮上5分钟,为什么要煮松花如丛蛋呢?松花蛋本身其实是生的,在制作的过程中,因为石灰等碱性物质,和鸭蛋中的蛋白质发生了反应,看起来好像熟了而已。做皮蛋瘦肉粥的时候,把松花蛋煮一会有2个好处:之一可以让中间没有凝固的部分都凝固,方便烹饪。第二可以消除松花蛋的碱味和腥味,让粥的味道更佳。第三步:腌里脊肉,里脊肉切丝以后,加入1勺

料酒

,半勺盐拌匀腌制10分钟,然后加入3勺水抓匀,让里脊肉将水完全吸收掉,吃起来会更加细嫩一些。第四步:将皮蛋切谨银小丁,切一些细细的姜丝,一起加入煮好的白粥锅中,盖上锅盖焖煮10分钟。

第五步:最后将腌制好的里脊肉倒入锅中,用汤勺不断的搅拌,可以让里脊肉熟得更快一些。肉丝变色后,即可关火了,加入一些胡椒粉、小葱碎,搅拌均匀后即可食用了。这样一碗鲜香四溢的皮蛋瘦肉粥就做好了。1、腌肉的时候盐可以稍微多一些,或者直接用腌制好的咸肉也是可以的,这道粥的咸味主要是从腌肉中来的。2、米可以选用香味更佳的东北粳米,油性更大,更适合熬粥。3后要加胡椒粉,胡椒要提前用一点水化开,否则入锅以后会结块,很难化开。

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

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

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

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

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

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

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

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

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

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

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

# frpc.ini 配置:

# 你的frp服务器的公网ip

server_addr = x.x.x.x

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

server_port = 7000

type = stcp

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

sk = abcdefg

local_ip = 127.0.0.1

# 远搜嫌程桌面的本地端口号

local_port = 3389

# frpc.ini

# 你的frp服务器的公网ip

server_addr = x.x.x.x

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

server_port = 7000

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的远程服务。

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

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

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

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

# frps.ini

bind_port = 7000

bind_udp_port = 7001

# frpc.ini

# 你的frp服务器的公网ip

server_addr = x.x.x.x

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

server_port = 7000

type = xtcp

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

sk = abcdefg

local_ip = 127.0.0.1

# 远程桌面的本地端口号

local_port = 3389

# frpc.ini

# 你的frp服务器的公网ip

server_addr = x.x.x.x

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

server_port = 7000

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设备还是不能够穿透的。

frp访问内部服务器的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于frp访问内部服务器,如何利用frp实现远程访问内部服务器,frp内网穿透客户端frpc.ini各配置参数详解,有没有简单的内网穿透工具?,内网穿透frp之进阶配置——stcp与pp模式配置的信息别忘了在本站进行查找喔。


数据运维技术 » 如何利用frp实现远程访问内部服务器 (frp访问内部服务器)