每当我重新启动 CentOS Hyper-V VM 时,eth0
它都不会自动启动。我所需要做的就是执行ifup eth0
,然后一切都解决了,但这无法通过 ssh 实现!我从运行级别 3 开始。
[root@localhost ~]# cat /etc/*release*
CentOS release 6.2 (Final)
我ifup eth0
在控制台上执行后:
[root@localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:15:5D:2B:2B:07
inet addr:10.10.0.3 Bcast:10.10.0.255 Mask:255.255.255.0
inet6 addr: fe80::215:5dff:fe2b:2b07/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:34 errors:0 dropped:0 overruns:0 frame:0
TX packets:49 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4656 (4.5 KiB) TX bytes:6399 (6.2 KiB)
Interrupt:9 Base address:0xa000
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
IPADDR=10.10.0.3
NETMASK=255.255.255.0
GATEWAY=10.10.0.1
USERCTL=no
ONBOOT=yes
[root@localhost ~]# chkconfig --list | grep network
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
尝试关闭网络管理器后
[root@localhost ~]# chkconfig NetworkManager off
error reading information on service NetworkManager: No such file or directory
[root@localhost ~]# service NetworkManager status
NetworkManager: unrecognized service
最近的干净启动
[root@localhost ~]# grep eth0 /var/log/messages
Jul 7 02:12:44 localhost kernel: eth0: Digital DS21140 Tulip rev 32 at MMIO 0xfebff000, 00:15:5d:2b:2b:07, IRQ 9.
Jul 7 02:13:15 localhost kernel: eth0: Using EEPROM-set media 100baseTx-FDX.
[root@localhost ~]# dmesg | grep eth0
eth0: Digital DS21140 Tulip rev 32 at MMIO 0xfebff000, 00:15:5d:2b:2b:07, IRQ 9.
eth0: Using EEPROM-set media 100baseTx-FDX.
eth0: no IPv6 routers present
我所见过的唯一问题是,当我执行命令时
ifup eth0
出现以下错误,但eth0
仍然可以启动:
[root@localhost ~]# ifup eth0
/etc/sysconfig/network-scripts/ifup-ipv6: line 56: /etc/sysconfig/network: No such file or directory
/etc/sysconfig/network-scripts/ifup-aliases: line 125: /etc/sysconfig/network: No such file or directory
答案1
嗯。从你上一条消息中查找该/etc/sysconfig/network
文件。
我有:
$ cat /etc/sysconfig/network
NETWORKING=yes
您还可以(在我的 CentOS 5 盒子上):
NETWORKING=yes
HOSTNAME=foo.example.org
GATEWAY=192.168.1.1
文档是这里(至少对于 5 来说,应该非常相似)
我不确定“NETWORKING”设置的默认值是什么。可能是“否”,所以它不会在启动时启动。
答案2
打开/etc/sysconfig/network-scripts/ifcfg-eth0
文件并替换行
ONBOOT=no
和
ONBOOT=yes
保存并退出文件,然后重新启动linux系统。
答案3
使用或禁用该NetworkManager
服务并查看是否有帮助。chkconfig
ntsysv
如果它没有运行,请检查 /var/log/boot.logdmesg
和 /var/log/messages。在干净启动后,grep eth0 /var/log/messages
或者dmesg | grep eth0
应该让您知道发生了什么。
这是一个新的虚拟机还是一个克隆的系统(P2V)?
答案4
确保文件夹中/etc/sysconfig/network-scripts/
只有相关文件,没有其他文件!
使用编辑器或类似工具时要特别小心vi
,因为它们会创建以 ~ 结尾的备份文件
当这种情况发生时,我发现一些 Linux 发行版在启动时无法调出一些接口。