这个问题困扰了我将近一个星期。本来如果请高人可能几分钟就可以搞定.无奈本人水平有限,对网络驱动,网络连接这块的知识不够了解。导致我的问题一直滞留下来。
所以 对linux相关的配置文件有足够的理解,才能将问题看透看明白。
找不到eth0 设备。
运行 ifconfig -a
会有 eth1 和lo 网络设备的信息。
其中lo 是回环设备。这是必然的设备,只要linux开启了对网络的支持,就会有此设备。
那么运行 ifconfig
只会得到 lo 设备。
我把/etc/sysconfig/network-scripts/ifcfg-eth0文件已配
置好,按正常方法,应该显示的是eth0设备的信息。
而且我运行了setup ---Network configuration----etho (eth0)。 里面的ip 和 gateway设置也正确。
经过上面的配置,以太网设备eth0应该显示出来,运行 service network restart 命令后,发现 提示的信息还是
bring up eth0 failed, eth0 seems not be presernt.还是不存在????
很疑惑?这里需要对linux 的网络配置文件有所了解。
1 Linux是用/etc/network/interfaces这个配置文件来载入网卡的。默认配置中,它指示Linux会自动寻找eth0网卡,并自动分配IP。但是,当虚拟网卡的MAC地址更改后,网卡在Linux中不是eth0了,而是eth1或其它值。因此才会找不到。而现有系统中,有哪些网卡是可用的,可以通过下面的命令查看:
ifconfig -a。
2 在Linux中,还有一个配置文件:/etc/udev/rules.d/70-persistent-net.rules,打开这个配置文件后,会发现里面列出了所有Linux找到的网卡,包括历史的。
所以我们明白一个问题的解决思路:修改配置文件。
1 修改interfaces 下的文件。替换成eth0设备。
2 删除rules文件。
采用方案2 简单容易。然后再重启系统,此时运行ifconfig .会发现 eth0 和lo 两个网络设备。
当然我们大可不必删除rules文件,只需要修改里面关于eth1的文件即可。将其替换成eth0.
这里用删除的方法,是为了看看能否行通。
问题解决了,ping了下我的开发板,成功!!!
阅读(23695) | 评论(1) | 转发(4) |