MAC адреси на платах подвійних NIC


9

Ось дивна проблема.

У нас є низка пристроїв з платою dual-NIC. Деякі - це RealIC NIC, які смокчуть. Деякі - це Intel e1000, які цього не роблять.

Я щойно помітив на двох машинах, один - Intel NIC, один - Realtek, що коли я поміщаю MAC-адресу однієї машини у dhcpd.confфайл на нашому сервері DHCP, щоб перевести її на завантаження машини PXE в середовище відновлення, спочатку все добре.

Сервер отримує розподіл DHCP, і PXE завантажується в попередньо встановлену середовище Ubuntu.

На одній або двох машинах він проходить настільки, наскільки конфігурація мережі DHCP Ubuntu, і не працює. Якщо я підтягну оболонку зайнятого ящика (увімкнено tty2на встановлювальній машині) і запускаю ip link, я можу побачити, що прапор UP встановлений на іншому NIC.

Ось деякі речі.

  host xeon16-ghz240-gb48-node1 {
        hardware ethernet BC:AE:C5:07:1F:18;
        filename "pxelinux.0";
        next-server 192.168.123.80;
  }

Ось що в dhcpd.conf

Ось як виглядає ip-посилання на злій машині. Ip-вихід посилання

Лише один NIC насправді підключений (навмисно).

Як бачимо, NIC, що знаходиться в конфігурації dhcpd, не позначається як UP, а посилання, яке є UP, не є DHCP.

Поки що я бачив це на двох брендах з подвійною конфігурацією NIC.

Хтось знає 1) що це викликає, і б) що ми можемо з цим зробити?


1. Різний порядок ініціалізації пристроїв PCI. Тож BIOS використовує MAC ": 18", а ОС спочатку використовує MAC ": 19". 2. Не маю ідеї =]
Кріс S

Я додаю це як коментар, а не як відповідь, тому що він досить слабкий, але можу сказати, що хтось до мене знайшов цю саме таку проблему і вирішив її, додавши MAC та MAC + 1 у dhcpd.confфайл під час налаштування Kickstart.
Кайл Сміт

Як виглядає попередньо встановлений? Конкретно, netcfg/choose_interfaceвстановлюється?
Шейн Мадден

./master/master_preseed.cfg:d-i netcfg/choose_interface select auto
Том О'Коннор

@KyleSmith Так .. Це хоч трохи стохастично.
Том О'Коннор

Відповіді:


8

Завжди існує більше ніж один спосіб зробити що-небудь :)

Рішення 1

Материнські плати з однією з кожної?

Чорний список, залежно від того, який модуль ( ethtool -i eth0) підтримує картку Realtek.

Ubuntu підтримує module_name.blacklist=yes чорний список під час завантаження, і ви повинні мати змогу змінити параметри modprobe в попередньо встановленому середовищі, щоб потім він не перевірявся.


Рішення 2

Дозвольте перефразувати проблему:

У нас є материнські плати з двома NIC, і ми хочемо, щоб вони працювали послідовно незалежно від того, який інтерфейс підключений. Ми не завжди можемо визначити, до якого інтерфейсу (з точки зору ОС) буде підключено.

Налаштуйте зв’язок! Використовуйте активо-пасивну конфігурацію ( mode=active-backup miimon=100) з обома інтерфейсами як ведені. Таким чином, він завжди працюватиме незалежно від того, до якого інтерфейсу підключено.


Рішення 3

Чи достатньо послідовні материнські плати, що NIC завжди відображаються на одному ідентичному PCI? Використовуйте правила udev, щоб завжди присвоювати карту для певної адреси PCI eth0, а іншу адресу - eth1.

Зауважте, що у вас можуть бути два різні правила udev, які призначають пристрій eth0 - це дозволяє одночасно обробляти корпус Realtek та e1000.


Вони обидва Realtek сумно. Отримаєте кілька е1000, щоб замінити їх, тоді, ймовірно, вб'єте їх у біосі.
Том О'Коннор

1
Ooohhhh, неправильно зрозуміла. Думав, у вас є материнські плати з 1 x e1000 та 1 x Realtek.
MikeyB

Хороші відповіді. Я не зовсім впевнений, що підтримується, оскільки ця проблема має тенденцію представити себе між завантажувачем PXE та DHCP debian-інсталятора. Я особисто думаю, що найкращим варіантом буде відключення всіх, крім одного порядного Intel NIC,
Том О'Коннор,

Ми закінчили налаштування зв’язків та подолання проблеми, поставивши обидві адреси в DHCP.
Том О'Коннор

5

Ви можете спробувати додати параметр PXELINUX IPAPPEND 2 у свій файл pxelinux.cfg, щоб сказати скриптам init використовувати інтерфейс, що здійснив завантаження PXE:

/var/lib/tftpboot/pxelinux.cfg/default

LABEL linux
   KERNEL /ubuntu/casper/vmlinuz 
   APPEND initrd=/ubuntu/casper/initrd.gz root=/dev/nfs boot=casper netboot=nfs nfsroot=192.168.1.1:/var/lib/tftpboot/ubuntu --
   IPAPPEND 2

дивись: http://www.syslinux.org/wiki/index.php/SYSLINUX#IPAPPEND_flag_val_.5BPXELINUX_only.5D

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