Linux修改eth2到eth0

之前在公司提供的虚拟机器上面,一直有个问题用着很不舒服,为什么它的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,搞定!
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值