Cloudflared + Proxmox.. cea mai bună soluție

În 2023 sunt foarte preocupat de optimizare, per ansamblu, de orice tip.. că este vorba de costuri, că este vorba de platforme, de folosirea unor domenii sau știu eu orice altceva atât din lumea virtuală cât și din cea reală, cuvântul de ordine este „Optimizare”. Așadar subiectul acestui articol.. Cloudflared + Promox.

Cloudflared

Cloudflared este vechiul Argo Tunnel de la Cloudflare, care acum s-a transformat în Cloudflared. Per ansamblu este un serviciu disponibil in suita Zero Trust a celor de la Cloudflare, suită care are și o variantă gratuită cu anumite limitări evident. Acest serviciu crează un tunel între infrastructura Cloudflare Zero Trust și infrastrutura ta, fie că este un server local, fie că este un server dedicat, se crează un tunel. Dacă doriți și voi să faceți un setup de acest gen, aveți mai multe detalii pe link-ul oficial aici.

Proxmox VE

Cunoscătorii știu că Proxmox VE este una dintre cele mai folosite softuri de virtualizare din lume, și gratuită. Mai sunt softuri plătite, precum VMWare, Virtualizor, SolusVM și altele.. dar dintre cele gratuite, părerea mea, e că, Proxmox VE și eventual OpenStack sunt cele mai ok tehnic vorbind. Iarăși, daca doriți să-l instalați, puteți vedea aici documentația oficială. Acest articol nu este menit să fie un fel de tutorial, cu toate că, poate la un moment voi face și tutoriale, dar nu este cazul acum.

Setupul meu..

Detalii MiniPC:

  • HP ProDesk 400 G6 Desktop
  • Procesor Intel i5-10500T gen 10
  • 16 GB RAM DDR4
  • 1 TB NVME m.2 storage

Bun, având acel mini PC, am instalat prima dată Proxmox VE, dupa cum v-am spus, am urmat pașii oficiali din acel tutorial, adică am creat un USB bootabil cu imaginea de Proxmox, apoi am procedat la instalare. Aceasta se face foarte simplu, vreo 3-4 pași de setat chestii și cam aia e.

După care am intrat din laptop pe acest mini server (https://adresa-ta-de-IP:8006) unde veți vedea interfața grafica a Proxmox, și clar, unde veți petrece foarte mult timp cu mașinile voastre virtuale.

În cazul acestui setup, se pare că având NVME direct în placa de bază sistemul de operare din spatele Proxmox, și anume Debian 11 „bullseye”, făcea mai multe request-uri către acel NVME, atât de multe încât să zicem îi dădea un fel de „atac DDoS” pe disk. 🙂

Astfel încât am fost nevoit să aplic un workaround..

  • nano /etc/default/grub
  • adăugat/editat linia GRUB_CMDLINE_LINUX_DEFAULT astfel încât să arate așa: GRUB_CMDLINE_LINUX_DEFAULT=”quiet nvme_core.default_ps_max_latency_us=0 pcie_aspm=off”
  • salvat
  • update-grub
  • reboot server

După acest workaround, care din cele testate, este ok pentru orice versiune de Ubuntu/Debian ce are NVME-uri în placa de bază, cel puțin pentru Kingston/Samsung este ok acest workaround.

După instalarea Proxmox și aplicarea acestui workaround legat de NVME, am început instalarea tunelului Cloudflared. Prima fază, am accesat Package Managerul celor de la Cloudflare aici și am urmat pașii de instalare a pachetelor ce țin de Cloudflare, evident pentru Debian 11.

  • apt install cloudflared -y

Abia apoi am umat pașii de instalare din tutorialul lor oficial, având deja instalat serviciul cloudflared.

După instalarea Cloudflared și conectarea lui cu Zero Trust, evident, am început să creez „Public Hostnames”, evident am avut deja un domeniu adăugat în Cloudflare DNS, astfel încât Zero Trust să poata creea automat acel DNS Zone.

În cazul meu, pe serverul de Proxmox am doar adrese de IP private (NAT), 192.168.x.x, fapt pentru care Cloudflared este cel mai ideal dacă ai IP dinamic, și n-ai posibilitatea de a avea IP static de la furnizorul de internet. La fiecare schimbare de IP pe care o am de la RDS, Cloudflared știe de infrastructura Zero Trust, și face tunelul astfel încât să nu fie probleme, iar blogul meu și site-urile mele găzduite pe acest server sunt funcționale fără nici cea mai mică problemă, și să nu mai zic despre faptul că beneficiez de protecție DDoS gratuită, Zero Trust oferă și o posibilitate de „Application Protection”, și anume cei care știu platforme precum Ghost au calea standard de autentificare pe domeniu.ro/ghost, nu prea se poate modifica această cale din varii  motive, nu prea ai cum să ai atac asupra acestei căi deoarece Zero Trust Application Protection este în față, și să zicem, mie îmi trimite un cod pe email, pentru a putea accesa cel path, dacă nu am codul, nu pot accesa path-ul.

Per ansamblu.. Cloudflared + Proxmox FTW ! 😀