Mă gândesc (foarte atent) să deschid una dintre VM-urile mele (toate pe KVM) pentru acces extern. Momentan, doar prin tunelul plin de nori, dar s-ar putea schimba. Pentru asta, am nevoie de o modalitate de a bloca în mod sigur și sigur accesul de la acel VM specific la toate gazdele din rețeaua privată, doar în cazul în care cineva intră și face root. Acea VM specifică (să-i spunem VM10) ar trebui să aibă acces numai la gateway și de acolo la Internet. În același timp, vreau să pot accesa acel VM specific dintr-un IP din rețelele private pentru întreținere, backup și dezvoltare ulterioară. Eu folosesc poduri.
VM10 este conectat prin br1 și br2.
Br1 se conectează la internet. Br2 este o rețea privată de mare viteză.
Pe VM10, eth0 se conectează la br1 cu IP 192.168.1.10; eth2 se conectează la br2 cu IP 192.168.222.10
Oricine s-a conectat la VM10, chiar și cu acces root, ar trebui să poată accesa doar 192.168.1.1 și Internetul dincolo. Oricine s-a conectat la VM10, chiar și cu acces root, nu ar trebui să poată ajunge la nimic prin eth2. De preferință, eth2 nici nu ar trebui să apară atunci când este conectat la VM10.
Nu vreau să fac asta cu o regulă de firewall pe VM10, deoarece dacă cineva face root pe VM10, firewall-ul va fi oprit în câteva secunde.
Nu vreau să o fac cu reguli de firewall în casete pe rețelele private, pentru că este o bătaie de cap, ușor de trecut cu vederea. Vreau să introduc ceva în XML-ul VM10 și să termin cu el.
Pentru VM10:
- Permiteți intrarea și ieșirea către/de la 192.168.1.1 și Internet.
- Nu permiteți ieșirea către orice alte ip-uri pe br1. Permiteți intrarea.
- Interziceți ieșirea către toate ip-urile de pe br2. Permiteți intrarea.
- Faceți acest lucru într-un mod astfel încât să nu poată fi schimbat de un utilizator root conectat la VM10
Cred că filtrele de rețea ale libvirt pot face asta, dar mi-e teamă documentația acestora este un subiect prea dens pentru vechiul meu cap.
Ar putea un suflet bun să ajute? Eventual, cu o regulă completă?
Mulțumesc.