Introduzione alle jail di FreeBSD
Le jail di FreeBSD forniscono la virtualizzazione a livello di sistema operativo, consentendoti di partizionare un sistema FreeBSD in diversi mini-sistemi indipendenti chiamati jail.
Cosa sono le prigioni?
Le jail sono contenitori leggeri che condividono il kernel host ma hanno il proprio:
- Gerarchia del file system
- Stack di rete (opzionale)
- Account utente
- Spazio di processo
Perché usare le jail?
- Isolamento di sicurezza: i servizi compromessi non possono influire sull'host
- Gestione delle risorse: limita l'utilizzo di CPU, memoria e disco
- Facile distribuzione: clona e migra interi ambienti
- Test - Ambiente sicuro per gli esperimenti
Creazione di una prigione di base
# Create a jail root
mkdir -p /jails/myjail
# Extract base system
tar -xf /path/to/base.txz -C /jails/myjail
# Configure jail in /etc/jail.conf
myjail {
host.hostname = "myjail.local";
path = "/jails/myjail";
exec.start = "/bin/sh /etc/rc";
exec.stop = "/bin/sh /etc/rc.shutdown";
}
Passaggi successivi
Una volta che hai una jail di base in esecuzione, esplora:
-VNET per la virtualizzazione completa della rete
- Set di dati ZFS per l'archiviazione in jail
- Strumenti di gestione della prigione come iocage o bastille