5

Я получил "RTNETLINK ответы: файл существует Не удалось вызвать eth0: 1" на "ifup eth0: 1".

Я подозреваю, что это происходит, потому что я назначил новый mac адрес в сетевом адаптере моей виртуальной машины.

Можете ли вы сказать мне, как решить проблему?

Моя конфигурация выглядит так:

# 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

Почему я внезапно получаю ответ «RTNETLINK: Файл существует ...»? Я работал с этой конфигурацией раньше без проблем. Все, что я делал в прошлом, это обновлял адаптеры Mac.

На данный момент я подключен к сети 192.168.10.x, и если я это сделаю

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

затем я получил сообщение «RTNETLINK [...] ошибочно поднял eth0:1», но странно то, что я могу подключиться к 192.168.10.83 через ssh с моей хост-машины. Но я не могу связаться с интернетом через клиент Debian.

Надеюсь, теперь понятно, в чем моя проблема.

Обновить

если я изменю свой /etc /network /interfaces таким образом, то "ifup eth0" завершится неудачно, тоже с той же ошибкой!

# 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

с включенной опцией verbose я получил:

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.

То же самое, если я наберу это вручную:

ip addr add 192.168.10.83/255.255.255.0 broadcast 192.168.10.255 dev eth0 label eth0

2 ответа2

6

Посмотрите на /etc/udev/rules.d/70-persistent-net.rules

Это мое:

# 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"

Я предполагаю, что у вас есть запись для eth0, удалите всю строку, затем остановите / начните работу в сети или просто перезагрузите компьютер. Файл должен быть воссоздан, поскольку система (пере) обнаруживает сетевые устройства.

Этот файл - то, что отображает сетевое устройство (по MAC) на сетевое устройство NAME. Например, мое устройство «11:22:33:44:55:66» называется /dev /eth0.

Это то, как система предотвращает переключение eth0 и eth1 вокруг каждой загрузки, если вам нужно иметь несколько сетевых карт или несколько устройств Wifi и так далее.

Файл рядом с этим, 70-persistent-cd.rules, делает то же самое для ваших проигрывателей CD/DVD/BD/ LaserDisc, сохраняя их в прямом названии. (Я хотел бы увидеть USB-лазерный диск!)

1

Вы установили два шлюза по умолчанию с одинаковым показателем. (https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1043244/comments/8)

Попробуйте удалить одну строку шлюза, которую вы не хотите использовать.

Также я не уверен, что allow-hotplug eth0:1 правильный. Попробуйте удалить его.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .