找不到eth0,但能找到eth1的问题解决办法

时间:2022-07-28 05:11:14

故障现象:
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测试。