故障现象:
Linux的网卡由eth0变成了eth1,如何修复?
解决方案:
在linux中,udev记录网络规则的脚本为:/etc/udev/rules.d/70-persistent-net.rules
如下操作:
[user@localhost ~]$ vi /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.
# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net",
ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:5a:6c:73",
ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
SUBSYSTEM=="net",
ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:a9:22:9d",
ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

打开该文件,这时你会发现,里面有eth0,eth1两个网卡的信息,但实际上你ifconfig时只能发现eth1一个网卡的信息,这是因为eth0根本就不存在。

将其中eth0的信息删掉,并将eth1信息中的设备名改为eth0,重启系统,你看到的网卡就是eth0了,或者删掉其中所有的信息重启系统udev会帮你发现新的设备的。

配置过程记录下来,防止遗忘!如有建议技术支持QQ群139785720

一.linux网络配置经常使用的命令

1)#ifconfig    //查看配置的网卡 /sbin/ifconfig
2) # vi /etc/resolv.conf  //修改DNS  resolv.conf的关键字主要有四个,分别是:
  nameserver #定义DNS服务器的IP地址
  domain #定义本地域名
  search #定义域名的搜索列表
  sortlist #对返回的域名进行排序
  最主要是nameserver关键字,如果没指定nameserver就找不到DNS服务器,其它关键字是可选的。
3)#vi /etc/sysconfig/network  //修改网关
  NETWORKING=yes(表示系统是否使用网络,一般设置为yes。如果设为no,则不能使用网络,而且很多系统服务  程序将无法启动)
  HOSTNAME=centos(设置本机的主机名,这里设置的主机名要和/etc/hosts中设置的主机名对应)
  GATEWAY=192.168.1.1(设置本机连接的网关的IP地址。例如,网关为10.0.0.2)
4)#vi /etc/sysconfig/network-scripts/ifcfg-eth0 //修改网卡配置
  DEVICE=eth0 #描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为eth0
  BOOTPROTO=static #设置网卡获得ip地址的方式,可能的选项为static,dhcp或bootp,分别对应静态指定的   ip地址,通过dhcp协议获得的ip地址,通过bootp协议获得的ip地址
  BROADCAST=192.168.0.255 #对应的子网广播地址
  HWADDR=00:07:E9:05:E8:B4 #对应的网卡物理地址
  IPADDR=12.168.1.2 #如果设置网卡获得 ip地址的方式为静态指定,此字段就指定了网卡对应的ip地址
  IPV6INIT=no
  IPV6_AUTOCONF=no
  NETMASK=255.255.255.0 #网卡对应的网络掩码
  NETWORK=192.168.1.0 #网卡对应的网络地址
  ONBOOT=yes #系统启动时是否设置此网络接口,设置为yes时,系统启动时激活此设备。如果你只有一个网卡而且设置为no就不能上网了。

二.linux虚拟机网络配置(应用)

1)采用Nat方式进行(简单实用)
  1.找到虚拟机设备》》网络适配器。  双击打开网络适配器》》自定义指定虚拟网络选择VMnet8(Nat)。
  2.启动linux虚拟机,进入linux命令行。如果你进入Xwindow界面请切换到命令行界面 ctrl+Alt+Shift+F1
 
3.#ifconfig 查看你用那块网卡,vi /etc/sysconfig/network-scripts/ifcfg-eth0
修改网卡配置。设置BOOTPROTO=dhcp。删除IPADDR,我们这里采用自动获取IP和DNS。(如有不清楚可参考如上(一.4))
  4.#service network restart //重新启动network。这样linux虚拟机就可以上网了。我们来测试一下
  #ping www.baidu.com //命令行输入,能ping通就行了。
2)采用桥接(略)
3)采用host-only(略)

三.独立linux主机上网配置(一般都是通过路由器上网)

1)自动获取ip和DNS:
   #vi /etc/sysconfig/network //修改网关,删除GATEWAY,因为我们是采用自动获取
   #vi /etc/sysconfig/network-scripts/ifcfg-eth0 //修改网卡配置
   修改BOOTPROTO=dhcp,删除IPADDR。(如有不清楚可参考如上(一.4))
   #service network restart //重新启动network。通过ping测试。

2)采用分配ip上网配置
   #vi /etc/resolv.com //修改DNS  主要设置关键字nameserver=8.8.8.8 这个比较容易忽略掉。
   #vi /etc/sysconfig/network //修改网关,添加GATEWAY=192.168.1.0 具体看你属于哪个网段。
   #vi /etc/sysconfig/network-scripts/ifcfg-eth0 //修改网卡配置
   修改BOOTPROTO=static,添加(或设置)IPADDR=192.168.1.4。(分配ip地址)
   #service network restart //重新启动network。通过ping测试。

