linux使用:解决克隆虚拟机后UP BROADCAST RUNNING MULTICAST问题

在使用linux的过程中如果安装了多台虚拟机,并且每台虚拟机都是由上一台虚拟机克隆出来的我们可能会出现联网连不上的问题,在linux的控制台输出ifconfg会出现以下信息:

[root@tiny ~]$ ifconfig
eth2      Link encap:Ethernet  HWaddr 00:0C:29:FE:F8:14  
          inet6 addr: fe80::20c:29ff:fefe:f814/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:68 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:7385 (7.2 KiB)  TX bytes:2310 (2.2 KiB)
          Interrupt:19 Base address:0x2024 
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:480 (480.0 b)  TX bytes:480 (480.0 b)

会报 UP BROADCAST RUNNING MULTICAST错误。这是因为mac地址设置的问题,在这里提供一个解决办法:

1. 切换至root用户
由于相关文件只能由root进行修改,因此我们先应该转换为root用户启动

[admin@tiny ~]$ su root

2.查看当前MAC地址相关信息

[root@tiny rules.d]# cat /etc/udev/rules.d/70-persistent-net.rules

# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:49:e9:9d", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x1022:0x2000 (vmxnet)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:13:e9:e2", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

# PCI device 0x1022:0x2000 (vmxnet)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:fe:f8:14", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"

我们可以看到其中包含三块网卡信息分别是eth0,eth1,eth2,而我们使用eth2所以我们需要删除掉其他两块网卡信息。

[root@tiny rules.d]# vi /etc/udev/rules.d/70-persistent-net.rules
[root@tiny rules.d]# cat /etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device 0x1022:0x2000 (vmxnet)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:fe:f8:14", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"

我们只留下eth2的网卡信息,我们记录下eth2的mac地址:00:0c:29:fe:f8:14

4. 修改ifcfg-eth2中的信息
在这里我发现了一件非常尴尬的事情,在/etc/sysconfig/network-scripts/文件夹下没有ifcfg-eth2

[root@tiny network-scripts]# ls /etc/sysconfig/network-scripts/
ifcfg-eth0~  ifdown-ippp    ifdown-tunnel  ifup-isdn    ifup-tunnel
ifcfg-eth1   ifdown-ipv6    ifup           ifup-plip    ifup-wireless
ifcfg-eth1~  ifdown-isdn    ifup-aliases   ifup-plusb   init.ipv6-global
ifcfg-lo     ifdown-post    ifup-bnep      ifup-post    net.hotplug
ifdown       ifdown-ppp     ifup-eth       ifup-ppp     network-functions
ifdown-bnep  ifdown-routes  ifup-ippp      ifup-routes  network-functions-ipv6
ifdown-eth   ifdown-sit     ifup-ipv6      ifup-sit

但是,我们可以拷贝一个

[root@tiny network-scripts]# mv /etc/sysconfig/network-scripts/ifcfg-eth1 /etc/sysconfig/network-scripts/ifcfg-eth2 

然后我们打开ifcfg-eth2

[root@tiny network-scripts]# cat /etc/sysconfig/network-scripts/ifcfg-eth2 
DEVICE=eth1
TYPE=Ethernet
UUID=eeb8ed32-3b4d-45c4-b2fe-9c7b5fe4e2ac
ONBOOT=yes
NM_CONTROLLED=yes
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth1"
HWADDR=00:0C:29:49:E9:9D
LAST_CONNECT=1488606798

BOOTPROTO=static
IPADDR=192.168.132.114
NETMASK=255.255.255.0
GATEWAY=192.168.132.1
DNS1=210.31.249.20

mac地址和在70-persistent-net.rules中的mac并不一样,我们将70-persistent-net.rules中的mac地址复制过来,并且将DEVICE和NAME也做相应的修改

[root@tiny network-scripts]# vi /etc/sysconfig/network-scripts/ifcfg-eth2 
[root@tiny network-scripts]# cat /etc/sysconfig/network-scripts/ifcfg-eth2 
DEVICE=eth2
TYPE=Ethernet
UUID=eeb8ed32-3b4d-45c4-b2fe-9c7b5fe4e2ac
ONBOOT=yes
NM_CONTROLLED=yes
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth2"
HWADDR=00:0c:29:fe:f8:14
LAST_CONNECT=1488606798

BOOTPROTO=static
IPADDR=192.168.132.115
NETMASK=255.255.255.0
GATEWAY=192.168.132.1
DNS1=210.31.249.20

5. 重启服务,并测试
重启network,查看网卡信息,并测试联网情况 。执行下面的命令:

[root@tiny network-scripts]# service network restart
正在关闭接口 eth2: 设备状态:3 (断开连接)
                                                           [确定]
关闭环回接口:                                             [确定]
弹出环回接口:                                             [确定]
弹出界面 eth2: 活跃连接状态:激活的
活跃连接路径:/org/freedesktop/NetworkManager/ActiveConnection/23
                                                           [确定]
[root@tiny network-scripts]# ifconfig
eth2      Link encap:Ethernet  HWaddr 00:0C:29:FE:F8:14  
          inet addr:192.168.132.115  Bcast:192.168.132.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fefe:f814/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1595 errors:0 dropped:0 overruns:0 frame:0
          TX packets:117 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:159465 (155.7 KiB)  TX bytes:33595 (32.8 KiB)
          Interrupt:19 Base address:0x2024 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:480 (480.0 b)  TX bytes:480 (480.0 b)
[root@tiny network-scripts]# ping 119.75.217.109
PING 119.75.217.109 (119.75.217.109) 56(84) bytes of data.
64 bytes from 119.75.217.109: icmp_seq=1 ttl=64 time=0.611 ms
64 bytes from 119.75.217.109: icmp_seq=2 ttl=64 time=0.261 ms
^C
--- 119.75.217.109 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1424ms
rtt min/avg/max/mdev = 0.261/0.436/0.611/0.175 ms

修改成功

你可能感兴趣的:(linux)