Cloudflared DDNS 内网穿透等相关资料

Cloudflare内网穿透教程

准备工作:

  1. 一个cloudflare.com的账号,账号内,有一个域名
  2. 一个海思机顶盒nas系统

Cloudflared DDNS 关相资料

Cloudflared DDNS 关相资料

Zone ID
922866e98df7d75e16bd0bfe4e4fe95f

api token
f3On6gAS_j5RvOJYbEdvMc4OAjsBcOV_M00j2r29

dns_records y.545818.xyz 64d99df514f1d430da30ec08346f3a78
dns_records fq.545818.xyz 600940ccae85c887437eefa8f0c78495
dns_records jf.545818.xyz 126345a67c98687c2b05efb67e547f01
dns_records lt.545818.xyz 7545832ea4e85bb402185f0d98bc1f4c
dns_records s.545818.xyz 63e9a0ff7d443c889a3e33d3c089784e
dns_records v.545818.xyz 1f752d3abcf07cca2bfec47cece7af96
dns_records r.545818.xyz 9a2dd92d92faf24826b50388ca466acc
dns_records oss.545818.xyz c2a71872cc70fa3989c5b03c8c4e11f7
dns_records hl.545818.xyz 597713cddecc40e3d1dd77f33138bafc
dns_records dns.545818.xyz f76435d3833610b2c157ea0625088f84

dns_records 42dn.545818.xyz 5db18b6ec2b25018a4f4b9dcce3b78eb
dns_records 42.545818.xyz ad969b0d4327b01f8b13978626ea4a03
dns_records 40.545818.xyz 947dccdac40c9bdb1097b214046ada2e
dns_records 21dn.545818.xyz f6bcc624c0f99abe52d9314512536c1c
dns_records 21.545818.xyz 13e144b279e0891490172c1f45704dff
dns_records 22.545818.xyz e200389e43b6622360ac9b7bfc8a215b

查询:dns_records

curl -s -X GET “https://api.cloudflare.com/client/v4/zones/您的_ZONE_ID/dns_records?name=您的_DOMAIN
-H “Authorization: Bearer 您的_TOKEN”
-H “Content-Type: application/json” | grep -oP ‘(?<=”id”:”)[^”]*’ | head -1

Zone ID
d11151a9df683d5a3234453f72c2d24e

api token
a8Mh1IGWD4RxqrWIk-29aMkNi57ZRDhGfOTWUdOd

dns_records lt.mnin.dpdns.org
13d6b23f16876e5fc0d0c8480076cef4

dns_records 21.mnin.dpdns.org
70ee6194826e1cbefe122edcd7463d9f

dns_records 21dn.mnin.dpdns.org
8a8efd21b0223f608f584a71a11427ed
MAC: 00:0C:29:33:3B:B8

dns_records 22.mnin.dpdns.org
d17f92d76bc042bcc61f50793cb62cfa

dns_records hl.mnin.dpdns.org
fabae619ba6a220b3b48ab901a60ebd4

dns_records 40.mnin.dpdns.org
6755e3c3e1d451182455899dbee24466

dns_records 42.mnin.dpdns.org
bcf0ab1ef372444b60920afc5b93da50

dns_records 42dn.mnin.dpdns.org
4ccf4892f2a216d0824f84b56353db89
MAC 00:0C:29:61:3B:04

海纳思ubuntu 系统 ddns

开始部署:

  1. 下载程序到盒子里:

32位系统:

1
2
3
4
wget https://git.xiaohezi.it.eu.org/cloudflare/cloudflared/releases/download/2024.2.0/cloudflared-linux-armhf -O /usr/bin/cloudflared

https://github.com/cloudflare/cloudflared/releases/download/2024.8.3/cloudflared-linux-armhf

64位系统:

1
wget https://github.com/cloudflare/cloudflared/releases/download/2024.8.3/cloudflared-linux-arm64 -O /usr/bin/cloudflared
  1. 输入
    cloudflared login
    登录并获取自动下载的授权文件

  2. 创建一个隧道
    例如
    cloudflared tunnel create nas2
    得到隧道的id

  3. 自制配置文件config.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
例如:
tunnel: d21336ec-f72d-415a-9c03-b8db2bba5848
credentials-file: /root/.cloudflared/d21336ec-f72d-415a-9c03-b8db2bba5848.json

ingress:
# HTTP服务,通过80端口
- hostname: lt.mnin.cn
service: http://127.0.0.1

# v2ray,通过2017端口
- hostname: ltv2ray.mnin.cn
service: http://127.0.0.1:2017

# SSH,通过7681端口
- hostname: ltssh.mnin.cn
service: http://127.0.0.1:7681


# 默认的回退规则
- service: http_status:404


把这个配置文档放置到/etc/cloudflared

隧道路由:cloudflared tunnel route dns nas2 nas2ssh.mnin.cn

  1. 运行自启动安装
    cloudflared service install
    systemctl start cloudflared
    systemctl status cloudflared

列出隧道:cloudflared tunnel list
删除隧道:cloudflared tunnel delete

mkdir -p /root/.cloudflared/
mkdir -p /etc/cloudflared/
curl -o /root/.cloudflared/cert.pem https://lt.mnin.cn/cert.pem
curl -o /etc/cloudflared/config.yml https://lt.mnin.cn/config.yml

curl -o /usr/bin/cloudflared https://lt.mnin.cn/cloudflared
chmod +x /usr/bin/cloudflared

openwrt 相关

rm /usr/bin/cloudflared
wget -O /usr/bin/cloudflared https://github.com/cloudflare/cloudflared/releases/download/2025.8.1/cloudflared-linux-arm
chmod +x /usr/bin/cloudflared
/usr/bin/cloudflared –no-autoupdate –config /etc/cloudflared/config.yml tunnel run

/etc/init.d/cloudflared enable
/etc/init.d/cloudflared start
/etc/init.d/cloudflared restart
/etc/init.d/cloudflared stop

搞定!

Openwrt cloudflared 服务配置文件

保存/etc/init.d下文件名为cloudflared chmod +x /etc/init.d/cloudflared

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/sh /etc/rc.common
# cloudflared OpenWrt init script
# Place this file at /etc/init.d/cloudflared

START=99
STOP=10

USE_PROCD=1
NAME=cloudflared
CONFIG=/etc/cloudflared/config.yml
PIDFILE=/var/run/$NAME.pid
LOGFILE=/var/log/$NAME.log

start_service() {
echo "Starting $NAME tunnel..."
procd_open_instance
procd_set_param command /usr/bin/cloudflared --no-autoupdate --config $CONFIG tunnel run
procd_set_param respawn
procd_set_param stdout $LOGFILE
procd_set_param stderr $LOGFILE
procd_close_instance
}

stop_service() {
echo "Stopping $NAME..."
kill $(cat $PIDFILE 2>/dev/null) 2>/dev/null
}