一、环境

  VirtualBox + CentOS6.5

二、问题

  有时候在克隆服务器之后配置网络时,或者在维护别人建好的服务器时,会遇到这样一种情况。如下图所示:

   

  即:在接口配置文件ifcfg-eth0中,配置的是网卡eth1的信息。

  这种不一致有可能对强迫症造成一定的困扰,有时候我们更想要的是:在ifcfg-eth0文件中,配置的应该是网卡eth0的信息,而网卡eth1,则应该是在ifcfg-eth1中进行配置。

三、解决办法

  要解决上面的问题,大致有两种方法:

  1) 将接口配置文件的文件名由ifcfg-eth0修改为ifcfg-eth1;

  2) 将网卡eth1的名称修改为eth0.

方法一:

  该方法实测是可行的,如下图所示,修改完之后直接重启网络即可。

  

方法二:

  这种方法的直观感觉是直接在ifcfg-eth0配置文件中将网卡名称由eth1修改为eth0,但是这样改的话,重启网络会出现Device eth0 does not seem to be present即:设备 eth0 不存在的错误,如下图所示,该问题的解决参考《L08-Linux解决Device eth0 does not seem to be present,delaying initialization问题》 。

   

  所以还不能简单粗暴的这么改,因为,正如下图由ifconfig –a命令查询到的,服务器所识别的网卡依然是eth1,而不是eth0。

  注:记住这里的mac地址08:00:27:74:39:02,在后面的实施步骤中可作为修改的依据,因为一台服务器的IP可以随意改变,但是mac地址是唯一的。

  为了解决这个问题,我们先修改/etc/udev/rules.d/70-persistent-net.rules文件中的配置,使得服务器的网卡名称由eth1变为eth0,然后,我们再将ifcfg-eth0中的网卡名也跟着改过来,最后重启网络。

  1) 修改配置文件/etc/udev/rules.d/70-persistent-net.rules。

  原/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 0x8086:0x100e (e1000)

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:9b:bb:3c", ATTR{type}=="

", KERNEL=="eth*", NAME="eth0"

# PCI device 0x8086:0x100e (e1000)

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:74:39:02", ATTR{type}=="

", KERNEL=="eth*", NAME="eth1"

  修改后的内容如下:

# 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 0x8086:0x100e (e1000)

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:74:39:02", ATTR{type}=="

", KERNEL=="eth*", NAME="eth0"

  如上面所示

  a)将原文件中的eth0的配置删掉了(因为它没用了,这项配置是我本次测试时克隆本服务器时源机器的配置,配置中对应的mac地址也是源服务器的mac地址,对我们目前这台服务器而言没用);

  b)将eth1网卡名称修改为了eth0(可注意到它的mac地址为08:00:27:74:39:02,恰恰就是我们要修改的条目。)

   

  2) 修改接口配置文件ifcfg-eth0,将网卡由eth1修改为eth0

  

  3) 重启机器,让服务器根据/etc/udev/rules.d/70-persistent-net.rules文件重新配置网卡信息

  可以发现,重启机器之后一进入服务器,网络就已经配置成一致的了,如下图:

   

   至此,修改完毕。

