故障背景: 在vmware workstation中了完全克隆了一个已经存在的centos的虚拟机,启动之后发现网卡没有启动.于是重启一下network服务,发现提示错误信息“Device eth0 does not seem to be present, delaying initialization.” www.2cto.com 故障产生的原因: 由于克隆虚拟机,vmware只是修改了虚拟机的名字等信息,并没有修改虚拟硬盘中的任何信息,导致克隆后网卡的MAC地址和操作系统中
修改网卡MAC地址后出现问题:device eth0 does not seem to be present, delaying initialization 1.修改网卡对应的文件,将配置文件中保存以前的MAC地址删掉 2.删除/etc/udev/rules.d/70-persistent-net.rules,然后重启 因为这个文件绑定了网卡和mac地址,所以换了网卡以后MAC地址变了,所以不能正常启动,也可以直接编辑这个配置文件把里面的网卡和mac地址修改为对应的,不过这样多麻烦
用ioctl控制,通过SIOCGIFHWADDR获取MAC地址,SIOCSIFHWADDR设置MAC地址,不过在设 置MAC地址之前,要先把网卡down掉,设置好了以后,再UP起来. #include <sys/types.h> /* for socket(2) and related bits and pieces */ #include <sys/socket.h> /* for socket(2) */ #include <net/if.h> /* for str