当前位置:   article > 正文

CloudFlare Tunnel实现内网穿透_cloudflare tunnel token

cloudflare tunnel token

CloudFlare Tunnel

背景:

家中设备处于内网NAT环境,希望使用CF tunnel构建内网穿透的环境。

有了CF tunnel后,可实现:

  • 家中的NAS可以直接SSH

  • AWS的云服务可迁到到NAS

  • NAT主机借助CF tunnel部署服务

步骤:

cloudflare创建tunnels

打开cfdash

路径: Networks -> Tunnels -> 创建一个Tunnerl

参考教程

server端使用dokcer部署server-side daemon

我选择docker部署,建议先在server端运行,观察是否正常。

下面是compose

我修改network_mode为host模式,方便映射宿主机的服务

services:
  cloudflare-tunnel:
    image: cloudflare/cloudflared
    container_name: cloudflare-tunnel
    hostname: cloudflare-tunnel
    restart: unless-stopped
    network_mode: "host"
    command: tunnel run
    environment:
      - "TUNNEL_TOKEN=123"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

network_mode: "host" 让容器和宿主机共用一个网络

TUNNEL_TOKEN修改为tunnel提供的token

docker compose up -d执行即可

通过SSH访问server

官方教程:(SSH · Cloudflare Zero Trust docs)

公私钥部分忽略

下载客户端

window powershell下载cloudflared

winget install --id Cloudflare.cloudflared
  • 1

遇到网络问题,可以为powershell通过代理解决

$env:HTTP_PROXY="http://127.0.0.1:9090"
$env:HTTPS_PROXY="http://127.0.0.1:9090"
  • 1
  • 2
修改ssh配置

~/.ssh/config 添加域名信息,Host 后修改为自己的内容

Host apple.apple.apple.org
    ProxyCommand C:\Program Files (x86)\cloudflared\cloudflared.exe access ssh --hostname %h
  • 1
  • 2
测试

ssh <username>@ssh.example.com

访问server端Web服务

由于server端使用dokcer部署server-side daemon,已经让容器和宿主机共用一个网络。我们只需要在Public hostnames添加新的映射即可。
在这里插入图片描述

访问试了一下,速度嘎嘎快。而且http自动转为为https。

NAT主机借助CF tunnel部署服务也是一个原理。这文主要记录我的部署过程,梳理思路,做纪录使用。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/785421
推荐阅读
相关标签
  

闽ICP备14008679号