L09-Linux系统修改网卡名称(eth1修改为eth0)的更多相关文章

  1. 克隆linux系统后,将eth1修改成eth0

    使用VMware克隆的linux系统之后,发现网卡信息只有eth1,却没有eth0.将eth1修改成eth0. 1.vi /etc/udev/rules.d/70-persistent-net.rul ...

  2. 1、centos7修改网卡名称为传统的eth0

    [root@localhost ~]# cd /etc/sysconfig/network-scripts/ [root@localhost network-scripts]#mv ifcfg-ens ...

  3. Linux系统更改网卡名称

    自己装了一台机器,有两张网卡,一个是主板上自带的,还有一个是后来自己添加的.装完系统后,系统默认主板上的网卡为eth1,而自己添加的网卡是eth0,感觉不爽,所以想办法使用udev使系统将主板上的网卡 ...

  4. Ubuntu20 修改网卡名称

    Ubuntu 修改网卡名称 Ubuntu修改网卡名称 Ubuntu 版本: Ubuntu 20.04 查看当前网卡名称 root@it:~# ip add 1: lo: <LOOPBACK,UP ...

  5. linux修改网卡名称

    本文转载自江一<linux修改网卡名称> 终端输入:vi /etc/udev/rules.d/70-persistent-net.rules 出现以下文件 # This file was ...

  6. Linux修改网卡名称、主机名

    Linux修改网卡名称.主机名 环境:VirtualBox 5.0.14 + RHEL 6.5 需求:个人实验搭建一套Standby RAC时,为了节约时间,直接复制之前安装RAC的主机模板. 但复制 ...

  7. CentOS 7命令行修改网卡名称

    在CentOS学习中,配置多个网卡,配置独立的IP地址,为网卡设置新的名称等,已经是必备技能,经小编亲测,以下方法能修改系统的网卡名称,操作步骤和截图一并和小伙伴们分享, 希望对大家的学习和使用有所帮 ...

  8. Linux系统下查看某文件修改的时间戳

    Linux系统下查看某文件修改的时间戳查看文件时间戳命令:stat awk.txt File: `awk.txt' Size: 20              Blocks: 8          I ...

  9. CentOS 7.2修改网卡名称

    #!/bin/bash #Centos7.2修改网卡名称ens33为eth0 #2017/05/19 if [ -f /etc/sysconfig/grub ];then cd cp /etc/sys ...

随机推荐

  1. spring boot web项目在IDEA下热部署解决办法(四步搞定)

    最近在用spring boot 做一个web站点,修改了类.html.js等,刷新页面,没有生效,非要手动去make一下或者重启,大大降低了开发效率. 什么是热部署? 应用启动后会把编译好的Class ...

  2. Windows10和CentOS7双系统安装的一些小技巧

    我个人是先安装好了win10系统,且win10是单独在一个120g的盘里:而centOS7则是安装在另一个500g的磁盘的其中的380g里: 这里要着重注意的是,500g里分成380g的盘不要在win ...

  3. jacob将word转换为html

    1.导包jacob.jar 2.将下面两个文件复制到C:\Windows\System32路径下 3.代码如下 // 8 代表word保存成html public static final int W ...

  4. Linux应用程序中使用math库报undefined reference to `sin'等

    出现该问题是因为在Linux中,sin,sqrt等函数是在libm.so库文件中,并非在math.h中. 解决办法:在Ubuntu的gcc编译环境下,直接使用lm参数即可,例如gcc -o Gen G ...

  5. nodejs 获取文件的编码方式

    使用nodejs获取文件夹内文件的编码方式:使用jschardet模块. 下面的代码还有问题,没有添加结束的语句,没有判断应该在哪执行res.send(). res.send()不能放在forEach ...

  6. sine

       

  7. ibatIs中的isNotNull、isEqual、isEmpty

    isNull判断property字段是否是null,用isEmpty更方便,包含了null和空字符串 例子一:isEqual相当于equals,数字用得多些,一般都是判断状态值<isEqual ...

  8. List<T>用法

    所属命名空间:System.Collections.Generic public class List<T> : IList<T>, ICollection<T>, ...

  9. linux系统编程之文件与IO(一):文件描述符、open,close

    什么是IO? 输入/输出是主存和外部设备之间拷贝数据的过程 设备->内存(输入操作) 内存->设备(输出操作) 高级I/O ANSI C提供的标准I/O库称为高级I/O,通常也称为带缓冲的 ...

  10. Android开发消除横向排列的多个Button之间的空隙

    一.问题重述 摘要里描述的可能不太清楚,问题如下图: 如何消除Button1和Button2之间的空隙,以及Button与左右边界之间的空隙? 二.问题根源 这里出现的空隙其实是Button的背景图片 ...