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.