Indirizzi MAC su schede madri dual-NIC


9

Ecco un problema strano.

Abbiamo un numero di dispositivi con schede madri dual-NIC. Alcuni sono NIC Realtek, che fanno schifo. Alcuni sono Intel e1000s, che non lo fanno.

Ho appena notato su 2 macchine, una è una scheda di rete Intel, una è Realtek, che quando ho inserito l'indirizzo MAC di una macchina nel dhcpd.conffile sul nostro server DHCP per farlo partire su PXE, ho avviato la macchina in un ambiente di ricostruzione, inizialmente tutto bene.

Il server ottiene un'allocazione DHCP e PXE si avvia nell'ambiente preimpostato di Ubuntu.

Su una o due macchine arriva fino alla configurazione di rete DHCP di Ubuntu e fallisce. Se tiro su una shell busybox (sulla tty2macchina di installazione) ed eseguo ip link, posso vedere che il flag UP è impostato sull'altra scheda di rete.

Ecco alcune cose.

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

Ecco cosa c'è dentro dhcpd.conf

Ecco come appare il collegamento ip sulla macchina malvagia. uscita link ip

Solo una scheda di rete è effettivamente connessa (deliberatamente).

Come puoi vedere, la scheda NIC che si trova nella configurazione dhcpd non è contrassegnata come UP e il collegamento UP non è quello in DHCP.

Finora l'ho visto su due marchi di configurazione dual-NIC.

Qualcuno sa 1) cosa lo sta causando eb) Cosa possiamo fare al riguardo?


1. Ordine diverso di inizializzazione dei dispositivi PCI. Quindi il BIOS utilizza il MAC ": 18" e il sistema operativo utilizza prima il MAC ": 19". 2. No idea =]
Chris S,

Aggiungerò questo come un commento piuttosto che una risposta perché è abbastanza debole, ma posso dire che qualcuno prima di me ha trovato questo stesso identico problema e lo ha risolto aggiungendo MAC e MAC + 1 al dhcpd.conffile durante l'impostazione di un kickstart.
Kyle Smith,

Che aspetto ha il preconfigurato? In particolare, è netcfg/choose_interfaceimpostato?
Shane Madden,

./master/master_preseed.cfg:d-i netcfg/choose_interface select auto
Tom O'Connor,

@KyleSmith Sì .. È un po 'stocastico però.
Tom O'Connor,

Risposte:


8

C'è sempre più di un modo per fare qualsiasi cosa :)

Soluzione 1

Schede madri con una di ognuna?

Lista nera qualunque modulo ( ethtool -i eth0) supporti la scheda Realtek.

Ubuntu supporta la module_name.blacklist=yes blacklist all'avvio e dovresti essere in grado di modificare le opzioni di modprobe nell'ambiente preimpostato in modo che non venga sondato in seguito.


Soluzione 2

Vorrei riformulare il problema:

Abbiamo schede madri con due schede NIC e vogliamo che funzionino in modo coerente, indipendentemente dall'interfaccia inserita. Non possiamo sempre determinare quale interfaccia (dal punto di vista del sistema operativo) verrà inserita.

Crea un legame! Utilizzare una configurazione attivo-passivo ( mode=active-backup miimon=100) con entrambe le interfacce come slave. In questo modo, funzionerà sempre, indipendentemente dall'interfaccia inserita.


Soluzione 3

Le schede madri sono abbastanza coerenti da far apparire sempre le schede NIC sullo stesso ID PCI? Utilizzare le regole udev per assegnare sempre la scheda su un determinato indirizzo PCI a eth0 e la scheda sull'altro indirizzo a eth1.

Si noti che è possibile avere due diverse regole udev che assegnano un dispositivo a eth0: ciò consente di gestire contemporaneamente il caso Realtek e e1000.


Sono entrambi Realtek purtroppo ... Avremo alcuni e1000 per sostituirli, quindi probabilmente li uccideranno nel bios.
Tom O'Connor,

1
Ooohhhh, frainteso. Pensavo di avere schede madri con 1 x e1000 e 1 x Realtek.
MikeyB,

Buone risposte .. Non sono del tutto sicuro di cosa sia supportato poiché questo problema tende a presentarsi tra il caricatore PXE e il DHCP dell'installatore Debian. Personalmente penso che l'opzione migliore sarà disabilitare tutte le Intel NIC decenti tranne una
Tom O'Connor,

Abbiamo finito per impostare il bonding e risolvere il problema inserendo entrambi gli indirizzi nel DHCP.
Tom O'Connor,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.