Solucionando “Respostas de RTNETLINK: o arquivo existe” ao executar o ifup


43

Eu tive esse problema quando adquiri meu novo dongle Wi-Fi e vi algumas pessoas com o mesmo problema. Basicamente, quando eu tenho uma interface configurada e quero trocar para outra, ele lança este erro:

RTNETLINK respostas: O arquivo existe
Falha ao ativar 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

1
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 18/05/19

@ 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 rigorosa e você pode imaginar as entradas destination IP -> interface. Assim, ele será enviado ao gateway pela interface que ele analisa primeiro (de baixo) na tabela de roteamento.
George

se estiver lidando com IPV6, sempre adicione um comprimento de rede: xxxx: xxxx: ... :: 1/64 no endereço
fcm

Respostas:


46

Se a solução fornecida por @ theoB610 ainda não funcionar, talvez seja necessário liberar o wlan0dispositivo antes ifupe 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 aqui (de onde eu derivei a solução para o meu problema com o Pi).


1
Eu estava tendo esse problema em um servidor HP ProLiant (!), E isso foi corrigido.
Sudo

1
Ótima solução. O problema básico é que algumas configurações anteriores, automáticas ou manuais (como executar ifconfig a partir da linha cmd), ainda perduram. O comando flush corrige essa situação.
precisa saber é

1
Eu tive esse problema quando há /etc/sysconfig/network-scripts/ifcfg-*arquivos malformados, que o NetworkManager não gosta de algumas configurações e cria um arquivo de substituição, criando vários arquivos extras e causando o erro RTNETLINK answers: File exists. Remover os quebrados (os que não aparecem como perfil) parece ser uma correção.
Wilf

2
Nunca copie e cole isso em um servidor de produção. Troquei wlan0 por eth0 e a interface caiu imediatamente e não quero voltar.
Fusseldieb

1
Interessante que ninguém forneceu mais simples e pela regra método mais seguro: reboot. Por exemplo, na interface de descarga, tive problemas - minha interface / IP caiu e eu só consegui conectar diretamente em um console ... portanto, a reinicialização é sempre o caminho a seguir.
Stamster 27/03

24

Eu acho que uma solução pode ser encontrada em Resolvendo “Respostas RTNETLINK: o arquivo existe” ao executar o ifup (blog de Lennart); certamente consertou para mim.

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

Arquivo / etc / network / interfaces modificado :

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

Todo o crédito a Lennart por resolver esse problema!


Tropecei nesta resposta via Google. Isto é o que funcionou para mim em um Ubuntu VM no Hyper-V
abhijit

8

Eu resolvi por:

sudo ifup --ignore-errors wlan0

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


Isso é útil após a falha na "reinicialização da rede de serviço", obrigado. :)
Adambean

1

passos:

1 marque-> ip route(se o padrão da rota IP não for a interface necessária, siga as etapas 2d e 3)

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

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


0

No meu caso, eu tinha outra conexão ainda em execução - uma vez que desativei a interface com o ifdown eth0, o que me interessava (wlan0) surgiu de maneira limpa.

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


0

Eu me deparei com isso enquanto brincava com o VMWare vCenter. Se você estiver no mesmo barco, deverá ter instalado o VMWare Tools, perl e net-tools com seu gerenciador de pacotes antes de fazer o Template / Snapshot da VM.


-1

Forçar de / configuração

ifdown --force --verbose ethX && ifup --force --verbose ethX
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.