手把手教你自己搭建一套内网穿透服务,远程访问内网任意服务,隐私安全,保姆级!

手把手教你自己搭建一套内网穿透服务,远程访问内网任意服务,隐私安全,保姆级!

在数字化日益加深的今天,远程访问家庭内部网络资源的需求愈发迫切,目前有多种方案来实现这一需求,包括但不限于远程桌面、公网 IP、端口转发、内网穿透等等。内网穿透有付费、免费、自建等方案可以选择,其中无论是付费和免费,都无法保证信息的安全。

手把手教你自己搭建一套内网穿透服务,远程访问内网任意服务,隐私安全,保姆级!

本文主要介绍如何通过云服务器、群晖 NAS,来实现自建内网穿透,让你在保障信息和数据安全的情况下远程访问内网的任意资源。当前,也不局限于群晖,其他任何能够运行 Docker 的设备都可以!

一、说明

本文主要用到的工具包含:云服务器、群晖 NAS、Frp。

其中 Frp 代理为开源软件,可以在 GayHub 上找到,考虑到有些小伙伴网络条件不是很好,我将下载好的 frp 客户端 Docker 镜像放在公众号了,关键词可以在文末找到。

二、Frp 介绍

FRP(Fast Reverse Proxy)是一个开源的、高性能的反向代理应用,它主要用于实现内网穿透,使得远程用户可以安全、便捷地访问内网资源。以下是对 FRP 的详细介绍:

功能特点

  • • 内网穿透:FRP 的核心功能是实现内网穿透,使得远程用户可以访问到位于内网的各类服务(如 Web 服务器、FTP 服务器等)。
  • • 负载均衡:FRP 支持将多个内网服务器映射到同一个公网 IP 地址上,并根据配置的策略进行请求转发,实现负载均衡,提高系统的可用性和性能。
  • • 安全加固:FRP 提供了多种认证方式(如 HTTP Basic 认证、Token 认证等)和 SSL/TLS 加密传输数据的功能,确保数据传输过程中的安全性和隐私性。
  • • 易于配置:FRP 的配置相对简单,用户可以通过配置文件灵活地定义代理规则和行为,无需复杂的网络配置

三、云服务器准备

这里比较简单,选择腾讯云或者阿里云都可以,1 核 2G 的服务器即可,一般 99 一年。注意本文中操作系统需要是 Linux 的,发行版选 ubuntu 或者 centos 都可以。

阿里云

手把手教你自己搭建一套内网穿透服务,远程访问内网任意服务,隐私安全,保姆级!

腾讯云

手把手教你自己搭建一套内网穿透服务,远程访问内网任意服务,隐私安全,保姆级!

四、Frp 准备

Frp 分为客户端和服务端,在本文的流程中,客户端主要使用群晖 NAS 的 Docker 部署,服务端使用官方的服务包部署。

4.1 云服务器

4.1.1 Frp 服务端部署

通过 ssh 登录到云服务器,执行下面命令下载 frp 的发布包:



wget https://github.com/fatedier/frp/releases/download/v0.61.0/frp_0.61.0_linux_amd64.tar.gz

然后执行下面的命令解压压缩包:



tar -zxvf frp_0.61.0_linux_amd64.tar.gz

执行下面命令进入到 frp 目录:



cd frp_0.61.0_linux_amd64/

执行下面的命令打开服务端配置文件,并进行编辑修改:



vim frps.toml

下面是一个简单的配置:

  • • bindPort:frp 绑定端口,这个需要记住,一会在 frp 客户端需要用到
  • • auth.method:认证方式,这里用的是 token
  • • auth.token:认证的 token,可以改个复杂的,一会在 frp 客户端需要用到

手把手教你自己搭建一套内网穿透服务,远程访问内网任意服务,隐私安全,保姆级!

改完之后,先按 esc 退出编辑模式,然后按下面的命令保存退出:



:wq

因为服务端需要一直保持运行,我们需要让 frp 服务端运行在后台,这里我的方法比较简单(无需添加开机启动什么的),执行下面命令开启一个 tmux 会话:



tmux new -s frp

然后执行下面的命令启动服务端:



./frps -c ./frps.toml

出现下面的提示表示启动成功:

手把手教你自己搭建一套内网穿透服务,远程访问内网任意服务,隐私安全,保姆级!

4.1.2 在云面板上开启防火墙

为了能够让客户端连接到我们的 frp 服务端,需要在云面板的防火墙上放行上面绑定的端口,比如这里是 27000。

阿里云:

手把手教你自己搭建一套内网穿透服务,远程访问内网任意服务,隐私安全,保姆级!

腾讯云:

手把手教你自己搭建一套内网穿透服务,远程访问内网任意服务,隐私安全,保姆级!

配置完成之后,接下来我们配置 Frp 客户端。

4.2 群晖 NAS 安装 Frp 客户端

4.2.1 创建配置文件

在群晖 NAS 的任意目录创建一个文件,比如我这里是:/docker/frpc/frpc.toml

手把手教你自己搭建一套内网穿透服务,远程访问内网任意服务,隐私安全,保姆级!

frpc.toml 文件的内容如下:

