Linux下ifconfig不显示ip地址问题总结
问题一:ifconfig之后只显示lo,没有看到eth0 ?
eth0设置不正确,导致无法正常启动,修改eth0配置文件就好
ubuntu 12.04的网络设置文件是/etc/network/interfaces,打开文件,会看到
auto lo
iface lo inet loopback
这边的设置是本地回路。在后面加上
auto eth0
iface eth0 inet static
address 192.168.1.230 //(ip地址)
netmask 255.255.255.0 //(子网掩码)
gateway 192.168.1.1 //(网关)
其中eth0就是电脑的网卡,如果电脑有多块网卡,比如还会有eth1,都可以在这里进行设置。iface eth0 inet 设置为dhcp是动态获取IP,设置为static则用自定义的IP。这边要自定义IP地址,所以选择static选项。
eth0被关了
输入命令行:ifconfig eth0 up #开启eth0
问题二:ifconfig之后显示eth0,但是没有显示“inet/地址/广播/掩码/ ”?
先用sudo dhclient eth0更新IP地址
然后运行sudo ifconfig eth0
如果还没有ip,直接进行重启:reboot
或者查看DHCP服务是否关了
3.reboot
问题三:重启后,ping命令不能使用,因为dns还没设置,编辑/etc/resolv.conf,加上dns服务器地址。
设置好后,如果直接ping www.baidu.com会发现ping不通,因为dns还没设置,编辑/etc/resolv.conf,加上dns服务器地址。
nameserver 8.8.8.8
nameserver 8.8.4.4
这两个是Google提供的免费DNS服务器的IP地址
问题四:linux下网卡eth1如何修改为eth0
正常来说,Linux在识别网卡时第一张会是eth0,第二张才是eth1。有时候我们使用虚拟机克隆技术后网卡的信息就会改变,新克隆出来的虚拟主机网卡名字可能变为eth1.无论我们怎么修改都无法改变,这就对我们使用N台虚拟机进行HA-heartbeat实验时造成了困扰。
在这里成这样是因为复制系统的过程中复制的文件已经有一个网卡在/etc/udev/rules.d/70-persistent-net.rules被识别成了eth0,而虚拟机中的识别成了eth1。
解决方法:
1.编辑/etc/udev/rules.d/70-persistent-net.rules,找到与ifconfig -a得出的MAC相同的一行(NAME='eth1'这一行),把它改为"NAME=eth0 ",然后把上面一行(NAME='eth0')删除掉。
vim /etc/udev/rules.d/70-persistent-net.rules
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:bb:41:2b", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
2.编辑/etc/sysconfig/network-scripts/ifcfg-eth0,把MAC改为正确的,把UUID删掉。
3.编辑/etc/sysconf/network,把hostname也改一下。
4.重启生效!reboot
问题五:和其他虚拟机ip冲突
用了以上各种方法,还是获取不到ip,,,,,额,原来是和安卓模拟器的【本身也是个虚拟机】ip冲突了。
把除了本机的网卡禁用就好了。