Diferenças entre edições de "Rede em LXC"

Fonte: TecPorto
Saltar para a navegação Saltar para a pesquisa
m (João moveu MACVLAN em LXC para Rede em LXC)
Linha 1: Linha 1:
 +
= Rede em LXC =
 +
 +
== Bridging ==
 +
 +
TODO
 +
 +
== MACVLAN ==
 
Há duas formas de usar MACVLAN com LXC. Uma das formas não permite (pelo menos directamente) comunicação entre a máquina ''host'' e os ''containers'', mas é mais simples de configurar.
 
Há duas formas de usar MACVLAN com LXC. Uma das formas não permite (pelo menos directamente) comunicação entre a máquina ''host'' e os ''containers'', mas é mais simples de configurar.
  
= Método simples =
+
=== Método simples ===
  
 
Este método é muito simples de deixar a funcionar mas, sem trabalho adicional, não permite que os ''containers'' comuniquem com a máquina ''host''. Basta configurar o perfil aplicável (neste exemplo o ''default'') para usar o método ''macvlan'' mas aplicado ao ''interface'' físico envolvido na ''bridge'' (por exemplo, o enp6s0). Usando o comando '''lxc profile edit default''' pode-se adaptar a configuração:
 
Este método é muito simples de deixar a funcionar mas, sem trabalho adicional, não permite que os ''containers'' comuniquem com a máquina ''host''. Basta configurar o perfil aplicável (neste exemplo o ''default'') para usar o método ''macvlan'' mas aplicado ao ''interface'' físico envolvido na ''bridge'' (por exemplo, o enp6s0). Usando o comando '''lxc profile edit default''' pode-se adaptar a configuração:
Linha 13: Linha 20:
 
Neste exemplo, o eth0 refere-se ao ''interface'' virtual visto pelo ''container'' e o enp6s0 é o ''interface'' físico da máquina ''host''.
 
Neste exemplo, o eth0 refere-se ao ''interface'' virtual visto pelo ''container'' e o enp6s0 é o ''interface'' físico da máquina ''host''.
  
= Método avançado =
+
=== Método avançado ===
  
== Importante ==
+
==== Importante ====
  
 
O pacote NetPlan, usado por padrão pelo Ubuntu Server, ainda não suporta MACVLAN nativamente. O seguinte "remendo" poderá ajudar:
 
O pacote NetPlan, usado por padrão pelo Ubuntu Server, ainda não suporta MACVLAN nativamente. O seguinte "remendo" poderá ajudar:

Revisão das 09h21min de 11 de abril de 2022

Rede em LXC

Bridging

TODO

MACVLAN

Há duas formas de usar MACVLAN com LXC. Uma das formas não permite (pelo menos directamente) comunicação entre a máquina host e os containers, mas é mais simples de configurar.

Método simples

Este método é muito simples de deixar a funcionar mas, sem trabalho adicional, não permite que os containers comuniquem com a máquina host. Basta configurar o perfil aplicável (neste exemplo o default) para usar o método macvlan mas aplicado ao interface físico envolvido na bridge (por exemplo, o enp6s0). Usando o comando lxc profile edit default pode-se adaptar a configuração:

 devices:
   eth0:
     nictype: macvlan
     parent: enp6s0
     type: nic

Neste exemplo, o eth0 refere-se ao interface virtual visto pelo container e o enp6s0 é o interface físico da máquina host.

Método avançado

Importante

O pacote NetPlan, usado por padrão pelo Ubuntu Server, ainda não suporta MACVLAN nativamente. O seguinte "remendo" poderá ajudar:

Primeiro passo, criar o script /etc/networkd-dispatcher/routable.d/10-macvlan-interfaces.sh com o seguinte conteúdo:

 #! /bin/bash
 ip link add macvlan0 link eth0 type macvlan mode bridge

Segundo passo, criar um ficheiro de configuração para o NetPlan, com o nome /etc/netplan/macvlan.yaml (nome apenas de exemplo)

 network:
     version: 2
     renderer: networkd
     ethernets:
         macvlan0:
             addresses:
                 - 192.168.1.6/32
             routes:
                 - to: 192.168.1.2/31
                   via: 192.168.1.6
                   metric: 100
                 - to: 192.168.1.4/31
                   via: 192.168.1.6
                   metric: 100

Nota: as rotas e gamas de endereços IP devem ser adaptados ao caso de uso.

Terceiro passo, corrigir as permissões do script:

 $ chmod o+x,g+x,u+x /etc/networkd-dispatcher/routable.d/10-macvlan-interfaces.sh

Por fim, aplicar as alterações:

 $ netplan apply