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

Fonte: TecPorto
Saltar para a navegação Saltar para a pesquisa
Linha 1: Linha 1:
= Importante =
+
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:
 
O pacote NetPlan, usado por padrão pelo Ubuntu Server, ainda não suporta MACVLAN nativamente. O seguinte "remendo" poderá ajudar:
Linha 25: Linha 41:
 
                     metric: 100
 
                     metric: 100
  
'''Nota:''' devem adaptar as rotas e gamas de endereços IP ao vosso caso.
+
'''Nota:''' as rotas e gamas de endereços IP devem ser adaptados ao caso de uso.
  
Terceiro passo, corrigir as permissões do script:
+
Terceiro passo, corrigir as permissões do ''script'':
  
 
   $ chmod o+x,g+x,u+x /etc/networkd-dispatcher/routable.d/10-macvlan-interfaces.sh
 
   $ chmod o+x,g+x,u+x /etc/networkd-dispatcher/routable.d/10-macvlan-interfaces.sh

Revisão das 10h05min de 15 de março de 2021

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