web-dev-qa-db-fra.com

"RTNETLINK répond: le fichier existe" / etc / network / interfaces Ne contient pas 2 passerelles, alors qu'est-ce qui ne va pas?

C'est mon /etc/network/interfaces contenu du fichier

La seule façon dont cela prend effet est lorsque le système redémarre.

J'essaie de le faire manuellement. Mes tentatives ci-dessous.

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

J'ai d'abord essayé d'exécuter Sudo ifup eth0

et je reçois

RTNETLINK answers: File exists
Failed to bring up eth0.

Le /etc/network/interfaces ne fonctionne que lorsque je redémarre le système

A part ça, j'ai essayé

Sudo /etc/init.d/networking restart

Sudo service network-manager restart

Sudo service networking restart

Mais aucun d'entre eux ne fera apparaître les changements dans le fichier interfaces

Ma seule option était Sudo ifup eth0 et cela donne l'erreur ci-dessus.

qu'est-ce qui ne va pas?

14
wolfgang

Modifiez votre fichier de configuration pour supprimer les espaces avant la strophe iface afin qu'il ressemble à ceci,

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

Le message que vous recevez est juste une indication que l'interface est déjà en place, vous devez donc faire ifdown avant de faire ifup. Cependant, vous devez être prudent si vous vous connectez via ssh - vous pouvez vous verrouiller. C'est une façon de le faire:

Sudo ifdown eth0 && Sudo ifup eth0

Remarquez comment ces deux commandes sont exécutées sur la même ligne. Et juste une précaution, assurez-vous que vous pouvez accéder à la console du serveur ou redémarrer le serveur en cas de problème.

8
dtoubelis

Essayez de rechercher/run/network/ifstate et modifiez-le en ajoutant eth (n) = eth (0) si vous ne voyez pas l'éth souhaité.

Ex:

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

Après cela, utilisez la commande Sudo ifdown eth (n) puis Sudo ifup eth (n).

1
alex

Pour tous ceux qui se sont retrouvés ici, j'ai dû arrêter toutes les interfaces et tous les ponts, puis décharger les modules avant que l'erreur RTNETLINK ne disparaisse.

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

ou redémarrez simplement.

1
Kurt

Je viens de rencontrer ce problème et aucune des solutions ci-dessus n'a fonctionné pour moi. Je ne pouvais pas changer /run/network/ifstate car il a été immédiatement remis à l'état précédent. Aussi Sudo ifdown eth0 && Sudo ifup eth0 n'a pas fonctionné.

J'ai alors découvert la commande suivante:

Sudo ip addr flush dev eth0

qui a résolu le problème.

0
digijay