Crear un contenidor amb LXD
https://stgraber.org/2016/03/19/lxd-2-0-your-first-lxd-container-312/
Posa que vols crear un servidor per a un projecte o servei que estàs treballant i ho vols instal·lar i configurar dins de un contenidor.
Create a container
lxc launch images:debian/buster el_meu_contenidor
Llistar els contenidors
lxc list
Entrar en el contenidor
lxc exec el_meu_contenidor bash
Algunes primeres configuracions que es poden fer una vegada dins del contenidor.
apt-get install iputils-ping
dpkg-reconfigure tzdata
Static IPs
Per a assegurar que el contenidor té sempre el mateixa direcció IP.
Quan llistes el contienidors es pot veure el IP de cada un de ells, però no son estàtics ja que es poden canviar después de un reboot.
Posa que el contenidor té el IP 10.179.116.199 i volem que té com estàtic el IP 10.179.116.10
lxc stop el_meu_contenidor
lxc network attach lxdbr0 el_meu_contenidor eth0 eth0
lxc config device set el_meu_contenidor eth0 ipv4.address 10.179.116.10
lxc start el_meu_contenidor
Autostart container
Per a assegurar que el contenidor es bota amb el servidor
lxc config set el_meu_contenidor boot.autostart true
Limitar el espai de disk que pot ocupar el contenidor
lxc config device add el_meu_contenidor root disk pool=default path=/
lxc config device set el_meu_contenidor root size 8GB
Limitar la memoria del contenidor
lxc config set el_meu_contenidor limits.memory 512MB
Mostrar la config. del contenidor
lxc config show el_meu_contenidor -e
ssh
Si vols accedir a el_meu_contenidor per ssh, has de configrar els iptables
del servidor i també instal·lar ssh dins del contenidor.
iptables
iptables-persistent permet aplicar les regles de iptables quan el servidor bota. Si encara no tens instal·lat.
apt-get install iptables-persistent
Ara necessitem saber tres coses.
- El nom de la interfàs principal del teu servidor
- El IP del contenidor
- El port que farem servir per a conectar via ssh (això ho inventas tu)
El tràfic arriba al teu servidor per un intefáz (busca el seu nom). Posa que sigui ens18. El port que farem servir es 22222, i el IP del contenidor es 10.179.116.10
iptables -i ens18 -t nat -A PREROUTING -p tcp -m tcp --dport 22222 -j DNAT --to-destination 10.179.116.10:22
Desa els canvis
iptables-save > /etc/iptables/rules.v4
Pots veure el contingut de /etc/iptables/rules.v4
I amb això tot ho que arribi por el port 22222 serà enviat al port 22 del 10.179.116.10
Instal·lar ssh
Entra en el contenidor i installa ssh
apt-get install ssh