lxd com a própria rede br0 é inacessível em centos conteiner

1

Quando executo o lxd init, escolho essa configuração.

Would you like to create a new network bridge (yes/no)? no

porque eu criei meu próprio br0 em / etc / network / interfaces

source /etc/network/interfaces.d/*

auto lo
iface lo inet loopback

auto br0
iface br0 inet static
    address x.x.50.2
    netmask 255.255.252.0
    broadcast x.x.x.255
    network x.x.x.0
    gateway x.x.53.254
    dns-nameservers 8.8.8.8

    bridge_ports eth0
    bridge_stp off
    bridge_fd 0
    bridge_maxwait 0

iface eth0 inet manual

Então eu inicio lxd centos e corro

 lxc config device add first eth0 nic nictype=bridged parent=br0
 lxc config device set first eth0 ipv4.address x.x.51.2
 lxc config device set first eth0 security.mac_filtering true

e altere a configuração em

 /var/lib/lxd/containers/second/rootfs/etc/sysconfig/network-scripts/ifcfg-eth0

 DEVICE=eth0
 BOOTPROTO=none
 ONBOOT=yes
 HOSTNAME=LXC_NAME
 NM_CONTROLLED=no
 TYPE=Ethernet
 IPADDR=x.x.51.2
 NETMASK=255.255.255.255
 GATEWAY=x.x.53.254
 DNS1=8.8.8.8
 DNS2=x.x.x.x
 MTU=
 DHCP_HOSTNAME=x.x.50.2

Quando tento o ping 8.8.8.8 recebo Connection: Network is Inreachable

/etc/resolv.conf

 nameserver 8.8.8.8
 search lxd
 nameserver x.x.x.x

O que estou fazendo errado não consigo entender, talvez esteja perdendo alguma concepção?

    
por cyprian 12.07.2017 / 19:34

1 resposta

0

Você está usando um NIC dedicado para seus contêineres? Você não precisa definir um endereço IP estático na sua ponte:

auto br0
iface br0 inet manual
    bridge_ports eth0
    bridge_stp off
    bridge_fd 0
    bridge_maxwait 0

iface eth0 inet manual

E se você está definindo o seu endereço IP dentro de sua consideração, eu tento não configurá-lo no nível de configuração do lxc

lxc config device unset first eth0 ipv4.address

Se você estiver compartilhando sua interface de gerenciamento com o host LXD com os contêineres LXD, poderá redefinir o endereço IP na ponte, mas recomendamos o uso de dispositivos separados para as duas conexões.

Se nada disso funcionar, você precisa descobrir onde a rede está quebrada. Adoto uma abordagem passo a passo fora do contêiner e, em seguida, dentro do contêiner, o que envolve a verificação do acesso à rede em vários níveis:

  1. No host:
    • Remova temporariamente a ponte da sua configuração (apenas comente-a) e defina um endereço IP estático na eth0.
      • Você pode fazer ping de eth0 ping 192.168.0.10 ? Se sim, então a eth0 está ativa e funcionando. Se não, então você tem um problema com sua NIC.
      • Você pode fazer ping no gateway ping 192.168.0.1 ? Se sim, a conectividade da camada 2 está funcionando. Se não, então você tem um problema de camada 2. Verifique suas conexões, switch, etc (qualquer filtragem baseada em MAC).
      • Você pode fazer ping fora do gateway ping 8.8.8.8 ? Se sim, a conectividade da camada 3 está funcionando. Se não, então você provavelmente tem um problema de camada 3. Verifique a tabela de roteamento ip route show , roteador, etc.
    • Se todos eles estiverem funcionando, você sabe que a eth0 está funcionando perfeitamente. Agora você cria sua ponte novamente, defina eth0 de volta para manual e forneça o endereço IP para sua ponte. Repita os 3 sub passos acima. Se todos eles tiverem sucesso, você sabe que o problema não está no host, está no contêiner.
    • Remova o endereço IP da sua ponte e configure-o de volta para manual. Continue para o próximo passo.
  2. No contêiner:
    • Você pode fazer ping de eth0 ping 192.168.0.10 ? Se sim, a NIC está funcionando, continue. Se não, então há um problema com a própria NIC, você não terá conectividade de rede. Verifique os logs LXD, os logs do kernel, execute os testes Ethernet, etc. Se este for o caso, o problema provavelmente é um problema de configuração, pois você já testou o dispositivo eth0 real no host e descobriu que estava trabalhando para chegar tão longe .
    • Você pode fazer ping no gateway ping 192.168.0.1 ? Se sim, então a camada 2 está funcionando, continue. Se não, então você tem um problema de camada 2.
    • Você pode fazer ping fora do gateway (já sabemos que você não pode) ping 8.8.8.8 ? Existe um problema de camada 3. Verificar rotas ip route show
por 25.07.2017 / 21:19

Tags