Com crear un contenidor LXC amb LXD

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
2 Likes