CloudFlare Tunnel实现内网穿透

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"

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

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

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

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

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

ssh @ssh.example.com

访问server端Web服务

由于server端使用dokcer部署server-side daemon,已经让容器和宿主机共用一个网络。我们只需要在Public hostnames添加新的映射即可。
CloudFlare Tunnel实现内网穿透_第1张图片

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

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

你可能感兴趣的:(anti-design-vue)