ifup rota padrão ausente

1

Um de nossos servidores está se comportando de maneira estranha com a rede na inicialização. Estamos usando alterações de configuração e ifup / ifdown para tentar isolar o problema, com resultados frustrantemente inconsistentes. Temos uma configuração consistente com outros servidores em que não estamos tendo esse problema. Uma diferença significativa é que esse servidor é de um fornecedor de hardware diferente, mas não sei por que isso estaria causando o problema que estamos tendo.

Quando exibimos a interface eth0 com sudo ifup eth0 , a interface vinculada bond0 e a interface vlan bond0.3001 são ativadas e aparecem corretamente configuradas a partir do ifconfig, mas a rota padrão está ausente.

user@admin1:~$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.1.1.0        0.0.0.0         255.255.255.0   U     0      0        0 bond0.3001

Tentativas repetidas de derrubar a interface (usando sudo ifdown bond0 , que parece ser a maneira mais fácil de reduzir toda a configuração em várias camadas com um único comando) e fazer o backup, parecem não adicionar rota corretamente. No entanto, se editarmos a entrada bond0.3001 no arquivo de interfaces /etc/network/interfaces , ela frequentemente (mas nem sempre, argh) exibirá as interfaces e a rota padrão correta.

user@admin1:~$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.1.1.1        0.0.0.0         UG    0      0        0 bond0.3001
10.1.1.0        0.0.0.0         255.255.255.0   U     0      0        0 bond0.3001

Estamos comentando a linha "rede" abaixo como a edição do arquivo, com resultados um pouco consistentes; quando fazemos a edição e pulamos a pilha da interface, a rota padrão está presente com bastante frequência. Quando rejeitamos a pilha de interface sem fazer a edição, ela parece falhar 100% do tempo. Adicionar a rota padrão manualmente com sudo route add default gw 10.1.1.1 bond0.3001 funcionou toda vez que tentamos, mas precisamos que o sistema reinicie a rede de forma confiável.

Aqui está nossa configuração:

user@admin1:~$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual
    bond-master bond0
auto eth1
iface eth1 inet manual
    bond-master bond0

# The primary network interface
#Aggregate bond
auto bond0
iface bond0 inet manual
    bond-slaves none
    bond-mode 802.3ad
    bond-miimon 100
    bond-lacp-rate 1

auto bond0.3001
iface bond0.3001 inet static
    address 10.1.1.14
    gateway 10.1.1.1
    netmask 255.255.255.0
    #network 10.1.1.0
    broadcast 10.1.1.255
    #post-up route add default gw 10.1.1.1 bond0.3001
    #post-down route del default gw 10.1.1.1 bond0.3001

Um ponto de dados adicional - na execução de sudo strace -f sudo ifup eth0 para tentar ver quais são as diferenças, demora mais em uma tentativa bem-sucedida (rota padrão criada) do que em uma tentativa com falha. (rota padrão ausente) Isso pode ser apenas outros serviços de redes downstream em execução, que falham rapidamente quando não há rota padrão.

EDIT: Suspeitando que as atualizações do kernel são as culpadas, a atualização que pareceu resolver o problema para este servidor foi de 3.19.0-25 a 3.19.0-43. Nós vimos um comportamento similar em outros servidores após as atualizações do kernel. Mais testes em versões específicas do kernel provavelmente seriam necessários para rastrear a causa raiz.

    
por righdforsa 11.01.2016 / 21:54

1 resposta

2

Acabei de acertar este problema com um rack de servidores Ubuntu 14.04.3 esta semana, todos atualizados para linux-generic-lts-vivid e rodando o kernel 3.19.0-43. Depois de flailing por alguns dias, resolvemos o problema degradando o kernel para 3.16.0-57 (tivemos o mesmo problema com o kernel 3.19.0-2x que vem com o servidor iso 14.04.3 amd64).

apt-get remove linux-generic-lts-vivid -y
apt-get autoremove
apt-get install linux-generic-lts-utopic -y
rm -f /boot/*3.19*
update-grub
reboot

Em relação aos sintomas, as rotas padrão foram adicionadas de forma não determinística durante a inicialização. Poderíamos sempre corrigi-lo via ifdown bond0 && ifup p4p2 p5p2 , mas, como você, precisávamos de uma rede para trabalhar de forma confiável na inicialização.

    
por 12.01.2016 / 22:28