IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    如何使用 CloudFlare Tunnel安全的将内网服务暴露在公网

    ysicing (i@ysicing.me)发表于 2024-04-27 02:06:31
    love 0

    如何使用 CloudFlare Tunnel安全的将内网服务暴露在公网

    如果搞 HomeLab(家里云) 始终绕不开的话题是,我们如何将自己的内网服务暴露到公网上,又如何保证我们的安全。同理国内NAT机器也是类似。

    这里郑重提醒,企业内部服务请慎重考虑,未经授权,后果严重。

    现在可以使用我们赛博菩萨 Cloudflare(下文简称CF) 提供的 Zero Trust(简称CFT) 来保护我们的安全。

    本文主要以黄鸡的NAT机器为例。

    使用 Tunnel 暴露服务

    需要先登录 CF的管理平台,点击Zero Trust

    默认CFT控制台不支持中文,但是很好理解不是。

    安装CFT

    添加新的隧道, 点击:Networks/Tunnels 我们需要添加一个隧道让我们本地和CFT服务器进行连接

    简单的配置引导完成隧道创建,默认选择Cloudflared就行,名字随便,我默认写nat6

    配置完CFT名字,后有个引导安装Cloudflared, 默认提供了常见的系统,如 Linux MacOS Windows等安装脚本,复制命令直接在我们终端运行即可。

    这里我为方便迁移使用docker方式。

    version: '3'
    
    services:
      cloudflared:
        image: cloudflare/cloudflared:latest
        container_name: cloudflared
        command: tunnel --no-autoupdate run --token 你的token
        restart: always
      whoami:
        image: traefik/whoami
        container_name: whoami
        restart: always
    

    将上面的保存为docker-compose.yaml

    启动:

    docker compose pull
    docker compose up -d
    

    注意,请谨慎保管好自己的token,不要随意泄漏给其他人

    返回Tunnels,发现刚刚创建的Tunnel等待 Status显示HEALTHY

    配置CFT域名

    点击你刚刚创建的隧道名,点击Configure或者直接直接点击右边Configure

    选择公网访问,配置完成后大概是这样,很简单

    大家可以访问https://whoami.natpod.eu.org/

    大概如下

    使用 Access Applications 认证

    这里配置参数比较多,没提的默认就可以了

    确定Authentication配置

    路径/settings/authentication

    点击Settings, 再点击Authentication, 看看Login methods , 如果没有需要自行添加一个

    配置Access

    点击 Access –> Applications –> Add an application 选择 Self-hosted

    配置你需要auth的域名

    policy name 可以随便填写 记得 Action 是 Allow,这里的 Session 是多久在进行登录验证,可以调节时间长一点

    Create additional rules 根据你刚才配置的 Authentication 来填写,我这里是填写 CF 自带的邮箱验证码进行登录的

    这里设置比较简单,任何人都可以,大家可以研究一下文档怎么限制只允许合法用户使用

    配置完毕之后,访问你配置的域名就会出现拦截了。

    大家可以验证看看



沪ICP备19023445号-2号
友情链接