Rede inacessível após atualizações

0

Aqui está a minha situação: Estou executando a imagem padrão do Google Compute Engine Ubuntu 16.04 no GCE. Tudo é basicamente a configuração padrão e eu permito conexões com SSH, HTTP e HTTPS. Tudo funciona até que uma reinicialização aconteça, ponto em que a rede pára de funcionar. Isso aconteceu pela segunda vez agora, a primeira vez que comecei do zero, mas gostaria de descobrir o que está acontecendo agora.

Por melhor que eu saiba, acontece depois de upgrades não assistidos, ou upgrades manuais, quando o kernel é atualizado, mas não tenho 100% de certeza. Tudo parece perfeitamente normal, mas nem o tráfego de rede de entrada nem de saída funciona. Eu não posso pingar a máquina, ou SSH nela. Eu consigo fazer login via terminal serial pelo Google Cloud Console. Aqui, quando tento pingar a máquina pelo lado de fora, recebo a seguinte mensagem no console:

Nov  1 11:40:17 instance-2 kernel: [  409.306083] IPv4: martian source 10.128.0.2 from *x.x.x.x (my ip)*, on dev ens4
Nov  1 11:40:17 instance-2 kernel: [  409.306100] ll header: 00000000: 42 01 0a 80 00 02 42 01 0a 80 00 01 08 00        B.....B.......

Eu também vejo alguns erros ao inicializar o cloud-init, como este:

[   26.780358] cloud-init[1177]: 2017-11-01 11:24:42,023 - util.py[WARNING]: No instance datasource found! Likely bad things to come!
[FAILED] Failed to start Initial cloud-init job (metadata service crawler).

Mas isso provavelmente está relacionado a não ter conectividade de rede?

Não consigo acessar nada, incluindo o gateway padrão 10.128.0.1

Saída do ifconfig

ens4      Link encap:Ethernet  HWaddr 42:01:0a:80:00:02  
          inet addr:10.128.0.2  Bcast:10.128.0.2  Mask:255.255.255.255
          inet6 addr: fe80::4001:aff:fe80:2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1460  Metric:1
          RX packets:11 errors:0 dropped:0 overruns:0 frame:0
          TX packets:24 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2186 (2.1 KB)  TX bytes:2980 (2.9 KB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Conteúdo do /var/lib/dhcp/dhclient.ens4.leases

lease {
  interface "ens4";
  fixed-address 10.128.0.2;
  option subnet-mask 255.255.255.255;
  option routers 10.128.0.1;
  option dhcp-lease-time 86400;
  option dhcp-message-type 5;
  option domain-name-servers 169.254.169.254;
  option dhcp-server-identifier 169.254.169.254;
  option interface-mtu 1460;
  option domain-search "c.green-torus-124415.internal.", "google.internal.";
  option ntp-servers 169.254.169.254;
  option rfc3442-classless-static-routes 32,10,128,0,1,0,0,0,0,0,10,128,0,1;
  option host-name "instance-5.c.green-torus-124415.internal";
  option domain-name "c.green-torus-124415.internal";
  renew 3 2017/11/01 16:33:45;
  rebind 3 2017/11/01 16:33:45;
  expire 3 2017/11/01 16:33:45;
}
lease {
  interface "ens4";
  fixed-address 10.128.0.2;
  option subnet-mask 255.255.255.255;
  option routers 10.128.0.1;
  option dhcp-lease-time 86400;
  option dhcp-message-type 5;
  option domain-name-servers 169.254.169.254;
  option dhcp-server-identifier 169.254.169.254;
  option interface-mtu 1460;
  option domain-search "c.green-torus-124415.internal.", "google.internal.";
  option ntp-servers 169.254.169.254;
  option rfc3442-classless-static-routes 32,10,128,0,1,0,0,0,0,0,10,128,0,1;
  option host-name "instance-5.c.green-torus-124415.internal";
  option domain-name "c.green-torus-124415.internal";
  renew 4 2017/11/02 01:52:41;
  rebind 4 2017/11/02 13:33:46;
  expire 4 2017/11/02 16:33:46;
}

Então parece que o pacote chega à VM, mas acha que é um pacote marciano por algum motivo e o ignora / rejeita?

Estes pacotes foram atualizados ontem:

  • libgnutls-openssl27: amd64
  • linux-headers-4.10.0-38-generic: amd64
  • linux-headers-virtual-hwe-16.04: amd64

Eu já tentei renovar a concessão do DHCP e remover o novo kernel e inicializar o kernel anterior sem sucesso.

O que pode ser feito para resolver isso?

    
por PhilippNagel 01.11.2017 / 17:51

1 resposta

0

Então, o problema foi com o ddclient. O mesmo problema aconteceu comigo no Azure, mas nunca aconteceu na AWS.

Eu estava usando o ddclient para atualizar meus registros de domínio para este servidor. Parece que talvez o GCE e o Azure usem o ddclient durante a instalação do cloud-init para a instância, mas o AWS não. Eu suponho que isso é necessário para deixar o gateway saber que a instância está ativa, etc. Quando eu instalei e fiz minha própria configuração para ddclient, isso parece substituir o que acontece durante a inicialização da instância, fazendo com que a rede não funcione corretamente. Desinstalar o ddclient e remover o /etc/ddclient.conf resolveu o problema.

    
por PhilippNagel 02.11.2017 / 14:38