RTNETLINK répond: Le fichier existe… peut-être parce qu'une nouvelle adresse Mac lui a été attribuée

5

J'ai reçu une réponse "RTNETLINK: le fichier existe n'a pas pu afficher eth0: 1" sur "ifup eth0: 1".

Je suppose que cela se produit car j'ai attribué une nouvelle adresse Mac à l'adaptateur réseau de ma machine virtuelle.

Pouvez-vous me dire comment résoudre le problème?

Ma configuration ressemble à ceci:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
allow-hotplug eth0
iface eth0 inet static
    address 192.168.1.80
    netmask 255.255.255.0
    gateway 192.168.1.1
    dns-nameservers 192.168.1.1

# Alias being connected to 192.168.10.x Network
auto eth0:1
allow-hotplug eth0:1
iface eth0:1 inet static
    address 192.168.10.83
    netmask 255.255.255.0
    gateway 192.168.10.10
    dns-nameservers 192.168.10.1

Pourquoi est-ce que je reçois soudainement "RTNETLINK answer: File Exist .."? J'ai travaillé avec cette configuration avant sans problèmes. Tout ce que j'ai fait par le passé est de renouveler les adaptateurs adresse mac.

Pour le moment je suis connecté au réseau 192.168.10.x et si je le fais

/etc/init.d/networking stop
/etc/init.d/networking start

alors j'ai eu "RTNETLINK [...] a hésité à faire apparaître eth0: 1" mais le problème est que je peux me connecter à 192.168.10.83 via ssh à partir de ma machine hôte. Mais je ne peux pas accéder à Internet à partir du client Debian.

J'espère que mon problème est clair maintenant.

mettre à jour

si je change mon / etc / network / interfaces comme ceci alors "ifup eth0" échoue aussi avec la même erreur!

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
allow-hotplug eth0
iface eth0 inet static
    address 192.168.10.83
    netmask 255.255.255.0
    gateway 192.168.10.10
    dns-nameservers 192.168.10.1

avec l'option verbeuse activée, j'ai obtenu:

Configuring interfache eth0=eth0 (inet) 
run-parts --verbose /etc/network/if-pre-up.d 
ip addr add 192.168.10.83/255.255.255.0 broadcast 192.168.10.255 dev eth0 label eth0   
RTNETLINK answers: File exists Failed to bring up eth0.

idem si je tape ceci manuellement:

ip addr add 192.168.10.83/255.255.255.0 broadcast 192.168.10.255 dev eth0 label eth0
steven
la source
Comment avez-vous fait cela sur Debian? C'est Red Hat et ses dérivés qui utilisent ce type de configuration, pas Debian.
Michael Hampton
je ne suis pas sûr. C'est il y a quelques mois. Je me souviens d’avoir supprimé un fichier de configuration spécial afin que, sur ifup, Debian puisse le créer. Je pensais que c’était le fichier ifcfg-eth *, mais c’est possible que je me trompe.
steven
@lain désolé, vous avez raison, je suis un peu confus. J'ai mis à jour ma question et j'espère que c'est plus clair maintenant
steven
Vérifiez ici, cela peut être utile? linuxquestions.org/questions/linux-networking-3/…
Angs
si vous tapez /sbin/ip link show Qu'est ce que tu obtiens? Probablement @lornix a-t-il trouvé la raison pour laquelle cela ne fonctionne pas.
Manwe

Réponses:

6

Regardez /etc/udev/rules.d/70-persistent-net.rules

Ceci est à moi: (muni de manière appropriée)

# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device 0x10de:/sys/devices/pci0000:00/0000:00:0a.0 (forcedeth)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="11:22:33:44:55:66", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x168c:/sys/devices/pci0000:00/0000:00:14.0/0000:07:00.0 (ath5k)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="77:88:99:aa:bb:cc", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"

J'imagine que vous avez une entrée pour eth0 ici, supprimez toute la ligne, puis arrêtez / démarrez la mise en réseau ou redémarrez. Le fichier doit être recréé au fur et à mesure que le système découvre les périphériques réseau.

Ce fichier est ce qui mappe un périphérique réseau (par MAC) à un nom de périphérique réseau. Par exemple, mon périphérique "11: 22: 33: 44: 55: 66" s'appelle / dev / eth0.

C’est ainsi que le système évite d’échanger eth0 et eth1 lors de chaque démarrage, si vous disposiez de plusieurs cartes réseau, de plusieurs périphériques Wifi, etc.

Le fichier à côté de celui-ci, 70-persistent-cd.rules, fait de même pour vos lecteurs de CD / DVD / BD / laserdisc, en les gardant bien nommés. (J'adorerais voir une unité laserdisc USB!)

lornix
la source
merci beaucoup, je vais vérifier autant que possible. À propos .. est-il possible d'accepter une réponse après la fin de la prime?
steven
Je ne comprends pas comment cela a fonctionné (car la ligne a été ré-ajoutée automatiquement au redémarrage), mais c'est ce qui s'est passé. Pour résoudre ce problème, j’ai commenté la ligne correspondante, ifup <device>, puis redémarré.
Mike
1

Vous avez défini deux passerelles par défaut avec la même métrique. ( https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1043244/comments/8 )

Essayez de supprimer une ligne de passerelle que vous ne voulez pas utiliser.

Aussi je ne suis pas sûr si allow-hotplug eth0:1 est correct. Essayez de le supprimer.

donothingloop
la source
Ce n'est pas vrai. L'un est 192.168.1.1 et l'autre est 192.168.10.10.
Mike