Configuració d'infraestructura¶
IsardVDI permet diferents configuracions depenent dels teus requisits. Des de la més fàcil fins a l'escenari més complex:
- tot-en-un: Un servidor amb tot. La més fàcil, comença amb aquesta.
- hipervisors: Un tot-en-un i altres hipervisors, tots amb accés a Internet que es pot configurar al router frontera (diferents ports per vídeo a cada hipervisor).
- hipervisors-independents: Un tot-en-un visible des d'Internet i altres hipervisors sense accés a Internet. Útil quan no pots obrir més ports al teu router NAT frontera.
- web-hipers: Un VPS/host mínim amb els serveis web+monitoratge i hipervisors, que poden ser independents o complets, depenent de l'accés a Internet que tinguin.
- web-monitor-hipers: Un host VPS per web, un altre per monitoratge i hipervisors, independents o complets.
tot-en-un¶
Només segueix la Guia d'inici ràpid
Hipervisors¶
NOTA: Tots els servidors haurien de tenir /opt/isard compartit entre ells. Quina tecnologia usis per això depèn de tu. Usem NFS la majoria de vegades.
Pots configurar el teu router NAT frontera per redirigir ports com aquest exemple (tot es pot configurar a cfgs):
- tot-en-un
- 80 TCP (redirecció http a https i vídeo spice)
- 443 TCP (https i vídeos HTML5)
- 9999 TCP (vídeo RDP natiu)
-
443 UDP (VPN Wireguard d'usuaris per connectar a hostes remotament)
-
hipervisors
- 808X/844X TCP (una X per cada hipervisor que no estigui al tot-en-un)
Encara que aquesta configuració és recomanable si tens una IP pública per a cada servidor per utilitzar els certificats automàtics de LetsEncrypt. Llavors podràs obrir 80/443 a cada hipervisor. Si no (la majoria de les situacions) hauràs d'obrir diferents ports NAT com s'ha indicat anteriorment (808X/844X) i seria millor utilitzar un certificat wildcard o un comprat (referiu-vos a la secció de certificats per instal·lar el vostre) ja que els hipervisors no el renovaran automàticament, ni el sol·licitaran amb èxit.
Internament hi ha trànsit que ha d'anar entre ells:
- tot-en-un a hipervisors
-
2022 TCP (Control del motor dels hipervisors)
-
hipervisors a tot-en-un
- 4443 UDP (túnel VLAN Geneve Wireguard per a hostes)
- 6379 TCP (Tasques de Redis per a isard-storage)
Si actives estadístiques i registres, els hipervisors remots també haurien d'accedir al servidor d'estadístiques i registres a tot-en-un: - 3100 TCP (Servidor de registres Loki) - 9090 TCP (Servidor d'estadístiques Prometheus/Grafana)
Tenint això en compte, pots avançar en el teu tot-en-un ports cap a cada servei docker a tot-en-un. Nosaltres fem servir xarxes internes diferents per a aquest trànsit si és possible, però pot ser la mateixa:
firewall-cmd --new-zone=intra --permanent
firewall-cmd --zone=intra --add-source=172.31.2.0/24 --permanent
firewall-cmd --zone=intra --add-forward-port=port=3100:proto=tcp:toport=3100:toaddr=172.31.255.67 --permanent
firewall-cmd --zone=intra --add-forward-port=port=9090:proto=tcp:toport=9090:toaddr=172.31.255.68 --permanent
firewall-cmd --zone=intra --add-forward-port=port=6379:proto=tcp:toport=6379:toaddr=172.31.255.12 --permanent
I als hipervisors:
firewall-cmd --new-zone=intra --permanent
firewall-cmd --zone=intra --add-source=172.31.2.0/24 --permanent
firewall-cmd --zone=intra --add-forward-port=port=2022:proto=tcp:toport=2022:toaddr=172.31.255.17 --permanent
Tingueu en compte que, per raons de seguretat, tots aquests ports no estan oberts per defecte al yml amb docker i haurien de ser redirigits al tallafocs. També podríeu editar el yml i obrir-los, però el build.sh sobreescriurà el yml.
Així que, si esteu mapejant diferents ports de vídeo (808X/844X) als hipervisors, haureu de redirigir al contenidor corresponent:
firewall-cmd --zone=intra --add-forward-port=port=8080:proto=tcp:toport=80:toaddr=172.31.255.22 --permanent
firewall-cmd --zone=intra --add-forward-port=port=8443:proto=tcp:toport=443:toaddr=172.31.255.22 --permanent
Tingueu en compte també que la xarxa utilitzada per a tot això HA DE ser bloquejada l'accés als hostes. Per fer-ho, HAURÍEU de configurar BLACKLIST_IPTABLES=172.31.0.0/22 (o quines altres rutes internes vulgueu bloquejar separades per comes) a la configuració dels hipervisors o tenir-ho en compte (no sé com ja que el trànsit dels hostes és nat) al vostre tallafoc d'infraestructura.
La configuració a tot-en-un pot ser com la configuració per defecte per a un tot-en-un. la configuració per als hipervisors hauria de configurar els mateixos SECRETS que s'han configurat a tot-en-un i almenys aquestes variables:
DOMAIN=nom-dominio-external
FLAVOUR=hipervisor
LETSENCRYPT_EMAIL=info@isardvdi.com
API_DOMAIN=172.31.2.10 # La teva IP interna tot-en-un accessible des d'aquest host
STATIC_DOMAIN=nom-dominio-external-tot-en-un # on es carregarà el js/html per a aquests hipers pel navegador dels usuaris
VIEWER_SPICE=80 # Si només tens una IP, llavors un altre port que hagis obert
VIEWER_BROWSER=443 # el mateix
VPN_DOMAIN=172.31.2.10 # La teva IP interna tot-en-un accessible des d'aquest host
REDIS_HOST=172.31.2.10 # La teva IP interna tot-en-un accessible des d'aquest host
PROMETHEUS_ADDRESS=http://172.31.2.10:9090 # La teva IP interna tot-en-un accessible des d'aquest host (estadístiques)
LOKI_ADDRESS=http://172.31.2.10:3100 # La teva IP interna tot-en-un accessible des d'aquest host (registres loki)