Después de tanto batallar hemos dado con el arreglo de esta cuestión que algunos lectores de nuestro espacio tienen. Si deseas aportar algo más no dejes de compartir tu información.
Encontré una solución aquí
Gracias a Stéphane Graber.
Cita:
“Si ejecuta un LXD moderno con un puente administrado por LXD, puede configurar la propiedad ipv4.address en la interfaz de red del contenedor.
- lxc parada c1
- conexión de red lxc lxdbr0 c1 eth0 eth0
- conjunto de dispositivos de configuración lxc c1 eth0 ipv4.address 10.99.10.42
- lxc inicio c1
“
Si desea especificar direcciones IP para contenedores en LXD, mire el /etc/default/lxd-bridge
Archivo. Allí encontrará un lugar para incluir un archivo de configuración externo de dnsmasq.
Suponiendo que está en Ubuntu 16.04,
Abrir /etc/default/lxd-bridge
en tu editor favorito. Tendrás que usar sudo
.
Alrededor de la línea 16,
LXD_CONFILE=""
Agregue una entrada que apunte a un archivo de configuración de dnsmasq. Vas a tener que crear este archivo. Así que llámalo como quieras. Algo como lxd_bridge.conf
.
Luego cree y edite el archivo que ha nombrado anteriormente.
Agregue una línea para cada contenedor al que desee asignar una dirección IP específica.
Como esto:
dhcp-host=containername,ipaddress
Luego deberá reiniciar lxd-bridge y luego reiniciar los contenedores.
Aquí hay un artículo detallado sobre esto:
IP estáticas LXD
Tenga en cuenta que si está ejecutando Alpine Linux en sus contenedores, se deben tomar medidas adicionales para que esto funcione. alpino
Información del sistema: lxc-3.0.1
sobre Ubuntu Server 18.04.1
.
Después de mucho buscar, encontré este comando simple para asignar un static ip a un contenedor:
lxc config set [container] raw.lxc 'lxc.net.[i].ipv4.address = [ip]/[subnet-mask]'
donde [container]
, [i]
, [ip]
y [subnet-mask]
son el nombre del contenedor, número de interfaz de red, deseado static dirección IP y el CIDR para la máscara de subred deseada, respectivamente.
Por ejemplo, si desea asignar 240.10.0.20
con máscara de subred 255.255.255.0
a la interfaz de red número 0 del contenedor denominado hello
puedes usar:
lxc config set hello raw.lxc 'lxc.net.0.ipv4.address = 240.10.0.20/24'
Probablemente necesitará reiniciar el contenedor después de ejecutar el comando.
Tenga en cuenta que esto probablemente no cambiará la dirección IP actual del contenedor (en mi configuración de todos modos); el contenedor debe ser accesible tanto en su IP original como en la IP recién asignada. Como resultado, la entrada del contenedor en lxc list
puede contener varias direcciones IP.
Eche un vistazo aquí para ver la configuración aceptable keys anexable a lxc.net.[i]
. Esta página web contiene información sobre la notación CIDR.
Desafortunadamente, no puedo recordar dónde encontré esta solución por primera vez. Aquí hay un problema relevante de GitHub que podría contener información útil.
valoraciones y comentarios
Si haces scroll puedes encontrar las reseñas de otros desarrolladores, tú igualmente eres capaz dejar el tuyo si lo deseas.