Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Cloudflare Tunnel (cloudflared) е мощен инструмент, който позволява сигурно и лесно да изложите вашите локални уеб услуги в интернет без необходимост от отваряне на портове в защитната стена или конфигуриране на сложни правила за препращане на портове. Това е идеално решение за:
Този наръчник ще ви преведе през всички стъпки за инсталиране, конфигуриране и стартиране на cloudflared тунел на Debian или Ubuntu сървър.
Първо трябва да добавим официалното хранилище на Cloudflare към вашата система, за да инсталираме cloudflared. Изпълнете следните команди:
# Актуализирайте списъка с пакети и инсталирайте необходимите инструменти
sudo apt update
sudo apt install -y curl gnupg lsb-release
# Добавете GPG ключа на Cloudflare
curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | sudo gpg --dearmor -o /usr/share/keyrings/cloudflare-main.gpg
# Добавете хранилището на Cloudflare
echo "deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/cloudflared.list
След добавяне на хранилището, можете да инсталирате cloudflared:
sudo apt update
sudo apt install cloudflared
За да свържете cloudflared с вашия Cloudflare акаунт, изпълнете:
cloudflared tunnel login
📌Тази команда ще отвори браузър, където трябва да се впишете във вашия Cloudflare акаунт и да изберете домейн, който искате да използвате с тунела. Важно е да знаете, че можете да избирате само измежду домейните, които вече сте добавили и конфигурирали в Cloudflare. След успешна автентикация, ще бъде създаден сертификат (cert.pem
) в директорията ~/.cloudflared/
.
Създайте нов тунел с уникално име (заменете my-home-tunnel
с име по ваш избор):
cloudflared tunnel create my-home-tunnel
Тази команда ще създаде файл с криптографски данни за тунела: ~/.cloudflared/my-home-tunnel.json
Създайте и редактирайте конфигурационен файл за вашия тунел:
vi ~/.cloudflared/config.yml
Добавете следната основна конфигурация, която ще препраща трафика към вашите локални уеб услуги:
tunnel: my-home-tunnel
credentials-file: /root/.cloudflared/my-home-tunnel.json
ingress:
- hostname: test.urocibg.eu
service: https://10.20.20.20:8181
- hostname: bai.urocibg.eu
service: http://10.20.20.21:8182
- service: http_status:404
Забележка: Не забравяйте да промените:
my-home-tunnel
с името на вашия тунелtest.urocibg.eu
и bai.urocibg.eu) с вашите собствени домейни📌Тъй като тунелът действа като reverse proxy, не трябва публично IP. Просто укажете локалния адрес (или вътрешното IP в LAN/Proxmox):
ingress:
- hostname: baihui.eu
service: http://10.20.20.10:80
Свържете вашите домейни с тунела чрез DNS записи:
cloudflared tunnel route dns my-home-tunnel test.urocibg.eu
cloudflared tunnel route dns my-home-tunnel bai.urocibg.eu
Тези команди ще създадат CNAME записи в DNS конфигурацията на Cloudflare, насочващи вашите домейни към тунела.
Преди да настроите тунела като постоянна услуга, тествайте го, за да се уверите, че работи правилно:
cloudflared tunnel run my-home-tunnel
Проверете дали вашите домейни са достъпни през интернет. Отворете браузър и въведете вашите домейни (например https://test.urocibg.eu).
За да работи тунелът непрекъснато и да се стартира автоматично при рестартиране на системата, създайте systemd услуга:
sudo vi /etc/systemd/system/cloudflared.service
Добавете следното съдържание:
[Unit]
Description=Cloudflare Tunnel
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/cloudflared tunnel --config /root/.cloudflared/config.yml run
Restart=on-failure
User=root
[Install]
WantedBy=multi-user.target
Важно! Проверете следните детайли:
which cloudflared
)User=root
с друг потребител, ако не използвате rootsudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl enable cloudflared
sudo systemctl start cloudflared
sudo systemctl status cloudflared
Ако всичко е наред, ще видите, че службата е активна и работи.
Едно от големите предимства на Cloudflare Tunnel е, че можете да използвате един тунел за множество домейни и поддомейни.
📌Важно! Имайте предвид, че можете да използвате само домейни, които вече са добавени и управлявани чрез Cloudflare. Преди да създадете тунел за даден домейн, трябва първо да конфигурирате този домейн в Cloudflare панела (да прехвърлите управлението на DNS записите към Cloudflare и да настроите правилните NS записи при вашия регистратор).
За да добавите нов домейн към съществуващ тунел:
vi ~/.cloudflared/config.yml
ingress
:ingress:
- hostname: новдомейн.com
service: http://localhost:8080
# Съществуващи записи...
- service: http_status:404
cloudflared tunnel route dns my-home-tunnel новдомейн.com
sudo systemctl restart cloudflared
sudo journalctl -u cloudflared.service
cloudflared tunnel login
cert.pem
е създаденМожеш да защитиш даден поддомейн с логин чрез Cloudflare Zero Trust, например само ти да имаш достъп.
bai.urocibg.eu
📌 При достъп, ще се показва Cloudflare логин екран
Cloudflare Tunnel предлага сигурен и елегантен начин за излагане на вашите локални услуги в интернет. С един тунел можете да управлявате множество домейни и поддомейни, което прави тази услуга изключително гъвкава и полезна за различни приложения.
Следвайки тези стъпки, вие успешно настроихте cloudflared на вашия Debian/Ubuntu сървър и сега можете безопасно да споделяте вашите уеб услуги с външния свят, защитени от инфраструктурата на Cloudflare.
Последно обновено: Май 2025 г.
Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу:
Donate ☕️ Дарете с PayPalDonate 💳 Дарете с Revolut