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?
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.
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).
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.
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.