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)
(Sem diferenças)

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

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