手把手教你自己搭建一套内网穿透服务,远程访问内网任意服务,隐私安全,保姆级!

其中前四行是服务端配置:

  • • serverAddr:云服务器公网 IP 地址
  • • serverPort:上面 frp 服务端绑定的端口
  • • auth.method:填 token
  • • auth.token:填上面 frp 服务端配置的 token

配置文件下面是需要转发的内网服务,比如我一共转发了 3 个服务,名字分别是「frp」、「calibre-web」、「qbittroent」,分别对应我想要在外网远程访问的服务。在每个服务中:

  • • name:服务名
  • • type:流量的类型,一般都是 tcp
  • • localIP:内网服务的 IP 地址,如果是在群晖 NAS 上的话,直接填 127.0.0.1 就行
  • • localPort:内网服务的端口
  • • remotePort:远程云服务器绑定的端口,也就是你在外网访问服务时需要加的端口

4.2.2 下载 Frp 客户端 Docker 镜像

在群晖 NAS 上安装 Frp 客户端可以直接使用 Docker 部署。

开发「Container Manager」->「注册表」,输入 frpc,选择第一个:snowdreamtech/frpc。网络条件不好的伙伴可以在文末找到 Docker 镜像获取关键词,导入方法可以参考我之前的文章《群晖 NAS 用户必看!告别书签栏!手把手教你在 NAS 上安装高颜值导航站,好用、好看、方便!》。

手把手教你自己搭建一套内网穿透服务,远程访问内网任意服务,隐私安全,保姆级!

下载 latest 镜像,之后便可以再「映像」中看到了。

手把手教你自己搭建一套内网穿透服务,远程访问内网任意服务,隐私安全,保姆级!

4.2.3 启动 Docker 容器

在「Container Manager」->「映像」中,右键刚才下载或导入的镜像,点击运行。

手把手教你自己搭建一套内网穿透服务,远程访问内网任意服务,隐私安全,保姆级!

在弹出的窗口中,勾选「启用自动重新启动」,然后点击下一步

手把手教你自己搭建一套内网穿透服务,远程访问内网任意服务,隐私安全,保姆级!

网络选择 host

手把手教你自己搭建一套内网穿透服务,远程访问内网任意服务,隐私安全,保姆级!

在「存储空间设置」中,选择「添加文件」,按照下图进行填写

手把手教你自己搭建一套内网穿透服务,远程访问内网任意服务,隐私安全,保姆级!

确认没问题之后,点击「完成」启动容器

手把手教你自己搭建一套内网穿透服务,远程访问内网任意服务,隐私安全,保姆级!

容器启动之后,可以看到服务端刷新了下面的日志

手把手教你自己搭建一套内网穿透服务,远程访问内网任意服务,隐私安全,保姆级!

日志中表示服务器分别和 48080、28083、21194 建立了端口绑定,这种情况下:

  • • 公网 IP+48080,等价于访问内网的 127.0.0.1:8080
  • • 公网 IP+28083,等价于访问内网的 127.0.0.1:8083
  • • 公网 IP+21194,等价于访问内网的 1194

上面这些映射关系都是在前面 frpc.toml 配置文件中定义好的。

4.2.4 开启防火墙

在 4.2.3 节中,我们分别将外网的 48080、28083、21194 和内网的 8080、8083、1194 建立了映射关系,防火墙不放行对应端口的话,云服务器会对这几个外网端口的流量进行拦截,因此我们还需要再次在防火墙中放行这些端口。下面是阿里云的放行的例子:

手把手教你自己搭建一套内网穿透服务,远程访问内网任意服务,隐私安全,保姆级!

这样我们就可以在外网输入 IP:Port 访问内网的服务了。

五、在外网访问内网服务

下面,我们可以尝试一下在外网访问内网服务,在浏览器输入服务器公网 IP+对应端口,可以正常访问到我在内网的书库:

手把手教你自己搭建一套内网穿透服务,远程访问内网任意服务,隐私安全,保姆级!

六、高阶玩法

在上面的例子中,我们依然是在外网通过 IP:Port 访问内网服务,很不方便。我们可以在服务器上安装「宝塔」面板,然后结合反向代理实现通过域名访问,类似的方法可以参考我往期的文章《使用个性化域名访问内网服务,支持 https 小绿锁!让你从 IP:Port 中脱离出来!》,操作可能不太一样,但原理类似,感兴趣的伙伴可以自行研究。

手把手教你自己搭建一套内网穿透服务,远程访问内网任意服务,隐私安全,保姆级!

七、总结

本文主要介绍了如何通过云服务器、Frp 服务端、Frp 客户端、群晖 NAS 来自己搭建一个内网穿透服务,实现远程访问内网的任意服务,避免了信息泄露的风险。同时还给出了一种高阶玩法,在云服务器上安装宝塔面板,通过反向代理实现通过域名远程访问内网服务。大家对此感兴趣的话,欢迎 Mark,后续会持续更新~

八、关键词

内网穿透

© 版权声明

☆ END ☆
喜欢就点个赞吧
点赞0 分享
评论 抢沙发
  • 武穆逸仙

    昵称

  • 取消回复

    请填写用户信息:

图片正在生成中,请稍后...