Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。
现象:原本的源主机的ifcfg-eth0,在克隆完的克隆机上显示为eth1,导致service network restart 也无法启用网络。
原因:因为在centos6中,有一个规则文件来控制网卡。这个文件的位置是/etc/udev/rules.d/70-persistent-net.rules
1.如果是单独使用此虚拟机,比如nat模式,经过实验,没有ifcfg-eth1文件,也能够通过service network restart 来起网络。
2.如果是和源主机处在同时使用在同一网段,就会造成相同的mac地址,会有arp冲突。这是需要解决的问题!
以下是我写的脚本用于解决这个问题(centos6.8):
#!/bin/bash
cd /etc/udev/rules.d/
sed -i '8d' 70-persistent-net.rules
sed -i 's/eth1/eth0/' 70-persistent-net.rules
cat 70-persistent-net.rules (专业提供视频软件下载)
grep address (专业提供视频软件下载)
awk -F, '{print $4}' (专业提供视频软件下载)
awk -F\" '{print $2}' >/tmp/xx
cat /tmp/xx (专业提供视频软件下载)
tr 'a-z' 'A-Z' >/tmp/qq
md=$(cat /tmp/qq)
cd /etc/sysconfig/network-scripts/
sed -i '4d' ifcfg-eth0
sed -i '/HWADDR/c\HWADDR='"$md"'' ifcfg-eth0 /其中变量要使用'"(变量)"'才能有效
sed -i '/ONBOOT/c\ONBOOT=yes' ifcfg-eth0
sed -i '/NM_CONTROLLED/c\NM_CONTROLLED=no' ifcfg-eth0
sed -i '/BOOTPROTO/c\BOOTPROTO=static' ifcfg-eth0
read -p"please input ipaddr :" ipa
echo"ipaddr is : $ipa"
read -p"please input netmask :" net
echo"netmask is : $net"
read -p"please input gateway :" gat
echo"gateway is : $gat"
sed -i '/BOOTPROTO/a\IPADDR\='"$ipa"'' ifcfg-eth0
sed -i '/IPADDR/a\NETMASK\='"$net"'' ifcfg-eth0
sed -i '/NETMASK/a\GATEWAY\='"$gat"'' ifcfg-eth0
service network restart
reboot
chmod u+x (你的脚本).sh
./(你的脚本)
可以直接拷贝使用。