Configuração da rede LXC

Configuração da rede LXC
Quando você inicia um contêiner Linux, você pode usar funções de rede. A pergunta torna?”Ainda bem que existem soluções para todos eles!

Perfis

Para corrigir isso, você precisa configurar seu contêiner. A configuração base já está no seu sistema se você usou uma distribuição regular. Você pode configurar isso com comandos, mas a maioria das pessoas usará arquivos YAML. A base geralmente se parece com a abaixo. O arquivo reside em /etc/lxc/padrão.conf.

LXC.líquido.0.TIPO = Veth
LXC.líquido.0.link = lxcbr0
LXC.líquido.0.sinalizadores = up
LXC.líquido.0.hwaddr = 00: 16: 3e: xx: xx: xx

Cada contêiner segue as configurações de acordo com o perfil padrão e o arquivo mencionado acima. Você pode imprimir o arquivo padrão conforme abaixo. Para mais configuração, é melhor fazer novos perfis. Cada perfil conterá alguns detalhes de configuração, em nosso caso, a rede. Você pode alterar qualquer configuração em seu contêiner com um perfil, e isso faz ainda mais sentido quando você deseja executá -lo localmente e em uma plataforma.

$ lxc perfil show padrão
Config:
Descrição: Perfil LXD padrão
dispositivos:
eth0:
Nome: eth0
Rede: LXDBR0
Tipo: NIC
raiz:
caminho: /
Piscina: Ros
Tipo: disco
Nome: Padrão
usado por:
- /1.0/instâncias/guiapps
- /1.0/instâncias/ff

A saída resultante é um arquivo YAML. Todos os seus perfis estarão no mesmo formato. Com o próprio LXC, você pode criar, remover e editar seu perfil. Você pode ver no arquivo que o padrão usa a rede LXDBR0 e digite NIC. Agora, crie um novo perfil usando o seguinte:

Profil

Antes de qualquer contêiner estar em execução, edite o perfil:

$ lxc perfil editar nicnet

Você usa o formato YAML nos arquivos que criam esses perfis. Observe que o nome "eth0" é o nome do contêiner interno. O "pai" é o que você tem no seu sistema e você mesmo verifica usando:

$ ip a

A impressão variará dependendo do que você teve antes. Você também deve saber que pode fazer a ponte de fora do contêiner com as ferramentas BRCTL.

Usando -o em seu contêiner

Depois de criar um perfil, você deseja adicioná -lo ao seu contêiner. Isso é feito com o mesmo conjunto de programas 'LXC'. Primeiro, verifique se você tem um contêiner, neste exemplo, o contêiner é chamado 'ff':

$ lxc perfil adicione ff nicnet

A mudança entra em vigor quando você reinicia a rede no contêiner. O mais fácil e seguro é sempre adicionar perfis apenas em recipientes parados.

Roteado

Uma conexão em ponte é aquela em que seu contêiner recebe um endereço MAC na mesma interface Ethernet que seu host. Isso é o que você fez no início deste post. Com mais alguns truques, você pode fazer com que seu roteador atribua um endereço IP separado ao contêiner, e você pode definir isso em seu contêiner. Embora, quando você usa o Macvlan, você pode ter problemas para usar Wi-Fi. WPA/WPA2 não aceitará os dois endereços, então seu Wi-Fi quebrará, pois seu host não usará o Wi-Fi.

O exemplo anterior usa as ferramentas BRCTL desde que o LXC criou seus próprios. Isso recebe um endereço do host, não o roteador. Você pode obter o endereço do roteador, se desejar. Novamente, apenas se você usar uma conexão com fio ou um Wi-Fi inseguro.

Quando você se certificou de ter uma conexão de rede em seu host, pode conectá -lo ao seu contêiner. Altere a palavra pai e defina seu nictype para macvlan.

Config:
Descrição: Configuração para a interface de rede
dispositivos:
eth0:
Nome: eth0
Nictype: Macvlan
Pai: Enp3s0
Tipo: NIC
Nome: Rota
usado por:
- /1.0/instâncias/guiapps
- /1.0/instâncias/ff

Você precisará garantir que o valor dos pais corresponda à sua configuração, portanto, crie -o dinamicamente. Depois disso, você pode iniciar seu contêiner e encontrá -lo na lista de destinos host do seu roteador. Bem, eles são interfaces, para serem técnicos sobre isso.

Figura 1: O recipiente agora aparece no seu roteador

Perfis móveis

Uma parte interessante dos contêineres Linux é que você pode pegar suas configurações e despejá -las em arquivos YAML. Para criar os arquivos para isso, você executa a opção Show no LXC e depois transa em um arquivo. A saída segue o padrão YAML e você pode usar esses arquivos para configurá -los em outro lugar.

$ lxc perfil show rota> rota.yml

Para usar isso para um novo contêiner, use os valores definidos. Normalmente, você definiria um valor de cada vez, mas você já tem um arquivo para isso.

Profileiro $ lxc Criar NewRoute $ LXC Defil Set.rede.Config - < Route.yml

Você pode ver que deve colocar os valores no espaço de nome 'Usuário.rede.configuração. É importante saber quando você deseja adicionar outros valores não relacionados à rede.

Conclusão

A rede com seus contêineres tem muitas opções, o que pode ser confuso, mas com algumas pesquisas e testes por conta própria, você pode fazer com que funcione da maneira que deseja. A melhor parte é que você pode tentar uma coisa de cada vez usando perfis. Você nunca vai estragar seu recipiente atual, basta remover o que não funcionou e adicionar o antigo. Esta técnica funciona para tudo em um contêiner.