1

У меня есть хост Mac OS X и куча гостей, включая Ubuntu и Arch Linux. Я пытался настроить сеть только для хоста на eth1, чтобы позволить мне войти в систему через ssh. Но теперь eth0 не работает должным образом. Ubuntu больше не может подключаться к удаленным хостам или просматривать интернет. Это говорит мне, что сеть недоступна. Что здесь не так? Я включил некоторые диагностики ниже.

$ifconfig
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:16436  Metric:1
        RX packets:10968 errors:0 dropped:0 overruns:0 frame:0
        TX packets:10968 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 txqueuelen:0 
        RX bytes:897264 (897.2 KB)  TX bytes:897264 (897.2 KB)

Другие диагностические команды и выход:

$sudo lspci -n
00:00.0 0600: 8086:1237 (rev 02)
00:01.0 0601: 8086:7000
00:01.1 0101: 8086:7111 (rev 01)
00:02.0 0300: 80ee:beef
00:03.0 0200: 8086:100e (rev 02)
00:04.0 0880: 80ee:cafe
00:05.0 0401: 8086:2415 (rev 01)
00:06.0 0C03: 106B:003F
00:07.0 0680: 8086:7113 (REV 08)
00:0D.0 0106: 8086:2829 (REV 02)


$sudo lshw -c network                                                                                                      
*-network DISABLED      
description: Ethernet interface
product: 82540EM Gigabit Ethernet Controller
vendor: Intel Corporation
physical id: 3
bus info: pci@0000:00:03.0
logical name: eth0
version: 02
serial: 08:00:27:7d:22:df
size: 1Gbit/s
capacity: 1Gbit/s
width: 32 bits
clock: 66MHz
capabilities: pm pcix bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=e1000 driverversion=7.3.21-k8-NAPI duplex=full firmware=N/A latency=64 link=no mingnt=255 multicast=yes port=twisted pair speed=1Gbit/s
resources: irq:19 memory:f0000000-f001ffff ioport:d010(size=8)



$lsmod 
Module                  Size  Used by
nls_utf8               12557  1 
isofs                  40257  1 
vboxsf                 43743  2 
vesafb                 13844  1 
snd_intel8x0           38570  2 
snd_ac97_codec        134869  1 snd_intel8x0
ac97_bus               12730  1 snd_ac97_codec
snd_pcm                97275  2 snd_intel8x0,snd_ac97_codec
snd_seq_midi           13324  0 
snd_rawmidi            30748  1 snd_seq_midi
snd_seq_midi_event     14899  1 snd_seq_midi
rfcomm                 47604  0 
snd_seq                61929  2 snd_seq_midi,snd_seq_midi_event
bnep                   18281  2 
bluetooth             180113  10 rfcomm,bnep
ppdev                  17113  0 
psmouse                97519  0 
snd_timer              29990  2 snd_pcm,snd_seq
joydev                 17693  0 
snd_seq_device         14540  3 snd_seq_midi,snd_rawmidi,snd_seq
vboxvideo              12622  1 
serio_raw              13211  0 
snd                    79041  11 snd_intel8x0,snd_ac97_codec,snd_pcm,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
soundcore              15091  1 snd
vboxguest             235498  7 vboxsf
parport_pc             32866  0 
drm                   241971  2 vboxvideo
i2c_piix4              13301  0 
snd_page_alloc         18529  2 snd_intel8x0,snd_pcm
mac_hid                13253  0 
lp                     17799  0 
parport                46562  3 ppdev,parport_pc,lp
usbhid                 47238  0 
hid                    99636  1 usbhid
e1000                 108589  0

1 ответ1

0

Это может быть просто ошибка в VirtualBox, но мне потребовалось много времени, чтобы выяснить, что происходит не так. Ключ к тому, что один и тот же сетевой интерфейс eth0 не работал в двух разных гостевых операционных системах. Самый простой способ заставить интерфейс работать снова - это выполнить следующую последовательность шагов:

  1. Удалите постоянные правила именования сетевых интерфейсов при запуске сетевой службы (/etc/udev/rules.d/*net-rules для Ubuntu)
  2. Восстановите настройки по умолчанию для файла конфигурации сетевого интерфейса (/etc/network/interfaces для Ubuntu)
  3. Перезапустите сетевой сервис (/etc/init.d/networking restart).

Эта статья указала мне в правильном направлении.

Здесь происходит то, что когда вы клонируете свою виртуальную машину, VirtualBox применяет новый MAC-адрес к вашим сетевым интерфейсам, но они не обновляют файлы конфигурации linux, чтобы отразить эти изменения, и поэтому ядро не может сначала найти или запустить интерфейс, который соответствует его конфигурации (со старым MAC-адресом), и находит новый интерфейс (новый MAC-адрес), для которого у него нет информации о конфигурации. В результате только ваша сетевая служба может только запустить петлевой сетевой интерфейс, а eth0 не работает.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .