我有几个由Vagrant创建的VirtualBox VM实例。此VM的网络接口eth1
定义为:
eth1 Link encap:Ethernet HWaddr 08:00:27:61:1D:AA
inet addr:192.168.33.10 Bcast:192.168.33.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe61:1daa/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5095882 errors:0 dropped:0 overruns:0 frame:0
TX packets:8754306 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1412438221 (1.3 GiB) TX bytes:10704698155 (9.9 GiB)
昨天,一个VM实例丢失了eth1
接口。当我做ifconfig -a
时,我得到:
eth0 Link encap:Ethernet HWaddr 08:00:27:1B:06:06
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe1b:606/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:817 errors:0 dropped:0 overruns:0 frame:0
TX packets:1014 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:80141 (78.2 KiB) TX bytes:111329 (108.7 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:126 errors:0 dropped:0 overruns:0 frame:0
TX packets:126 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:24798 (24.2 KiB) TX bytes:24798 (24.2 KiB)
但是我可以看到eth1
在/etc/udev/rules.d/70-persistent-net.rules
中的定义。
# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:f0:34:82", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
此外,/etc/sysconfig/network-scripts/ifcfg-eth1
还拥有:
#VAGRANT-BEGIN
# The contents below are automatically generated by Vagrant. Do not modify.
NM_CONTROLLED=no
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.33.10
NETMASK=255.255.255.0
DEVICE=eth1
PEERDNS=no
#VAGRANT-END
所以看起来所有的定义都在那里,但是eth1
并没有被创建。重新启动和重新启动网络服务似乎没有帮助。有什么想法吗?
发布于 2017-09-19 09:22:32
尝试ifup eth1 && tail -f /var/log/messages
并观察输出。
vm是否有多个虚拟接口?
如果是,您可以删除所有网络接口脚本,如ifcfg-eth0、ifcfg-eth1.并重新创造它们。可能在接口的其他配置文件中出现了一个问题,从而导致了这个问题。messages
日志通常会告诉您问题的确切位置。
https://serverfault.com/questions/874367
复制相似问题