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 <username>@ssh.example.com

访问server端Web服务

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值