我在“ifup eth0:1”上收到“RTNETLINK 答案:文件存在,无法启动 eth0:1”。
我怀疑发生这种情况是因为我在 VM 的网络适配器中分配了一个新的 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”的消息,但奇怪的是,我可以通过 ssh 从主机连接到 192.168.10.83。但我无法从 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
启用详细选项后我得到:
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
答案1
看看 /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)映射到网络设备名称。例如,我的“11:22:33:44:55:66”设备称为 /dev/eth0。
如果您有多个 NIC 或多个 Wifi 设备等,这就是系统在每次启动时避免交换 eth0 和 eth1 的方法。
旁边的文件 70-persistent-cd.rules 对你的 CD/DVD/BD/镭射影碟播放器执行相同的操作,使它们的名称保持一致。(我很想看到一个 USB 镭射影碟机!)
答案2
您已设置两个具有相同度量的默认网关。(https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1043244/comments/8)
尝试删除一条您不想使用的网关线路。
另外我不确定是否allow-hotplug eth0:1
正确。尝试删除它。