目录

背景描述

问题描述及处理步骤

mac地址冲突

ipv6地址冲突:IPv6 duplicate address xxx::xxx:xxx:xxx:xxx detected


记一次基于centos7环境多台虚拟机启动时,网卡启动异常的现象及处理方式。

背景描述

在某些原因下,需要启动多台虚拟机进行搭建集群环境进行测试。于是,采用vmplayer在本地环境启动了多台虚拟机,每台虚拟机均基于同一份镜像拷贝生成。在网络策略这块,采用的是nat模式,借助物理机所在的网络来访问外网。

问题描述及处理步骤

mac地址冲突

在启动第一台虚拟机时,能正常访问外网,虚拟网卡为ens33,其配置为

[root@docker01 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33 
OXY_METHOD=none
BROWSER_ONLY=no
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=ca4c1b0d-43b5-465e-9240-a3dec871ce67
DEVICE=ens33

ONBOOT=yes

# BOOTPROTO=dhcp
BOOTPROTO=static
IPADDR=192.168.174.160
NETMASK=255.255.255.0
GATEWAY=192.168.174.2
DNS1=114.114.114.114

在启动第二台虚拟机(拷贝第一台虚拟机生成)时,修改了虚拟网卡ens33的IPADDR属性(避免冲突)后,执行systemctl restart network后,启动异常,并提示

 此时,我们通过journalctl -xe查看系统日志,可以查看到以下的日志信息

Adapter Ethernet0 may not have network connectivity.MAC address 00:0C:29:79:1C:08 of adapter Ethernet0 is within the reserved address range or is in use by another virtual adapter on your system.*.

这是因为,多台虚拟机拷贝过来后,虚拟网卡的地址冲突了

在经过一番检索后,找到了一个解决方案,来变更我们的网卡地址(无效案例)如下:

1.修改/etc/sysconfig/network-scripts/ifcfg-XXX(网卡名),在末尾添加HWADDR=00:0c:29:xx:xx:xx (如果存在的话只修改就可以,HWADDR配置虚拟机拷贝时分配的虚拟网卡地址,见虚拟机配置->网络适配器->高级)

2.  本来还需要修改/etc/udev/rules.d/70-persistent-net.rule,但是由于文件不存在,变未做任何操作

3.systemctl restart network 

 执行上述操作后,会启动失败,出现以下异常

Job for network.service failed because the control process exited with error code. See "systemctl status network.service" and "journalctl -xe" for details.

此时,我们通过journalctl -xe指令查看系统日志,发现以下报错信息

Different MAC Address than expected, ignoring

 这是因为我们后面配置的mac地址和ens33的网卡地址不一致,也就是说后面配置未能生效。

因此,又找到了另一种修改mac地址的方案。如下所示:

临时方案:(eth0代表网卡名称,需指定对应网卡)

        1)关闭网卡设备

        [root@localhost ~]# ifconfig eth0 down

       2)修改MAC地址

  [root@localhost ~]#ifconfig eth0 hw ether MAC地址(此处添加你要修改的MAC地址)

       3)重启网卡

        [root@localhost ~]#ifconfig eth0 up

       4)查看修改是否生效:

        [root@localhost ~]#ifconfig eth0

此时,通过systemctl restart network 重启网络,即可访问外网了

注意:上述方案是临时解决方案,虚拟机重启后,网卡地址会变回原来的地址

永久方案:

打开/etc/rc.d/rc.local ,追加三行内容(eth0为配置的网卡名称)

ifconfig eth0 down

ifconfig eth0 hw ether 00:0c:29:xx:xx:xx

ifconfig eth0 up

 编辑保存后,执行reboot重启后便可生效

ipv6地址冲突:IPv6 duplicate address xxx::xxx:xxx:xxx:xxx detected

在通过journal -xe查看系统日志的过程中,还发现了一个问题,即:

IPv6 duplicate address xxx::xxx:xxx:xxx:xxx detected

 详细解决方案参考:https://www.unixmen.com/disable-ipv6-centos-7/

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