Как да изградим „безсмъртна“ инфраструктура с Cloudflare Tunnel и Proxmox

Cloudflare

Ако хоствате сайтове у дома или в собствен център за данни, най-големият риск е Single Point of Failure (единична точка на отказ). Ако сървърът с тунела спре, всички сайтове изчезват. Решението? High Availability (HA) чрез дублиране на конекторите.

1. Подготовка на средата (Proxmox)

За най-добра производителност и лекота използваме LXC контейнер.

  • OS: Ubuntu 22.04 или Debian 12.
  • Ресурси: 512MB RAM, 1 CPU, 4GB Disk (напълно достатъчно).
  • Мрежа: Контейнерът трябва да има статично IP или запазено такова в DHCP, за да е лесен за управление.

2. Сценарий А: Създаване на ПЪРВИ тунел (от нулата)

Ако за първи път правите това, следвайте тези стъпки в Cloudflare:

  1. Отидете в Cloudflare Dashboard -> Zero Trust -> Networks -> Tunnels.
 Cloudflare Dashboard -> Zero Trust -> Networks -> Tunnels.
  1. Кликни на Create Tunnel.
Create  Tunnel
  1. Избери Cloudflared и му дай име (напр. moite-saitove).
  2. В секцията Install and run a connector избери Linux -> amd64.
  3. Копирай целия скрипт под секцията "If you don't have cloudflared installed…".
  4. Постави го в терминала на контейнера.
  5. След инсталацията, отиди на таб Public Hostnames и добави първия си сайт:
    • Subdomain: www / Domain: yourdomain.com
    • Service: http://192.168.1.50:80 (IP-то на твоя уеб сървър).

3. Сценарий Б: Добавяне на втори конектор (Защита от отказ)

Ако вече имате работещ тунел и искате да го направите "културно" (HA), изпълнете следното на ВТОРИ контейнер (желателно на друг физически сървър):

Инсталация на софтуера:

# Обновяване и инсталиране на curl
apt update && apt upgrade -y && apt install curl -y

# Сваляне на cloudflared пакета
curl -L --output cloudflared.deb https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb

# Инсталиране
dpkg -i cloudflared.deb

Свързване към съществуващия тунел:

Вземете вашия Token от Cloudflare (Networks -> Tunnels -> Configure -> Add a Connector).

Configure
# Инсталиране като системен сървиз (за автоматичен старт)
cloudflared service install <ВАШИЯТ_ТОКЕН_ТУК>

# Стартиране
systemctl start cloudflared
systemctl enable cloudflared

📖
Може да ви е интересно още
Какво е Cloudflare | Как работи и кога се използва?

4. Защо това работи?

Когато инсталирате два конектора с един и същ токен:

  • Load Balancing: Cloudflare вижда два активни пътя до вашата мрежа.
  • Automatic Failover: Ако Контейнер 1 спре, Cloudflare пренасочва целия трафик към Контейнер 2 за милисекунди.
  • Zero Downtime: Можете да рестартирате единия сървър за ъпдейти, докато сайтовете ви остават онлайн през другия.

5. Настройка на известия (Notifications)

За да не разберете последен, че нещо е спряло:

  1. В основния панел на Cloudflare отидете на Notifications -> Add.
  2. Изберете Tunnel Health Alert.
  3. Настройте го да ви праща имейл, когато някой конектор премине в статус Down.

6. Бонус: Как да направим и самите уеб сървъри „безсмъртни“?

Дотук подсигурихме „тръбата“ (Cloudflare Tunnel). Но ако уеб сървърът на адрес 192.168.1.50 спре, и двата тунела ще сочат към празно място. Ето двата „културни“ начина да избегнеш това:

Вариант А: Proxmox HA Cluster (Автоматично местене)

Ако имаш поне 3 сървъра в Proxmox клъстер и споделено хранилище (Shared Storage):

  1. Маркираш твоите 4 критични контейнера/VM като HA (High Availability).
  2. Ако физическият сървър изгасне, Proxmox автоматично стартира тези контейнери на друг здрав сървър.
  3. Предимство: Запазваш същото IP, тунелът не усеща нищо.

Вариант Б: Репликация и плаващо IP (Keepalived)

Ако нямаш споделено хранилище, можеш да използваш Keepalived:

  1. Пускаш два еднакви уеб сървъра (напр. Сървър 1 и Сървър 2).
  2. Инсталираш keepalived и на двата. Те създават едно Виртуално IP (VIP), например 192.168.1.100.
  3. В Cloudflare Tunnel настройките (Public Hostnames) насочваш сайта към това VIP.
  4. Ако Сървър 1 спре, Сървър 2 автоматично „краде“ IP адреса 192.168.1.100 и поема трафика.

Финални думи за статията:

„Истинската стабилност не се постига с един мощен сървър, а с няколко малки, които работят в екип. С два Cloudflare конектора и дублирани уеб услуги, вашата инфраструктура вече е готова за професионални натоварвания и неочаквани аварии.“

open source spirit
🛠️
$

Намерихте материала за полезен?

Съдържанието на itpraktika.com е безплатно и ще остане такова.
Ако статията ти е помогнала — можеш да подкрепиш сайта с малка доброволна сума. Всяко дарение помага за поддръжката и развитието на портала.

PayPal Revolut

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *


Колко е 5 + 9 ? (въведете числото)