eth0会变
A. 怎么解决虚拟机迁移后eth0变成了eth1
1、用ifconfig
eth0
up命令开启下网卡。
#ifconfig
eth0
up
2、更改eth0配置:
#vi/etc/sysconfig/network-scripts/ifcfg-eth0下显示:
DEVICE=eth0
ONBOOT=no
//开机启动网卡
BOOTPROTO=static
IPADDR=192.168.1.8
//自己设置有效ip地址
NETMASK=255.255.255.0
//子网掩码
GATEWAY=192.168.1.1
//有效网关地址
HWADDR=00:0C:29:96:38:F8
注意其中的ONBOOT=no将其改为yes,网卡激活。
3、重启服务。
#service
network
restart
重启后配置生效。
B. Android eth0怎么转换成wlan
eth0,eth1,eth2……代表网卡一,网卡二,网卡三……
lo代表127.0.0.1,即localhost
wlan0代表无线网卡
在执行ifconfig 命令后,系统将在内核表中设置必要的参数,这样Linux 就知道如何与网络上的网卡通信。ifconfig 命令有以下两种格式:
※ifconfig [interface]
※ifconfig interface [aftype] option | address …
ifconfig 的第一种格式(或使用不带任何参数的ifconfig 命令)可以用来查看当前系统的网络配置情况。
在刚刚安装完系统之后,实际上是在没有网卡或者网络连接的情况下使用Linux,但通过ifconfig 可以使用回绕方式工作,使计算机认为自己工作在网络上。
现在我们运行一下ifconfig 命令,不带参数的ifconfig 命令可以显示当前启动的网络接口,其输出结果为:
[root@machine1 /sbin]#ifconfig
eth0 Link encap:Ethernet HWaddr 52:54:AB:DD:6F:61
inet addr:210.34.6.89 Bcast:210.34.6.127 Mask:255.255.255.128
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:46299 errors:0 dropped:0 overruns:0 frame:189
TX packets:3057 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
Interrupt:5 Base address:0xece0
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:3924 Metric:1
RX packets:44 errors:0 dropped:0 overruns:0 frame:0
TX packets:44 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
其中以eth0 为首的部分是本机的以太网卡配置参数,的设这里显示了网卡的设备名/dev/eth0 和硬件的MAC 地址52:54:AB:DD:6F:61, MAC 地址是生产厂家定的,每个网卡拥有的唯一地址。
不过我们可以手工改动网卡的MAC 地址,只要我们在/etc/rc.d/init.d/中的network 中加入:
ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx
Jiania 解说 注:
eth0,eth1,eth2,代表网卡一,网卡二,网卡三
hw 代表hardware 硬件意思
ether 代表ethernet 以太网的意思
然后重启,此时再用ifconfig 命令查看一下,我们就会发现网卡的MAC 地址已经变成xx:xx:xx:xx:xx:xx了。
ifconfig配置网卡
配置网卡的IP地址
ifconfig eth0 192.168.0.1 netmask 255.255.255.0
在eth0上配置上192.168.0.1 的IP地址及24位掩码。 若想再在eth0上在配置一个192.168.1.1/24 的IP地址怎么办?用下面的命令
ifconfig eth0:0 192.168.1.1 netmask 255.255.255.0
这时再用ifconifg命令查看,就可以看到两个网卡的信息了,分别为:eth0和eth0:0.若还想再增加IP,那网卡的命名就接着是:eth0:1、eth0:2……想要几个就填几个。ok!
配置网卡的硬件地址
ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx就将网卡的硬件地址更改了,此时你就可以骗过局域网内的IP地址邦定了。
将网卡禁用
ifconfig eth0 down
将网卡启用
ifconfig eth0 up
ifconfig 命令的功能很强大,还可以设置网卡的MTU,混杂模式等。
C. 为啥VM克隆后重启发现eth0变成了eth1
昨天写了个日志关于udev, sysfs,今天继续。 要说的是由于udev的存在引起的一个问题:克隆一台vm(ubuntu),poweron之后这台vm的网卡是eth1,而被克隆的vm的网卡是eth0,让人很费解。 root cause: 出现这种情况一般都是udev设置的rule引起的。ubuntu(其他系统没试过)一般有类似下面的一条rule去定义kernel发现的网卡(sysfs)与用户希望这块网卡使用的名字的一个mapping: ~$ cat /etc/udev/rules.d/70-persistent-net.rules # PCI device 0x10ec:0x8168 (r8169) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}==" 00:23:5a:bd:14:f8", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" 输出中红色的是网卡的mac地址。在vm克隆并poweron之后,这个vm会产生一个新的mac,但是这个udev rule文件由于是克隆的并不会被修改。因此,系统在启动过程中,udev在查看rule的时候发现eth0已经被定义了,而且和目前检测到的网卡mac不匹配,所以只能创建个eth1出来。实际上,这个eth1并不是被udev map出来的,而是在内核里export到sysfs中的设备就叫这个名字。 为了避免这种情况,可以直接清空这条rule或者是把mac匹配那项删掉。 ----------------------------------- 现在疑问的地方如下: 疑问的出现: 为了重现上面的问题,手工修改匹配mac然后重启,发现eth0变成了eth1。但是如下输出表明udev冒失影响了内核 - 但是,可当是, 不应该这样啊......原始状态: $ sudo find /sys -name "eth*" [sudo] password for zhuzhu: /sys/class/net/eth0 修改 rule后状态: $ sudo find /sys -name "eth*" [sudo] password for zhuzhu: /sys/class/net/eth1 再改回来的状态:
D. 没有system eth0怎么办
因为新版的Centos使用systemd,它是一款系统和服务管理器,会自动命名设备,以前的eth0,在systemd管理下,会变成奇怪的eno后加一串随机数字。让你无所适同,一瞬间,教科书上的知识就变成了上个世纪的,那怎么办呢,把它命名为eth0就好了,编辑/etc/sysconfig/grub文件内容,增加“net.ifnames=0 biosdevname=0”,执行:grub2-mkconfig -o /boot/grub2/grub.cfg,重新对 文件进行命名
mv /etc/sysconfig/network-scripts/ifcfg-ens'X'X'X' /etc/sysconfig/network-scripts/ifcfg-eth0
注意这里的'X'X'X'是你的网卡后的随机数字,每台机均不同,eth0则是你改名后的网卡设备名。
然后编辑一下/etc/sysconfig/network-scripts/ifcfg-eth0这个文件,把name = ens'X'X'X' 改为name=eth0 。保存退出,重启服务器。
E. Linux的网卡由eth0变成了eth1,如何修复麻烦告诉我
经过网络,了解了一些信息,特此记录在此,以备忘。
很多Linux distribution使用udev动态管理设备文件,并根据设备的信息对其进行持久化命名。udev会在系统引导的过程中识别网卡,将mac地址和网卡名称对应起来记录在udev的规则脚本中。而对于新的虚拟机
,VMware会自动为虚拟机的网卡生成MAC地址,当你克隆或者重装虚拟机软件时,由于你使用的是以前系统虚拟硬盘的信息,而该系统中已经有eth0的信息,对于这个新的网卡,udev会自动将其命名为eth1(累加的原则),所以在你的系统启动后,你使用ifconfig看到的网卡名为eth1。
在fedora中,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会帮你发现新的设备的。
F. eth0变成了rename2,怎么回事
原因:
Linux distribution使用udev动态管理设备文件,并根据设备的信息对其进行持久化命名。udev会在系统引导的过程中识别网卡,将mac地址和网卡名称对应起来记录在udev的规则脚本中。而对于新的虚拟机,VMware会自动为虚拟机的网卡生成MAC地址,当克隆或者重装虚拟机软件时,由于使用的是以前系统虚拟硬盘的信息,而该系统中已经有eth0的信息,对于这个新的网卡,udev会自动将其命名为eth1(累加的原则),所以在系统启动后,使用ifconfig看到的网卡名为eth1。
解决方法:
在fedora中,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会帮发现新的设备的。
G. Linux系统\Centos没有网卡eth0配置文件怎么办
因为新版的Centos使用systemd,它是一款系统和服务管理器,会自动命名设备,以前的eth0,在systemd管理下,会变成奇怪的eno后加一串随机数字。让你无所适同,一瞬间,教科书上的知识就变成了上个世纪的,那怎么办呢,把它命名为eth0就好了,编辑/etc/sysconfig/grub文件内容,增加“net.ifnames=0 biosdevname=0”,执行:grub2-mkconfig -o /boot/grub2/grub.cfg,重新对 文件进行命名
mv /etc/sysconfig/network-scripts/ifcfg-ens'X'X'X' /etc/sysconfig/network-scripts/ifcfg-eth0
注意这里的'X'X'X'是你的网卡后的随机数字,每台机均不同,eth0则是你改名后的网卡设备名。
然后编辑一下/etc/sysconfig/network-scripts/ifcfg-eth0这个文件,把name = ens'X'X'X' 改为name=eth0 。保存退出,重启服务器。
H. linux KVM中复制虚拟机后eth0变成eth1问题
linux
KVM中复制虚拟机后eth0变成eth1问题当克隆或者重装虚拟机后,再启动系统时会发现系统下不再有eth0,而变成了eth1,当使用/etc/init.d/network重启网络时,会提示找不到设备eth0及eth1的启动脚本。做以下改动:/etc/sysconfig/network-scripts/ifcfg-eth0重命名为/etc/sysconfig/network-scripts/ifcfg-eth1/etc/init.d/network
restart
提示找不到eth0发现脚本中的device一项没有改过来,将其改为eth1(或者删掉)/etc/init.d/network
restart
提示网卡的物理地址不匹配/etc/sysconfig/network-scripts/ifcfg-eth0中的mac地址为原来eth0网卡的物理地址,而虚拟机为eth1分配新的物理地址,故启动脚本中的信息与实际信息时不匹配的,将MAC的地址信息从脚本中删除,再次重启网络,OK!为什么原来的eth0会变成eth1?很多linux
distribution使用udev动态管理设备文件,并根据设备的信息对其进行持久化命名。udev会在系统引导的过程中识别网卡,将mac地址和网卡名称对应起来记录在udev的规则脚本中。而对于新的虚拟机,VMware会自动为虚拟机的网卡生成MAC地址,当你克隆或者重装虚拟机软件时,由于你使用的是以前系统虚拟硬盘的信息,而该系统中已经有eth0的信息,对于这个新的网卡,udev会自动将其命名为eth1(累加的原则),所以在你的系统启动后,你使用ifconfig看到的网卡名为eth1。如何把名字改回eth0?在fedora
11中,udev记录网络规则的脚本为:/etc/udev/rules.d/70-persistent-net.rules打开该文件,这时你会发现,里面有eth0,eth1两个网卡的信息,但实际上你ifconfig时只能发现eth1一个网卡的信息,这时因为eth0根本就不存在。将其中eth0的信息删掉,并将eth1信息中的设备名改为eth0,重启系统,你看到的网卡就是eth0了,或者删掉其中所有的信息重启系统udev会帮你发现新的设备的。
I. linux静态IP地址配置后网络接口eth经常重启后变化,求助!
这个可能是因为系统MAC地址绑定引起的
你编辑/etc/udev/rulesd/70-persistent-net.rules这个文件
把里面跟MAC地址有关的代码全部删掉,基本上是前三行注释不删除的
保存退出,重启电脑看看。
保险起见,给/etc/network/interface这个文件加个权限
命令chittr +i /etc/network/interface
这样这个配置文件就不会被系统更改了
J. Linux的网卡由eth0变成了eth1,怎么修复
在fedora中,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会帮你发现新的设备的。
另外还有一个启动脚本文件/etc/sysconfig/network-scripts/ifcfg-eth0,该文件中的mac地址为原来eth0网卡的物理地址,而虚拟机为eth1分配新的物理地址,故启动脚本中的信息与实际信息时不匹配的,将MAC的地址信息修改为70-persistent-net.rules中的eth1的MAC地址,再次重启网络,就完全恢复到以前eth0网卡的状态了。