linux命令ifconfig显示不出IP地址
之前修改了一下mac地址,再次登录后使用ifconfig查出来发现IP变成127.0.0.1。一脸懵逼。
修改该问题时,从网上找了几个解决方案,没有解决,可能是问题点不同,各位要是遇到类似的可以照着修改一下。
其中还涉及了这个问题:
1. IP设置不对
之前IP是DHCP服务器来帮忙分配,现在想设置成静态的,于是修改了IP地址。
开始以为是这个问题造成的。于是按照网上的设置了IP。
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.0.116 (填你的ip) #IP地址
NETMASK=255.255.255.0 (填你的掩码值) #掩码值
GATEWAY=192.168.0.1 (默认网关)
DNS1=8.8.8.8 (采用谷歌的默认DNS服务器)
发现不行。
2. 服务未启动
再次查询,有说:
其实原因很简单,是因为你的(VMware DHCP Service)这个服务没有开,进入计算机管理–》服务和应用程序–》服务 找到VMware DHCP Service打开就行了
查看服务,发现这个已经正常启动了。
3. 重启网络
之前是重启虚拟机的,后面查询时发现有命令可以重启网络,怀疑网络需要重启。
已重启,发现问题了。
4. 查询这个failed的原因
有说时mac地址不对,修改一下即可:(这个方法猜测可行)
首先,打开/etc/udev/rules.d/70-persistent-net.rules内容如下面例子所示:
# 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, and change only the value of the NAME= key.
# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:8f:89:9
7", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:50:bd:1
7", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
记录下,eth1网卡的mac地址00:0c:29:50:bd:17
接下来,打开/etc/sysconfig/network-scripts/ifcfg-eth0
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
将 DEVICE="eth0" 改成 DEVICE="eth1" ,
将 HWADDR="00:0c:29:8f:89:97" 改成上面的mac地址 HWADDR="00:0c:29:50:bd:17"
最后,重启网络
# service network restart
或者
# /etc/init.d/network restart
正常了。
5. 最终解决方案
我本来是按照这个去整的。
-
先查看
/etc/udev/rules.d/70-persistent-net.rules
里的内容。 -
后续一想,既然查不到eth0,且mac地址错了,那按照之前按虚拟机克隆的玩法,先把这个文件删除在重启是不是就OK了。
-
表示测试成功。
6. 后面又有一台虚拟机按这个不成
查看/etc/udev/rules.d/70-persistent-net.rules
里的内容,发现名称是eth1。
查看/etc/sysconfig/network-scripts/ifcfg-eth0
发现是eth0,同时发现mac地址对不上,
将/etc/udev/rules.d/70-persistent-net.rules
里的内容修改为eth0,然后将/etc/sysconfig/network-scripts/ifcfg-eth0
里的mac地址修改正确,搞定。