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