Resolver "respuestas RTNETLINK: el archivo existe" cuando se ejecuta ifup

43

Tuve este problema cuando obtuve mi nuevo dongle Wi-Fi y he visto a algunas personas con el mismo problema. Básicamente, cuando tengo una interfaz configurada y quiero cambiar a la otra, arroja este error:

RTNETLINK responde: el archivo existe
No se pudo mostrar eth0

o algo similar.

/etc/network/interfaces archivo:

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
avidreader610
fuente
1
No puede tener más de una puerta de enlace predeterminada en Linux. En particular, no puede tener la misma puerta de enlace predeterminada en dos interfaces diferentes. Y no puede tener la misma red en dos interfaces diferentes.
ceving
@ceving no hay problema en tener dos interfaces en la misma red. Tampoco hay problema si estas dos interfaces tienen la misma puerta de enlace. La tabla de enrutamiento se analiza de forma estricta y puede imaginarse que las entradas son destination IP -> interface. Por lo tanto, se enviará a la puerta de enlace a través de la interfaz que analiza primero (desde la parte inferior) en la tabla de enrutamiento.
George
si se trata de IPV6, siempre agregue una longitud de red: xxxx: xxxx: ... :: 1/64 en la dirección
fcm

Respuestas:

46

Si la solución provista por @ theoB610 aún no funciona, entonces es posible que deba limpiar el wlan0dispositivo antes ifupy después ifdown.

sudo ip addr flush dev wlan0

Este es un problema no demasiado específico para Raspberry Pi, se produjo un problema similar y se resolvió en redes cableadas aquí (de donde obtuve la solución para mi problema con el Pi).

Ébe Isaac
fuente
1
Estaba teniendo este problema en un servidor HP ProLiant (!), Y esto lo solucionó.
sudo
1
Gran solución El problema básico es que todavía persiste alguna configuración previa, automática o manual (como ejecutar ifconfig desde la línea cmd). El comando flush corrige esa situación.
kmarsh
1
He tenido este problema cuando hay /etc/sysconfig/network-scripts/ifcfg-*archivos mal formados causados ​​por NetworkManager que no le gustan algunas configuraciones y crea un archivo de reemplazo, creando así múltiples archivos adicionales y causando el error RTNETLINK answers: File exists. Eliminar los rotos (los que no se muestran como perfil) parece ser una solución.
Wilf
2
Nunca copie y pegue esto en un servidor de producción. Reemplacé wlan0 con eth0 y la interfaz se cayó inmediatamente y no quiero volver.
Fusseldieb
1
Es interesante que nadie se proporciona más simple y por la regla método más seguro: reboot. Por ejemplo, con la interfaz de descarga tuve problemas: mi interfaz / IP se cayó y solo pude conectarme directamente en una consola ... así que reiniciar siempre es el camino a seguir para mí con esto.
stamster
24

Creo que se puede encontrar una solución al resolver "RTNETLINK respuestas: el archivo existe" cuando se ejecuta ifup (weblog de Lennart); ciertamente me lo arregló.

Básicamente solo puede tener una puerta de enlace asignada en su archivo de interfaces. Elimine las líneas duplicadas que determinan la puerta de enlace para que solo aparezca una vez.

Archivo modificado / etc / network / interfaces:

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 el crédito a Lennart por resolver este problema!

avidreader610
fuente
Tropecé con esta respuesta a través de Google. Esto es lo que funcionó para mí en una máquina virtual Ubuntu en Hyper-V
abhijit
8

Resuelto por:

sudo ifup --ignore-errors wlan0

después de este comando, ifdown y ifup comenzaron a funcionar correctamente.

mauretto
fuente
Esto es útil después de que falla el "reinicio de la red de servicio", gracias. :)
Adambean
1

pasos:

1 check-> ip route(si el valor predeterminado de la ruta de IP es diferente a la interfaz requerida, siga los pasos 2 y 3)

2 sudo ip route del default(eliminar esa interfaz predeterminada)

3 sudo ip route add default via ip_address dev interface_name(agregue su interfaz requerida de esta manera)

Rahul Patil
fuente
0

En mi caso, todavía tenía otra conexión ejecutándose: una vez que eliminé esa interfaz con ifdown eth0, la que me interesaba (wlan0) apareció limpiamente.

No recomiendo usar la opción --ignore-errors

tamal
fuente
0

Me topé con esto mientras jugaba con VMWare vCenter. Si está en el mismo barco, debería haber instalado VMWare Tools, perl y net-tools con su administrador de paquetes antes de hacer la Plantilla / Instantánea de la VM.

turiyag
fuente
-1

Fuerza de / configuración

ifdown --force --verbose ethX && ifup --force --verbose ethX
Nico
fuente