CentOS на HyperV - eth0 не в ifconfig?


9

Я запустив установку CentOS в HyperV і призначив NIC так само, як я це робив і в Ubuntu VM, однак пристрій просто не підібрано.

Лише мій цикл знайдений користувачем ifconfig.

Як я можу вирішити проблеми з цим?


Що lsmodвідображає робоча програма Ubuntu VM для драйвера мережевої карти? Цей модуль завантажений у CentOS VM? Що робить ifconfig eth0 up?
Калеб

Дві ОС мають величезну кількість модулів, які між ними не поділяються (тобто понад 20). ifconfig eth0 вказує на "eth0: інформація про отримання інтерфейсу помилки: Пристрій не знайдено"
Incognito

2
Не бути поблажливим чи занадто педантичним, але ти біжиш ifconfig -a? Інший, більш компактний спосіб бачити мережеві інтерфейси в системі - це ip a l(передбачається, iproute2, встановлений за замовчуванням у CentOS, я вважаю).
Eli Heady

2
ifconfig -aвиявив, що у мене є eth2

Відповіді:


8

ОНОВЛЕННЯ: Це оновлено, щоб відобразити зміни, внесені за допомогою LIS v4, що більше не вимагає запуску програми для встановлення. Крім того, якщо Hyper-V повинен повідомити інформацію на вкладці "Мережа", потрібно лише кроки 1-4)

У мене була така ж проблема; перевстановити драйвер. Ось що я зробив:

  1. Встановіть CentOS
  2. Завантажте "Інтеграційний диск Linux" для Hyper-V від Microsoft (Є кілька версій, остання містить попередні дистрибутиви)
  3. Змонтуйте файл зображення ISO.
    sudo mount /dev/cdrom /media
  4. Запустіть install.shпід папкою LISISO CD з інтеграційними службами Linux (де xx - це остання версія або потрібна конкретна версія).
    sudo /LISISO/install.sh
  5. Створити ifcfg-eth0файл.
    nano /etc/sysconfig/network-scripts/ifcfg-eth0
  6. Вставте наступні рядки:

    DEVICE=eth0
    BOOTPROTO=dhcp
    ONBOOT=yes
    
  7. Збережіть і закрийте

  8. Редагувати або створити networkфайл
    nano /etc/sysconfig/network
  9. Вставте наступні рядки:

    NETWORKING=yes
    HOSTNAME=server-name.company.lan
    

    Збережіть і закрийте

  10. Перезапустіть і тепер ви можете пінг-оф

У мене була ця сама проблема сьогодні із свіжим RHEL 7.4 VM, єдині кроки, які мені довелося виконати, були 5-9, і єдине, що я робив, - це те, що (я не включав атрибут HOSTNAME, і я використовував vi замість nano
Taegost

4

Здається, драйвери для віртуалізованих NIC з HyperV відсутні у версії ядра CentOS, яку ви використовуєте, і вони наявні у успішно встановленій версії Ubuntu. Microsoft лише нещодавно отримала свої драйвери віртуальних пристроїв у основне ядро. Я здогадуюсь, що ви використовуєте версію CentOS, яка не включає ці драйвери.

Щодо її усунення, ви можете шукати повідомлення ядра, пов’язані з мережевим обладнанням. Перевірте вихід dmesg | lessі less /var/log/messages. Я б шукав записи, що містять "net", "eth". Будь-яка реєстрація ядра буде відбуватися через завантаження модуля - успіх чи помилка. Якщо немає модулів ядра для віртуалізованого NIC, ядро, ймовірно, нічого не скаже про нерозпізнане обладнання.

Створюючи VM, ви можете додати "Legacy Network Adapter" в HyperV (принаймні, параметр, який раніше називався). Це дозволить представити NIC для гостьової ОС як по суті більш старого пристрою, для якого у гостя, сподіваємось, є драйвери.

Після встановлення CentOS ви можете встановити драйвери від Microsoft для використання більш ефективних віртуальних пристроїв.


Я не впевнений, чи вирішив це це для мене, або якщо так було, що мій VM лише встановив eth0 в ручний режим, і мені довелося включити dhcp та onboot
jcolebrand

1

У своєму випадку я додав новий VM до Windows 10 Hyper-V, імпортуючи VHD CentOS7 Linux. Установка пройшла нормально, але мережа в CentOS взагалі не працювала. Щоб вирішити проблему, у Hyper-V я вибрав новий VM та відредагував налаштування. У розділі Мережевий адаптер для віртуального комутатора за замовчуванням встановлено значення "Не підключено". Змінивши це на "Перемикач за замовчуванням" та збереження виправлено проблему. Це вирішило помилки, такі як не знайдено відповідного пристрою для цього з'єднання та не вдалося знайти eth0.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.