LXD container set static ip

3

Houve muitas perguntas e tópicos sobre isso, mas nenhum deles resolve meu problema.

Eu quero atribuir um ip específico a um contêiner específico, sem configurá-lo dentro do contêiner. O objetivo é BIND o container para um ip específico.

  • Os contêineres NÃO PODEM usar a mesma bridge como interface devido a spoofing de ip / pacote.

  • Existem 2 ip públicos apontando para o meu servidor host. O primeiro deve ficar para o host, o segundo para um contêiner específico.

1. Tente: Usando a ponte lxd

Se eu usar a ponte lxd, posso atribuir a cada contêiner um endereço IP fixo da rede bridge lxd (o que significa: a ponte lxd cria uma rede privada com um intervalo de IP que NÃO é público, mas pode ser acessada pelo servidor host )

Meu sistema host tem acesso à rede privada lxd e à rede pública. Agora eu poderia rotear (no sistema host) um ip público para um ip privado e, portanto, um contêiner específico, mas eu não encontrei uma maneira de fazer isso, pois o tráfego de entrada do ip público precisa ser encaminhado para o ip privado e o tráfego de saída do ip privado para o ip público.

2. Tente: Criar uma interface de rede para cada ip e atribuir a interface específica ao container

Como isso é muito mais complicado (e eu sou um novato no linux) eu tentei seguir as instruções de link

Mas não deu certo.

Eu iria com a primeira tentativa porque deveria funcionar se eu pudesse rotear os ip's uns para os outros, mas eu não sei como.

EDITAR

Acabamos de ver essa resposta Como posso restringir um convidado LXD a usar um único endereço IP público?

Parece que isso poderia funcionar. Não posso testá-lo no momento, porque meu roteador doméstico não pode atribuir endereços IP gratuitos aos dispositivos.

    
por SEUH 12.01.2017 / 20:38

2 respostas

1

A solução é criar várias interfaces em ponte em sua máquina host e, em seguida, atribuir uma ponte a um contêiner.

Este é um tutorial perfeito: link

    
por SEUH 12.06.2018 / 03:45
1
  1. configure a ponte lxd padrão

  2. crie o arquivo /etc/default/lxd-static-ip.conf com 1 linha por host como:

    dhcp-host=<containername>,<static-ipaddress>
    
  3. edite / etc / default / lxd-bridge , configure a variável LXD_CONFILE para:

    LXD_CONFILE="/etc/default/lxd-static-ip.conf"
    
  4. reinicie a lxd-bridge (por exemplo, systemctl restart lxd-bridge ), reinicie seus contêineres

por Lubomir Krajcovic 10.02.2017 / 21:35