"RTNETLINK responde: el archivo existe" / etc / network / interfaces No contiene 2 puertas de enlace, entonces, ¿qué pasa?

14

Este es el /etc/network/interfacescontenido de mi archivo

La única forma en que esto tiene efecto es cuando el sistema se reinicia.

Estoy tratando de que se efectúe manualmente. Mis intentos a continuación.

auto eth0
    iface eth0 inet static
           address 192.168.1.57
           netmask 255.255.255.0
           gateway 192.168.1.1
           up ip addr add 192.168.0.57/24 dev eth0 label eth0:1
           down ip addr del 192.168.0.57/24 dev eth0 label eth0:1
           up ip route add 192.168.0.0/24 via 192.168.0.1 dev eth0:1 metric 20
           down ip route del 192.168.0.0/24 via 192.168.0.1 dev eth0:1 metric 20

Primero trató de correr sudo ifup eth0

y recibo

RTNETLINK answers: File exists
Failed to bring up eth0.

El /etc/network/interfacesúnico trabajo cuando reinicio el sistema

Aparte de eso, he intentado

sudo /etc/init.d/networking restart

sudo service network-manager restart

sudo service networking restart

Pero ninguno de ellos mostrará los cambios en el interfacesarchivo

Mi única opción era sudo ifup eth0y eso da el error anterior.

¿qué está mal?

Wolfgang
fuente

Respuestas:

8

Edite su archivo de configuración para eliminar los espacios antes de la ifaceestrofa para que se vea así,

auto eth0
iface eth0 inet static
   address 192.168.1.57
   netmask 255.255.255.0
   gateway 192.168.1.1
   up ip addr add 192.168.0.57/24 dev eth0 label eth0:1
   down ip addr del 192.168.0.57/24 dev eth0 label eth0:1
   up ip route add 192.168.0.0/24 via 192.168.0.1 dev eth0:1 metric 20
   down ip route del 192.168.0.0/24 via 192.168.0.1 dev eth0:1 metric 20

El mensaje que recibe es solo una indicación de que la interfaz ya está activa, por lo que debe hacerlo ifdownantes de hacerlo ifup. Sin embargo, debe tener cuidado si se conecta a través de ssh; puede bloquearse. Esta es una forma de hacerlo:

sudo ifdown eth0 && sudo ifup eth0

Tenga en cuenta cómo se ejecutan estos dos comandos en la misma línea. Y solo como precaución, asegúrese de poder acceder a la consola del servidor o reiniciar el servidor si algo sale mal.

dtoubelis
fuente
3
corriendo sudo ifdown eth0da ifdown: interface eth0 not configuredy corriendo sudo ifdown eth0 && ifup eth0 da lo mismo
wolfgang
1
@wolfgang, intenta eliminar espacios antes de la ifaceestrofa en tu /etc/network/interfacesarchivo y ifdown/ifupvuelve a hacerlo .
dtoubelis
Esto funcionó! no esperaba que espacios antes ifacecrearan un gran problema. ¿podría editar esto en su respuesta para que pueda ayudar a alguien? y debe haber un sudoantes ifup-> de lo sudo ifdown eth0 && sudo ifup eth0contrario me sale un permission deniederror
wolfgang
1

Intente buscar / run / network / ifstate y modifíquelo agregando eth (n) = eth (0) si no ve el eth deseado allí.

Ex:

$ cat /run/network/ifstate 
eth0=eth0
lo=lo
eth3=eth3
eth1=eth1

Después de eso, use el comando sudo ifdown eth (n) y luego sudo ifup eth (n).

alex
fuente
1

Para cualquier otra persona que terminó aquí, tuve que detener todas las interfaces y puentes y luego descargar los módulos antes de que el error RTNETLINK desapareciera.

ifconfig eth0 down
ifconfig br0 down
rmmod e1000e              # or whatever module your nic uses
modprobe e1000e
service networking start

o simplemente reiniciar.

Kurt
fuente
0

Acabo de encontrarme con este problema y ninguna de las soluciones anteriores funcionó para mí. No pude cambiar /run/network/ifstateporque se restableció inmediatamente al estado anterior. Tampoco sudo ifdown eth0 && sudo ifup eth0funcionó.

Luego descubrí el siguiente comando:

sudo ip addr flush dev eth0

que resolvió el problema

digijay
fuente