我正在运行 Ubuntu 10.04 LTS 和 VMware Workstation 7.0.1 build-227600。我在 VMware 中运行的虚拟机是基于 Debian Linux 版本 3.1 构建的自定义发行版。我对 UNIX 管理还是个新手。在摆弄了 vmware(仅更改了文件夹名称、vmx 和 .vmx 所在的其他 .v* 文件,以及 vmx 文件中的相应配置)后,虚拟机上的网络设备不再工作。虚拟机用于安全地发送消息。
虚拟机:
据我所知,这个 perl 文件名为代理-gen-ifalias eth0负责正确设置两个虚拟网络设备eth0和eth1。
虚拟机带有 GUI 界面,我在其中设置了两个以太网设备,一个是内部的,另一个是外部的。现在,在摆弄了一番之后,UI 给出了以下错误消息:
perl proxy-gen-ifalias eth0
/etc/modprobe.d/alias-eth0
/sbin/update-modules
perl proxy-gen-ifalias eth1
/etc/modprobe.d/alias-eth1
/sbin/update-modules
ifdown eth0
ifdown: interface eth0 not configured
ifdown eth1
ifdown: interface eth1 not configured
perl proxy-gen-netcfg
/etc/network/interfaces
ifup eth0
SICCSIFADDR: No such device
eth0: ERROR while getting interface flags: No such device
SIOCSIFNETMASK: No such device
eth0: ERROR while getting interface flags: No such device
Failed to bring up eth0.
ifconfig eth0
eth0: error fetching interface information: Device not found
make: *** [/etc/network/interfaces] Error 1
~
以下是消息中提到的两个 perl 文件的内容:paste.pocoo.org/show/2AMzAYhoCRZqlGY7wUFk/
代理生成-netcfg
答案1
尝试做
ifconfig eth2 up
ifconfig eth3 up
依此类推,直到找到出现的那个,然后更改脚本以使用这些接口。如果您删除并重新添加虚拟网卡,则 eth 编号可能会发生变化。
您可以通过运行命令来阻止它更改
rm /etc/udev/rules.d/70-persistent-net.rules
rm /lib/udev/rules.d/75-persistent-net-generator.rules
您的错误可能是由其他原因引起的,但当我因为这个问题而弄乱虚拟接口时,“未找到设备”错误对我来说很典型。
答案2
详细说明 Pratik 的答案(我认为这是正确的答案),Ubuntu 系统将发现的 NIC 与 mac 地址关联,因此当您复制或克隆 Ubuntu VM(或任何导致 mac 地址更改的操作)时,您将获得新的 NIC,而不是重复使用旧的 NIC。您可以通过执行来查看系统拥有的所有 NIC ifconfig -a
。要重置 Ubuntu,以便系统将“第一个 NIC”识别为第一个 NIC 等等,您需要删除 /etc/udev/rules.d 中的 70-persistent-net.rules。在我的 ubuntu VM 上,我通常会有一个脚本,如果它没有检测到 eth0,它会删除该文件,所以这会自动发生。不过,我相信还有更优雅的方法来处理这个问题。
答案3
从您的消息来看,虚拟网络接口似乎没有完成您的更改。 - “eth0:获取接口标志时出错:没有这样的设备”