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

Ако хоствате сайтове у дома или в собствен център за данни, най-големият риск е 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:
- Отидете в Cloudflare Dashboard -> Zero Trust -> Networks -> Tunnels.

- Кликни на Create Tunnel.

- Избери Cloudflared и му дай име (напр.
moite-saitove). - В секцията Install and run a connector избери Linux -> amd64.
- Копирай целия скрипт под секцията "If you don't have cloudflared installed…".
- Постави го в терминала на контейнера.
- След инсталацията, отиди на таб Public Hostnames и добави първия си сайт:
- Subdomain:
www/ Domain:yourdomain.com - Service:
http://192.168.1.50:80(IP-то на твоя уеб сървър).
- Subdomain:
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).

# Инсталиране като системен сървиз (за автоматичен старт)
cloudflared service install <ВАШИЯТ_ТОКЕН_ТУК>
# Стартиране
systemctl start cloudflared
systemctl enable cloudflared
📖
4. Защо това работи?
Когато инсталирате два конектора с един и същ токен:
- Load Balancing: Cloudflare вижда два активни пътя до вашата мрежа.
- Automatic Failover: Ако Контейнер 1 спре, Cloudflare пренасочва целия трафик към Контейнер 2 за милисекунди.
- Zero Downtime: Можете да рестартирате единия сървър за ъпдейти, докато сайтовете ви остават онлайн през другия.
5. Настройка на известия (Notifications)
За да не разберете последен, че нещо е спряло:
- В основния панел на Cloudflare отидете на Notifications -> Add.
- Изберете Tunnel Health Alert.
- Настройте го да ви праща имейл, когато някой конектор премине в статус Down.
6. Бонус: Как да направим и самите уеб сървъри „безсмъртни“?
Дотук подсигурихме „тръбата“ (Cloudflare Tunnel). Но ако уеб сървърът на адрес 192.168.1.50 спре, и двата тунела ще сочат към празно място. Ето двата „културни“ начина да избегнеш това:
Вариант А: Proxmox HA Cluster (Автоматично местене)
Ако имаш поне 3 сървъра в Proxmox клъстер и споделено хранилище (Shared Storage):
- Маркираш твоите 4 критични контейнера/VM като HA (High Availability).
- Ако физическият сървър изгасне, Proxmox автоматично стартира тези контейнери на друг здрав сървър.
- Предимство: Запазваш същото IP, тунелът не усеща нищо.
Вариант Б: Репликация и плаващо IP (Keepalived)
Ако нямаш споделено хранилище, можеш да използваш Keepalived:
- Пускаш два еднакви уеб сървъра (напр. Сървър 1 и Сървър 2).
- Инсталираш
keepalivedи на двата. Те създават едно Виртуално IP (VIP), например192.168.1.100. - В Cloudflare Tunnel настройките (Public Hostnames) насочваш сайта към това VIP.
- Ако Сървър 1 спре, Сървър 2 автоматично „краде“ IP адреса
192.168.1.100и поема трафика.
Финални думи за статията:
„Истинската стабилност не се постига с един мощен сървър, а с няколко малки, които работят в екип. С два Cloudflare конектора и дублирани уеб услуги, вашата инфраструктура вече е готова за професионални натоварвания и неочаквани аварии.“
Намерихте материала за полезен?
Съдържанието на itpraktika.com е безплатно и ще остане такова.
Ако статията ти е помогнала — можеш да подкрепиш сайта с малка доброволна сума.
Всяко дарение помага за поддръжката и развитието на портала.
