Resolvendo “respostas RTNETLINK: arquivo existe” ao executar ifup

Tive este problema quando recebi meu novo dongle Wi-Fi e vi algumas pessoas com o o mesmo problema. Basicamente, quando tenho uma interface configurada e desejo trocar para a outra, ocorre o seguinte erro:

Respostas RTNETLINK: Arquivo existente
Falha ao abrir o eth0

ou algo semelhante.

/etc/network/interfaces arquivo:

auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.1.2 netmask 255.255.255.0 gateway 192.168.1.1 iface wlan0 inet static address 192.168.1.3 netmask 255.255.255.0 gateway 192.168.1.1 

Comentários

  • Você não pode ter mais de um gateway padrão no Linux. Em particular, você não pode ter o mesmo gateway padrão em duas interfaces diferentes. E você não pode ter a mesma rede em duas interfaces diferentes.
  • @ceving não há problema em ter duas interfaces na mesma rede. Também não há problema se essas duas interfaces tiverem o mesmo gateway. A tabela de roteamento é analisada de maneira estrita e você pode imaginar as entradas sendo destination IP -> interface. Assim, ele será enviado ao gateway através da interface que ele analisa primeiro (de baixo) na tabela de roteamento.
  • se estiver lidando com IPV6, sempre adicione um comprimento de rede: xxxx: xxxx: …: : 1/64 no endereço

Resposta

Se a solução fornecida por @ theoB610 ainda não funcionar , então você pode ter que limpar o dispositivo wlan0 antes de ifup e ifdown.

sudo ip addr flush dev wlan0 

Este é um problema não muito específico do Raspberry Pi, um problema semelhante ocorreu e foi resolvido em redes com fio em aqui (de onde obtive a solução para meu problema com o Pi).

Comentários

  • Eu estava tendo esse problema em um servidor HP ProLiant (!), e isso corrigiu.
  • Ótima solução. O problema básico é alguma configuração anterior, automática ou manual (como executar ifconfig da linha cmd) ainda persiste. A gripe O comando sh corrige essa situação.
  • Eu tive esse problema quando existem arquivos /etc/sysconfig/network-scripts/ifcfg-* malformados, fazendo com que o NetworkManager não goste de algumas configurações e crie um arquivo de substituição, criando assim vários arquivos extras e causando o erro RTNETLINK answers: File exists. Remover os corrompidos (aqueles que não ' aparecem como um perfil) parece ser uma solução.
  • Nunca copie e cole isso em um servidor de produção. Substituí wlan0 por eth0 e a interface caiu imediatamente e não ' não quero voltar.
  • Interessante que ninguém forneceu o método mais simples e pela regra mais seguro : reboot. Por exemplo, com a interface liberada, tive problemas – minha interface / IP caiu e eu só pude conectar-me diretamente em um console … então reiniciar é sempre a melhor maneira de fazer isso.

Resposta

Acho que uma solução pode ser encontrada nesta postagem do blog Resolvendo “RTNETLINK respostas: arquivo existe ”ao executar ifup ; isso certamente corrigiu para mim.

Basicamente, você só pode ter um gateway atribuído em seu arquivo de interfaces. Remova todas as linhas duplicadas que determinam o gateway para que apareça apenas uma vez.

Modificado / etc / network / interfaces file:

auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.1.2 netmask 255.255.255.0 gateway 192.168.1.1 iface wlan0 inet static address 192.168.1.3 netmask 255.255.255.0 #gateway 192.168.1.1 <= Either comment or remove this line 

Todos os créditos a Lennart por resolver este problema!

Comentários

  • Encontrei esta resposta por meio do Google. Isso é o que funcionou para mim em uma VM Ubuntu no Hyper-V
  • Aceite sua própria resposta com um clique no tique do lado esquerdo. Apenas isso encerrará a questão e não aparecerá novamente ano após ano.

Resposta

Eu resolvi por:

sudo ifup --ignore-errors wlan0 

após este comando ifdown e ifup começarem a funcionar corretamente.

Comentários

  • Isso é útil depois que " reinicialização da rede de serviço " falha, obrigado. 🙂

Resposta

etapas:

1 verificação-> ip route (se o padrão de rota IP for diferente de sua interface necessária, siga 2d & 3º passo)

2 sudo ip route del default (exclua a interface padrão)

3 sudo ip route add default via ip_address dev interface_name (adicione sua interface necessária assim)

Resposta

No meu caso, eu tinha outra conexão ainda em execução – assim que tirei essa interface com ifdown eth0, veio a que eu estava interessado (wlan0) de forma limpa.

Não recomendo usar a opção –ignore-errors

Resposta

Eu me deparei com isso enquanto brincava com o VMWare vCenter.Se você está no mesmo barco, deve ter instalado as ferramentas VMWare, perl e net-tools com seu gerenciador de pacotes antes de fazer o modelo / instantâneo da VM.

Resposta

Usamos ifdown para remover RTNETLINK e ifup novamente

ifdown wlan0 ifup wlan0 

Resposta

Forçar des / configuração

ifdown --force --verbose ethX && ifup --force --verbose ethX 

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *