LXC

Configuración de red LXC

Configuración de red LXC
Cuando inicia un contenedor de Linux, es posible que desee utilizar funciones de red. La pregunta es: "¿Está intentando conectarse en red con el host, la amplia Internet, otro contenedor o tal vez todos los contenedores locales??"Menos mal que hay soluciones para todos!

Perfiles

Para hacer esto correcto, necesita configurar su contenedor. La configuración base ya está en su sistema si ha utilizado una distribución regular. Puede configurar esto aún más con comandos, pero la mayoría de las personas usarán archivos YAML. La base generalmente se parece a la de abajo. El archivo reside en / etc / lxc / default.conf.

lxc.neto.0.tipo = veth
lxc.neto.0.enlace = lxcbr0
lxc.neto.0.banderas = arriba
lxc.neto.0.hwaddr = 00: 16: 3e: xx: xx: xx

Cada contenedor sigue la configuración de acuerdo con el perfil predeterminado y el archivo mencionado anteriormente. Puede imprimir el archivo predeterminado como se muestra a continuación. Para una mayor configuración, es mejor crear nuevos perfiles. Cada perfil contendrá algún detalle de configuración, en nuestro caso redes. Puede cambiar cualquier configuración en su contenedor con un perfil, y esto tiene aún más sentido cuando desea ejecutarlo tanto localmente como en una plataforma.

El perfil de $ lxc muestra la configuración predeterminada:
descripción: Perfil LXD predeterminado
dispositivos:
eth0:
nombre: eth0
red: lxdbr0
tipo: nic
raíz:
camino: /
piscina: ros
tipo: disco
nombre: predeterminado
usado por:
- / 1.0 / instancias / guiapps
- / 1.0 / instancias / ff

La salida resultante es un archivo YAML. Todos tus perfiles estarán en el mismo formato. Con LXC en sí, puede crear, eliminar y editar su perfil. Puede ver en el archivo que el predeterminado usa la red lxdbr0 y escribe nic. Ahora, cree un nuevo perfil usando lo siguiente:

$ lxc perfil crear nicnet

Antes de que se ejecute cualquier contenedor, edite el perfil:

$ lxc editar perfil de nicnet

Usas el formato YAML en los archivos que crean estos perfiles. Tenga en cuenta que el nombre "eth0" es el nombre del contenedor interno. El "padre" es lo que tiene en su sistema, y ​​lo verifica usted mismo usando:

$ ip a

La impresión variará dependiendo de lo que haya tenido antes. También debe saber que puede hacer el puente desde el exterior del contenedor con las herramientas brctl.

Usándolo en su contenedor

Una vez que haya creado un perfil, desea agregarlo a su contenedor. Esto se hace con el mismo conjunto de programas 'lxc'. Primero, asegúrese de tener un contenedor, en este ejemplo, el contenedor se llama 'ff':

$ lxc perfil agregar ff nicnet

El cambio entra en vigor cuando reinicia la red en el contenedor. Lo más fácil y seguro es agregar siempre perfiles solo en contenedores detenidos.

Enrutado

Una conexión en puente es aquella en la que su contenedor recibe una dirección MAC en la misma interfaz Ethernet que su host. Esto es lo que hiciste anteriormente en esta publicación. Con algunos trucos más, puede hacer que su enrutador asigne una dirección IP separada al contenedor, y puede configurar esto en su contenedor. Aunque, cuando usa macvlan, puede tener problemas al usar Wi-Fi. WPA / WPA2 no aceptará las dos direcciones, por lo que su Wi-Fi se romperá, ya que su anfitrión no usará el Wi-Fi.

El ejemplo anterior usa las herramientas brctl ya que lxc ha creado sus propias. Esto obtiene una dirección del host, no del enrutador. Puede obtener la dirección del enrutador si lo desea. Nuevamente, solo si usa una conexión por cable o una conexión Wi-Fi insegura.

Cuando se haya asegurado de tener una conexión de red en su host, puede conectarla a su contenedor. Cambie la palabra padre y establezca su tipo de nic en macvlan.

config:
descripción: Configuración de la interfaz de red
dispositivos:
eth0:
nombre: eth0
nictype: macvlan
padre: enp3s0
tipo: nic
nombre: Ruta
usado por:
- / 1.0 / instancias / guiapps
- / 1.0 / instancias / ff

Deberá asegurarse de que el valor principal coincida con su configuración, así que asegúrese de crearlo dinámicamente. Una vez hecho esto, puede iniciar su contenedor y encontrarlo en la lista de destinos de host de su enrutador. Bueno, son interfaces, para ser técnico.

Figura 1: El contenedor ahora aparece en su enrutador

Perfiles móviles

Una parte interesante de los contenedores de Linux es que puede tomar sus configuraciones y volcarlas en archivos YAML. Para crear los archivos para esto, ejecute la opción show en LXC, luego canalice a un archivo. La salida sigue el estándar YAML, y luego puede usar estos archivos para configurarlos en otro lugar.

$ lxc perfil mostrar Ruta> Ruta.yml

Para usar esto para un nuevo contenedor, use los valores establecidos. Normalmente, establecería un valor a la vez, pero ya tiene un archivo para este.

$ lxc perfil crear nueva ruta $ lxc perfil establecer nueva ruta usuario.la red.config - < Route.yml

Puede ver que debe poner los valores en el espacio de nombres 'usuario.la red.config '. Esto es importante para saber cuándo desea agregar otros valores no relacionados con las redes.

Conclusión

La conexión en red con sus contenedores tiene muchas opciones, que pueden ser confusas, pero con un poco de investigación y pruebas por su cuenta, puede hacer que funcione de la manera que desee. La mejor parte es que puedes probar una cosa a la vez usando perfiles. Nunca arruinarás tu contenedor actual, solo quita el que no funcionó y agrega el viejo. Esta técnica funciona para todo en un recipiente.

Juegos HD remasterizados para Linux que nunca tuvieron un lanzamiento de Linux antes
Muchos desarrolladores y editores de juegos están creando una remasterización HD de juegos antiguos para extender la vida útil de la franquicia, por f...
Cómo usar AutoKey para automatizar juegos de Linux
AutoKey es una utilidad de automatización de escritorio para Linux y X11, programada en Python 3, GTK y Qt. Usando su funcionalidad de scripting y MAC...
Cómo mostrar el contador de FPS en juegos de Linux
Los juegos de Linux obtuvieron un gran impulso cuando Valve anunció el soporte de Linux para el cliente Steam y sus juegos en 2012. Desde entonces, mu...