在centos中安装完第一个虚拟机后,一般习惯通过克隆的方式创建其它虚拟机,开后vmware无法发现网卡信息,系统认为这是重新安装,所以重新创建了一个新的网卡叫eth1。
并且用IFCONFIG-a查看网卡信息,只有lo信息,无法显示eth0了。
解决方法:
修改/etc/udev/rules.d 下的 70-persistent-net.rules文件,我们会发现下面两行:
# PCI device 0x1022:0x2000(pcnet32) SUBSYSTEM=="net",DRIVERS=="?*",ATTRS{address}=="00:0c:29:4d:23:01",NAME="eth0" 这行删除
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] (rulewritten by anaconda) SUBSYSTEM=="net", ACTION=="add",DRIVERS=="?*", ATTR{address}=="00:0c:29:bb:af:1a", ATTR{type}=="1",KERNEL=="eth*", NAME="eth1"
这行修改最后的eth1为eth0,记下ATTRS{address}=="00:0c:29:bb:af:1a"这个MAC物理地址,要用到。然后保存退出即可。
大家在虚拟机搭建集群时,一般都使用NAT方式与虚拟主机共享主机IP,这样配置下来eth0是动态获取IP的,需要修改成静态:
将上面记下的MAC物理地址填在这里
然后配置IPV4
其中address就是你想要的静态IP,gateway网关和DNS server可以从vmware菜单中看到
选择虚拟网络编辑器...
分别点开图中两个红圈,可以得到子网IP,网关IP,IP起始地址和IP结束地址(注意上面为虚拟机设置的静态IP地址必须在这个范围内)
最后修改 /etc/sysconfig/network-scripts/ifcfg-eth0 这个文件,如下:
DEVICE=eth0
TYPE=Ethernet
UUID=b78700a3-1abb-4c53-a6fc-44a9c8408473
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
HWADDR=00:0C:29:bb:af:1a #检查一下这个地址和最上面ATTRS{address}=="00:0c:29:bb:af:1a"要一致
IPADDR=192.168.11.130 #你想要为这台虚拟机分配的静态IP
GATEWAY=192.168.11.2 #上图中第一个红圈按钮点开后看到的那个网关
DNS1=192.168.11.2 #DNS1服务器的地址,保持在同一网段,末尾设置为2. 可以在CMD中使用nslookup查到
BROADCAST=192.168.11.255 #对应的子网广播地址,保持在同一个网段,末尾是255
NETMASK=255.255.255.0 #网卡对应的网络掩码
NAME="System eth0" #名称 自由配置,可不配置这项
保存退出后执行service network restart 使配置生效,其它节点类似配置,只不过分配的静态IP地址不一样。
这样每次开虚拟机,IP都不会再变动了,并且虚拟机可以ping通外网。