找不到eth0,但能找到eth1的问题解决办法的更多相关文章

  1. VM克隆之后启动eth0找不到eth0:unknown interface:no such device

    问题出现:VMware 克隆之后,ifconfig命令执行找不到eth0,报错 eth0:unknown interface:no such device 是因为/etc/sysconf/networ ...

  2. ubuntu16 升级后找不到 eth0 网卡 的解决方法

    ubuntu16 升级后找不到 eth0 网卡 的解决方法 今天在VPS上一时手痒,执行了升级命令 apt-get update 更新软件包索引,源 apt-get upgrade 更新软件包 apt ...

  3. Ubuntu 12.04LTS 找不到eth0网卡

    我的机器是DELL 14R INSPRION 7420 笔记本.试了好多方法都不行,比如这个教程: . sudo ifconfig -a //查看所有网卡现状,看eth0是否存在,在结果列表应该找不到 ...

  4. 《ASP.NET1200例》未能找到元数据文件解决办法

         今天在做一个项目的时候,遇到这样的一个问题,我用的是三层结构的.未能找到元数据文件“D:\SYSTEM\桌面\MyExam\MyExam\MyExamBLL\bin\Debug\BLL.dl ...

  5. 无法找到AdbWinApi.dll问题解决 .

    无法找到AdbWinApi.dll问题解决: 1. 现象:   在运行程序时,显示“无法启动此程序,因为丢失AdbWinApi.dll”.2. 解决方法:   到SDK的platform-tools和 ...

  6. 重装了Devexpress后项目报Dll引用找不到问题解决办法

    最近将我的开发环境从VS2015升级到VS2017,升级完后报如下错误,找不到Dev的引用,明明是重新装了dev为什么找不到呢? 经过查看dll引用地址,发现我的dev一开始是安装在C盘,dll引用路 ...

  7. java 无法找到main类解决办法

    java   无法找到main类解决办法 如果Java类有包名,你必须建相应的包文件夹并把文件编译或拷贝到到相应的文件夹下: 如下: 1.源文件文件:          E:\test\src\tes ...

  8. 在 root 下执行 Oracle 程序时找不到 libclntsh.so.11.1 错误的解决办法。

    在 root 下执行 Oracle 程序时找不到 libclntsh.so.11.1 错误的解决办法. 先确定 libclntsh.so.11.1 所在目录: [oracle@localhost ~] ...

  9. .NET Framework4网站 无法运行,提示找不到网络名,IO错误等解决办法

    .NET Framework4网站 无法运行,提示找不到网络名,IO错误等解决办法 我的这个问题解决了,原因是用的远程桌面连接的服务器, 远程桌面中部署网站的文件夹,引用的竟然是连接此服务器的用户的电 ...

随机推荐

  1. [置顶] vi、akw和sed总结

  2. POI导入数据

    package util; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.I ...

  3. springMVC+mybatis用户登录实例

    1.整体结构 2.准备工作 数据库: --Mysql 5.6 创建数据库 wolf 1 CREATE DATABASE wolf; 创建用户表 user 1 2 3 4 5 6 create tabl ...

  4. 常调用的Webservice接口 集合

    1. 查询手机:http://www.yodao.com/smartresult-xml/search.s?type=mobile&q=手机号码 2. 查询IP:http://www.yoda ...

  5. Codeforces 549F Yura and Developers

    probelm 题意 给定一个序列和一个mod值,定义[l,r]合法当l到r的全部元素和减去当中的最大值的结果能够整除mod.问共同拥有多少区间合法. 思路 一開始想的分治. 对于一个[l,r]我们能 ...

  6. 2014 BDTC 參会有感

    中国大数据技术大会(Big Data Technology Conference,BDTC)是眼下国内最具影响.规模最大的大数据领域的技术盛会. 大会的前身是Hadoop中国云计算大会(Hadoop ...

  7. jquery 处理密码输入框(input type="password" ) 模仿placeholder

    html <form method="post" action=""> <ul> <li> <span>邮箱&l ...

  8. ListHelper

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data; ...

  9. c#中传递参数前加out

    首先:两者都是按地址传递的,使用后都将改变原来参数的数值. 其次: rel 可以把参数的数值传递进函数,但是 out 是要把参数清空,就是说你无法把一个数值 从 out 传递进去的, out 进去后, ...

  10. PHP学习笔记十七【面向对象定义类】

    <?php class Person{ public $name; public $age; public function speak(){ echo "Hello world&qu ...