Aquí hay un problema extraño.
Tenemos varios dispositivos con placas base de doble NIC. Algunos son Realtek NIC, que apestan. Algunos son Intel e1000, que no lo hacen.
Acabo de notar en 2 máquinas, una es una NIC de Intel, una es una Realtek, que cuando pongo la dirección MAC de una máquina en el dhcpd.conf
archivo de nuestro servidor DHCP para que PXE arranque la máquina en un entorno de reconstrucción, Inicialmente todo está bien.
El servidor obtiene una asignación de DHCP y PXE se inicia en el entorno predeterminado de Ubuntu.
En una o dos máquinas, llega hasta la configuración de red DHCP de Ubuntu y falla. Si levanto un shell de busybox (en tty2
la máquina de instalación) y ejecuto ip link
, puedo ver que el indicador UP está configurado en la otra NIC.
Aquí hay algunas cosas.
host xeon16-ghz240-gb48-node1 {
hardware ethernet BC:AE:C5:07:1F:18;
filename "pxelinux.0";
next-server 192.168.123.80;
}
Eso es lo que hay dhcpd.conf
Así es como se ve el enlace ip en la máquina del mal.
Solo una NIC está realmente conectada (deliberadamente).
Como puede ver, la NIC que está en la configuración de dhcpd, no está marcada como ARRIBA, y el enlace que está ARRIBA, no es el que está en DHCP.
Hasta ahora he visto esto en dos marcas de configuración de doble NIC.
¿Alguien sabe 1) qué lo está causando, y b) ¿Qué podemos hacer al respecto?
fuente
dhcpd.conf
archivo al configurar un Kickstart.netcfg/choose_interface
establece?./master/master_preseed.cfg:d-i netcfg/choose_interface select auto
Respuestas:
Siempre hay más de una forma de hacer algo :)
Solución 1Placas base con una de cada?
Lista negra, sea cual sea el módulo (
ethtool -i eth0
) que admita la tarjeta Realtek.Ubuntu admite
module_name.blacklist=yes
ponerlo en la lista negra durante el arranque y debería poder cambiar las opciones de modprobe en el entorno preestablecido para que no se pruebe más tarde.Solución 2
Permítanme reformular el problema:
Establecer la vinculación! Utilice una configuración activa-pasiva (
mode=active-backup miimon=100
) con ambas interfaces como esclavos. De esta manera, siempre funcionará sin importar qué interfaz esté conectada.Solución 3
¿Las placas base son lo suficientemente consistentes como para que las NIC siempre aparezcan en la misma ID de PCI? Use las reglas de udev para asignar siempre la tarjeta en una dirección PCI particular a eth0 y la tarjeta en la otra dirección a eth1.
Tenga en cuenta que puede tener dos reglas de udev diferentes que asignan un dispositivo a eth0; esto le permite manejar el caso Realtek y e1000 al mismo tiempo.
fuente
Puede intentar agregar la opción PXELINUX IPAPPEND 2 a su archivo pxelinux.cfg para indicar a los scripts de inicio que usen la interfaz que hizo el arranque PXE:
/var/lib/tftpboot/pxelinux.cfg/default
ver: http://www.syslinux.org/wiki/index.php/SYSLINUX#IPAPPEND_flag_val_.5BPXELINUX_only.5D
fuente