==== Jails de FreeBSD ===== Antes de que Linux supiese lo que es un contenedor o un Docker, FreeBSD ya tenía su manera de aislar procesos y mas recientemente, recursos de la máquina sin tener que virtualizar propiamente dicho (aunque sigue siendo por definición una máquina virtual) Encontrarás respuestas mas esclarecedoras en el [[https://docs.freebsd.org/en/books/handbook/jails/|handbook]] === Creación de una Jail === Lo mas fácil es usar un gestor de jails como [[https://bastillebsd.org/|bastillebsd]] pero yo creé jails manualmente antes de usar Bastille, y migrar a bastille no fue precisamente fácil, así que sigo haciendolo de la manera por defecto y no hay demasiado dolor. Se deben crear en /etc/jail.conf, por ejemplo, para crear una jail básica: ejemplo { # STARTUP/LOGGING exec.start = "/bin/sh /etc/rc"; exec.stop = "/bin/sh /etc/rc.shutdown"; exec.consolelog = "/var/log/jail_console_${name}.log"; # PERMISSIONS allow.raw_sockets; exec.clean; mount.devfs; # HOSTNAME/PATH host.hostname = "${name}"; path = "/stranger/jails/${name}"; # NETWORK ip4.addr = 192.168.1.166; interface = bge4; } Esto creara una jail llamada "ejemplo", que tendrá su root en /stranger/jails/ejemplo. Para instalar ahí un sistema base, podemos usar el comando "bsdinstall" ''bsdinstall jail /stranger/jails/ejemplo'' Lo que harías si fueses listo, es crear /stranger/jails/template como un FS de ZFS, hacer bsdinstall jail /stranger/jails/template y cuando necesites crear una jail, hacerlo con ''zfs send stranger/jails/template@snap || zfs recv stranger/jails/nueva_jail'' Esto te permite crear un FS para cada jail, para darles cuotas de disco y todo eso, además de que es mas fácil crear una jail así. Una vez finalice la instalación, puedes iniciar la jail con ''service jail start ejemplo'' y verla con el comando ''jls''. Aquí un ejemplo del comando ''jls'' en un entorno donde ya se han creado distintas jails y algunas no tan básicas. Debido a que no me fío una mierda, las IPs de las máquinas están censuradas. ~ [icarus] % jls JID IP Address Hostname Path 1 192.168.1.xxx mc /stranger/jails/mc 2 192.168.1.xxx shimmie2 /stranger/jails/shimmie2 3 192.168.1.xxx sakisafe /stranger/jails/sakisafe 4 192.168.1.xxx dokuwiki /stranger/jails/dokuwiki 5 192.168.1.xxx forgejo /stranger/jails/forgejo 6 grafana /stranger/jails/grafana 7 wireguard /stranger/jails/wireguard 8 192.168.1.xxx build /stranger/jails/build 9 192.168.1.xxx ansible /stranger/jails/ansible 10 192.168.1.xxx archivebox /stranger/jails/archivebox 11 192.168.1.xxx jellyfin /stranger/jails/jellyfin {{:smile.png|}} === Jails VNET ==== TODO: Consulte el handbook de mientras