路由器安装cloudflared进行内网穿透,安全访问内网


前言

Cloudflare推出了免费的Argo Tunnel,不管是内网还是公网都能建立连接,相比其他内网穿透软件,不需要准备vps,只需要域名就够了, 而且自带二重认证设置,比其他穿透软件更安全,就算公网暴露也不用去设置复制的防火墙,担心会受到攻击。
缺点就是在国内使用速度慢,而且优先使用基于udp的quic连接,由于国内对udp的环境不友好,只能降级到用http建立隧道。

网上有很多nas教程,却没有路由器的教程,所以自制了路由器koolcenter用的软件,详细可以去cloudflared-koolcenter上下载。


一、Cloudflare Argo Tunnel是什么?

Cloudflare 推出的 Argo Tunnel 本意是保护 Web 应用程序,连接服务器端口和 Cloudflare 节点,定位见下图(来自 Many services, one cloudflared[1])
Cloudflare Argo Tunnel运行原理图

二、使用步骤

1. 开始准备

​​从 Cloudflare 仪表板开始

  1. 在您的帐户主页上Cloudflare dashboard,单击Zero Trust图标。
  2. 在载入屏幕上,选择团队名称
  3. 通过选择订阅计划并输入付款详细信息来完成注册。如果您选择了Zero Trust免费计划,请注意,此步骤仍然是必需的,但不会向您收费。
  4. 欢迎使用零信任仪表板!您的帐户已创建。现在,您可以浏览我们设计的一键式操作列表,以帮助您开始使用 Cloudflare Zero Trust的体验。
    在这里插入图片描述

2. 创建隧道

先决条件
在开始之前,请确保:

1. 创建一个隧道

  1. 登录到Zero Trust dashboard,然后转到Access >Tunnels

  2. 选择Create a tunnel

  3. 输入隧道的名称。我们建议选择一个反映要通过此隧道连接的资源类型的名称(例如,enterprise-VPC-01)。

  4. 选择Save tunnel

  5. 接下来,您需要安装并运行它。记录下面框中sudo cloudflared service install后面的一长串token代码,并写入安装后的token栏目中后提交。

在这里插入图片描述
在这里插入图片描述

  1. 命令运行完毕后,连接信息将显示在Zero Trust dashboard上。

2. 连接应用程序

按照以下步骤通过隧道连接应用程序。如果要连接网络,请跳到Connect a network section

  1. Public Hostnames选项卡中,从下拉菜单中选择一个应用程序,并指定任何子域或路径信息。

  2. 指定服务。例如 https://localhost

  3. Additional application settings下,指定要添加到隧道配置中的任何参数。

  4. 选择Save hostname

3. 连接网络

请按照以下步骤通过隧道连接专用网络。

  1. Private Networks选项卡中,添加 IP 或 CIDR。

  2. 选择Save private networks

4. 查看您的隧道

保存隧道后,您将被重定向到Tunnels页面。查找要列出的新隧道及其活动连接器。
在这里插入图片描述

三、Access 中的 Web 应用程序

Cloudflare Access 允许您通过充当身份聚合器或代理来保护您的 Web 应用程序。用户只有在满足您要引入的条件时才能登录到应用程序。
在这里插入图片描述
您可以保护两种类型的 Web 应用程序:SaaS 和自托管。

  • SaaS applications由您的团队所依赖的应用程序组成,这些应用程序不是由您的组织托管的。例子包括Salesforce和Workday。要保护 SaaS 应用程序,您必须将 Cloudflare Access 与 SaaS 应用程序的 SSO 配置集成。

  • Self-hosted applications由您在自己的环境中托管的内部应用程序组成。这些可以是 Atlassian 套件等工具的数据中心版本,也可以是您自己的团队创建的应用程序。要保护自托管应用程序,您必须使用 Cloudflare 的 DNS(full setuppartial CNAME setup)并将应用程序连接到Cloudflare。

  • Cloudflare Dashboard SSO 是一种特殊类型的 SaaS 应用程序,用于管理 Cloudflare 仪表板的 SSO设置,并具有有限的管理员编辑权限。

下面只说明下最简单的Self-hosted applications,只允许指定邮箱的才能访问的设置方法。

Self-hosted applications

Cloudflare Access 允许您使用现有身份提供商提供身份验证层来控制谁有权访问您的应用程序,从而安全地将内部工具和应用程序发布到 Internet。
在这里插入图片描述

1. 添加您的应用程序

  1. Zero Trust dashboard,导航到Access>Applications

  2. 单击Add an application

  3. 选择Self-hosted
    现在可以开始配置应用程序了。

  4. 选择应用程序名称并设置会话持续时间

应用程序的会话持续时间将确定提示用户向配置的提供程序进行身份验证的最小频率。如果希望用户每次到达应用程序时都提示用户进行身份验证,请选择无持续时间,立即过期(No duration, expires immediately)

在这里插入图片描述

  1. Application domain下的下拉菜单中,选择将代表应用程序的主机名。主机名必须是您的 Cloudflare 帐户中的活动区域。

  2. Identity Providers选择允许所有人,这里不讨论Identity Providers的设置方法,直接跳过。

  3. 选择Next

2. 添加策略

现在可以配置策略来控制谁可以访问你的应用。

要详细了解政策的运作方式,请阅读我们的Policies section

  1. 首先,为规则指定名称。这是必填字段。

  2. 指定策略操作。

  3. Configure a rule框中指定一个或多个规则。您可以根据需要添加任意数量的包含、异常或要求语句。
    最简单的就是选择Email,然后写入对应的邮箱,之后访问家里设备时,只需要输入对应的邮箱,邮箱就能收到验证码(如果输入其他没有在策略里的邮箱,邮箱是无法收到验证码的)。
    在这里插入图片描述

  4. 单击Next将应用程序添加到 Access。


总结

以上就是要讲的内容,本文仅仅简单介绍了Cloudflare隧道的使用,以及建立安全访问策略方法。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>