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

Fonte: TecPorto
Saltar para a navegação Saltar para a pesquisa
Linha 10: Linha 10:
 
=== 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 ''container'' ou, se aplicável, o perfil em uso (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:
 
   devices:

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 container ou, se aplicável, o perfil em uso (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