zoukankan      html  css  js  c++  java
  • (转)Linux修改eth2到eth0(70-persistent-net.rules)

    之前在公司提供的虚拟机器上面,一直有个问题用着很不舒服,为什么它的IP选择的设备的eth2的,但是我在/etc/sysconfig/network-scrpts/下面也没有找到ifcfg-eth2的配置文件,这样子,我就没法修改IP了,也没法使用静态IP了,每次都是虚拟机动态分配的IP,这个太麻烦了。有时间解决了下这个问题。首先我声明下,我这里是用的NAT的方式与主机相连的。其实我到现在也还没有弄清楚,为什么没有eth2的配置文件,这种情况下 我该如何去修改IP,但是我想这些肯定跟现有的网卡有关,也即是跟现在的mac地址有关系,因为我解决上面的那个问题主要是通过mac出发的。
    经查明,Linux是用/etc/network/interfaces这个配置文件来载入网卡的。默认配置中,它指示Linux会自动寻找eth0网卡,并自动分配IP。但是,当虚拟网卡的MAC地址更改后,网卡在Linux中不是eth0了,而是eth1或其它值。因此才会找不到。而现有系统中,有哪些网卡是可用的,可以通过下面的命令查看:
    ifconfig -a
    使用这个命令后确实,发现每刷新一次mac地址,就生成一个新的eth。
    在Linux中,还有一个配置文件:/etc/udev/rules.d/70-persistent-net.rules,打开这个配置文件后,会发现里面列出了所有Linux找到的网卡,包括历史的。因此,解决无法加载网卡的问题就有两个解决办法:
    1.修改interfaces配置文件,使其使用最新的eth网卡
    2.删除.rules文件,让linux重新将网卡认为是eth0
    我找了下interfaces这个文件没有找到,于是我选择了第二个方法,删除rules配置文件,让他重新选择网卡。重启机器之后,敲了ifconfig,出现的不再是eth2了,但是使用的居然是eth1了, 这又让我迷茫了,怎么会变成是eth1了呢? 同时 也没有发现eth1的配置文件,这样子,我还是没法控制IP啊。我查看了下ifconfig命令中的mac地址和ifcfg-eth0中的mac地址比较下,发现两者的mac地址不一样,使用/etc/init.d/network restart 重启网卡,居然报eth0没有这个设备,由此断定,eth0配置文件中的mac地址是错误,于是把eth0配文件中的mac地址改成了ifocnfig中出来的mac地址,然后再次删除/etc/udev/rules.d/70-persistent-net.rules文件,重启机器,让他再次重新选择网卡,启动之后,查看了ifocnfig,这时候变成了eth0,看来是正常了,然后修改下ifcfg-eth0的ip,重启网络服务,没有报错,正常,查看下IP,改过来了,OK,一切正常。
    这时又发现新问题了,我在这个虚拟机中常识去访问主机所在网段的机器时,居然报:network unreachable,断定是网关的问题,查看下网关,果然没有设置,在终端是命令:arp -a ,查看本机器的网关,然后修改ifgcfg-eth0,重启服务器,OK,搞定!

  • 相关阅读:
    Oracle Sql优化之日期的处理
    python excel转xml
    3、vue项目里引入jquery和bootstrap
    1、vue.js开发环境搭建
    2、vue-router2使用
    go 初步
    一个全局变量引起的DLL崩溃
    在linux用gdb查看stl中的数据结构
    gdb看core常用命令
    redis常用命令
  • 原文地址:https://www.cnblogs.com/liujiacai/p/8067954.html
Copyright © 2011-2022 走看看