接外包,有相关需求的可以联系我:Telegram | Email

内网穿透新技能 - Cloudflare Zero Trust

该文章创建(更新)于09/21/2023,请注意文章的时效性!

今天给博客插件配置CDN时看到了Zero Trust,想着之前看到Twitter上有许多人推荐这个就完了一下,发现这个内网穿透还挺好的。

对于家里有 NAS,需要经常从外部访问的朋友来说,内网穿透是一个必备的功能了。但是 IPv4 地址现在已经很难申请了,除去使用公网 IP 配合 DDNS 这种最佳的方案以外,还有不少的替代方案可以选择。

之前我就介绍了使用 WireGuard,Zerotier 等无须公网 IP 的组网方法,今天我们再来介绍一种基于 Cloudflare Zero Trust 的 Tunnels 的内网穿透办法。关于什么是 Cloudflare Zero Trust?可以到 Cloudflare 的 介绍页面 查看。

想要使用 Cloudflare Zero Trust 来实现内网穿透,你需要准备一个域名,并且把域名的 DNS 解析服务托管到 Cloudflare,最好也申请一个 Cloudflare 提供的 HTTPS 证书。关于注册域名以及将域名的 DNS 托管到 Cloudflare,网上有很多现成的教程,我这里就不赘述。关于如何申请 Cloudflare 的 HTTPS 证书,可以看我写的这篇文章:一劳永逸申请有效期长达 15 年的通配域名证书!。下面我直接介绍如何在 Cloudflare 设置 Zero Trust,以及添加二次验证,对你暴露在公网上的服务进行访问验证,增强安全性。

Zero Trust Tunnels

在 Cloudflare 的控制台就有 Zero Trust 的菜单。

点进去之后,左侧的菜单里有个 Tunnels 的选项。


接下来创建 Tunnel(Create a tunnel),意思就是建立一条隧道。一般来讲,只要在局域网中的其中一台设备上建立一条 Tunnel 就够了,通过在 Tunnel 中设置各种服务的路由,就可以访问到局域网中的几乎所有服务。

名称自己填一个就可以,点击 Save tunnel,接下来设置连接。支持各大平台,按需部署即可。以在 Unraid 上面部署为例,使用 Docker 最方便,直接复制 Docker 命令,在 Unraid 的终端里运行即可。

关掉 Unraid 的终端之后,这个 Docker 容器会自动停止,这时在 Unraid 的 Docker 管理器中手动运行,并将自动启动打开。
WTfgbN_5lwX14

这时在 tunnel 的设置界面会看到一台新的连接已经建立,状态为 Connected。

点击下一步(Next),这时就可以配置需要访问的内网服务以及映射域名了。

添加好之后,点击 Save tunnel,就可以访问你设置好的域名了,比如我的是(test.slarker.me),内网的 NAS 是 192.168.2.8:80。直接在浏览器里访问 test.slarker.me,就相当于是在访问内网里的 192.168.2.8:80。每个 tunnel 里可以添加多个 Public hostnames,需要访问内网里的哪个服务,就把哪个服务设置好域名以及内网的映射就可以了。

需要注意的是,因为映射之后,就相当于把自己的内网里的服务暴露在公网上了,自己可以随时随地访问的同时,意味着别人也可以访问。请注意:对你暴露在公网上的服务,务必设置一个强壮的密码!

设置 Access 二次验证

现在我们已经可以从外部访问内网里的设备了,即便我们为每个服务加上了强壮的密码,你可能还是会担心密码遭到了泄露或者暴力破解。这时,你可以利用 Zero Trust 提供的 Access 功能,来为你的服务增加二次验证。

点击 Application 中的 Add an application,选择 Self-hosted。

设置好 Application name,subdomain,选择我们的 Domain,点击 Next。

首先设置策略名称(Policy name),配置规则(Configure rules)这里我们设置的是使用 One-time PIN,也就是一次性的验证码。点击下面的 Add require,Selector 选择Emails,Value 填写自己常用的邮箱。意思就是,访问的时候需要输入自己的邮箱来获取一个一次性的验证码,验证通过之后才允许访问我们的内网服务。这个功能可以很好的保护我们的内网的一些服务。比如我们希望将内网的测速服务映射到公网,但是只允许特定的人员访问,就可以添加特定的邮箱以及验证码来进行访问控制。

最后点击保存(Save policy)就可以了。试试我们添加好的策略,会提示输入邮箱获取验证码。

这里随便输入邮箱是获取不到验证码的,只有输入我们设置好的邮箱才可以。利用这个访问控制策略,就为我们暴露在公网上的服务添加了二次验证。

访问的有效期可以在 Session duration 中设置。

版权说明 | ©️

原文转自: https://slarker.me/zerotrust/


要不赞赏一下?

微信
支付宝
PayPal
Bitcoin

版权声明 | Copyright

除非特别说明,本博客所有作品均采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。转载请注明转自-
https://www.emperinter.info/2023/09/21/cloudflare-zero-trust/


要不聊聊?

我相信你准备留下的内容是经过思考的!【勾选防爬虫,未勾选无法留言】

*

*



YouTube | B站

微信公众号

👉 NewsLetter ❤️ 邮箱订阅 👈

优惠码

阿里云国际版20美元
Vultr10美元
搬瓦工 | Bandwagon应该有折扣吧?
Just My SocksJMS9272283 【注意手动复制去跳转】
域名 | namesiloemperinter(1美元)
币安 币安