群晖NAS配置之自有服务器frp实现内网穿透

什么是frp

frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议,且支持 P2P 通信。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。今天跟大家分享一下frp实现内网穿透

为什么使用 frp ?

通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括:

安装frp

解压下载的文件:

添加frp服务器的配置。以下是一个示例:

使用以下命令启动服务器:./frps -c ./frps.toml

如果启用了防火墙,请打开必要的端口(默认是7000):

HTTP 请求的监听端口为 80

创建一个frp的systemd服务文件:

添加以下内容:

启用并启动frp服务:

验证服务是否启动

用ssh连接登录群晖,

下载适用于群晖架构的frp客户端

前往 frp GitHub发布页面,找到适用于群晖的版本。确保下载与群晖架构相匹配的frp客户端。

下载frp客户端。

将 serverAddr 替换为frp服务器的IP地址

确保 token 与frp服务器上配置的token匹配。

根据需要配置其他端口转发规则,上述示例是将本地的SSH服务(本地端口22)映射到远程端口6000。

测试:

至此可以远程登录ssh

内网穿透成功。

如果你 vhostHTTPPort = 8080 则这里访问的域名需要加端口:

下载解压到桌面位置

用记事本编辑,再用管理员身份运行。

测试远程登录。

配置校验

通过执行 frpc verify -c ./frpc.toml 或 frps verify -c ./frps.toml 可以对配置文件中的参数进行预先校验。

如果出现此结果,则说明新的配置文件没有错误,否则会输出具体的错误信息。

配置拆分

通过 includes 参数可以在主配置中包含其他配置文件,从而实现将代理配置拆分到多个文件中管理。

上述配置在 frpc.toml 中通过 includes 额外包含了 ./confd 目录下所有的 toml 文件的代理配置内容,效果等价于将这两个文件合并成一个文件。

需要注意的是 includes 指定的文件中只能包含代理配置,通用参数的配置只能放在主配置文件中。

安全认证Token

Token 身份认证是一种简单的身份认证方式,只需要在 frp 的客户端 frpc 和服务端 frps 配置文件中配置相同的 token 即可。

ngrok和frp的各有优缺点

简单易用:ngrok拥有非常简洁的用户界面和易于使用的命令行工具,使得内网穿透变得非常容易。

快速搭建:你不需要拥有自己的服务器,只需下载ngrok客户端即可开始使用。

跨平台支持:ngrok支持多种操作系统,包括Windows、Linux和macOS等。

具备安全特性:ngrok提供了基本的身份验证和TLS加密传输等安全特性。

限制版和付费版:ngrok提供了免费版,但其功能有限,如并发连接数和隧道数量的限制。付费版则提供更多高级功能。

不开源:ngrok的源代码并未公开,因此在安全性方面用户难以进行审查。

开源免费:frp是开源软件,可以免费使用,且有活跃的社区支持。 配置灵活:frp提供了灵活的配置选项,允许用户进行端口映射、TCP/UDP转发等。 自托管:你可以轻松地在自己的服务器上自行搭建和管理frp服务。 支持多种代理类型:包括TCP、HTTP和UDP等多种类型的代理。

配置相对复杂:对于新手来说,frp的配置可能相对复杂,需要一定的学习和理解。 需要自行搭建服务器:使用frp需要自己拥有服务器,并进行相应的部署和维护。

原文链接:https://cloud.tencent.com/developer/article/2364963

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享