![Enlaces simbólicos con grub2 como pxelinux](https://rvso.com/image/154446/Enlaces%20simb%C3%B3licos%20con%20grub2%20como%20pxelinux.png)
Quiero hacer enlaces simbólicos como puede hacerlo pxelinux, solo con grub2. Pero no puedo entender cómo. El objetivo es tener diferentes archivos de configuración que pueda pasar dinámicamente a una IP.
Grub2 funciona hasta ahora, pero no puedo darle a una IP otro archivo de configuración, siempre toma grub.cfg. También probé grub.cfg-IP -> otro archivo de configuración -> es un enlace simbólico al archivo de configuración que realmente quiero usar.
Quizás alguien ya se haya dado cuenta de esto. El manual de Grub2 no ayudó mucho.
Respuesta1
PXELINUX no está "haciendo enlaces simbólicos": simplemente está descargando un archivo de configuración cuyo nombre incluye la dirección IP o MAC del cliente o parte de ella. El hecho de que el archivo coincidente sea un enlace simbólico es completamente entre usted y su servidor TFTP que proporciona el archivo a PXELINUX.
Tenga en cuenta que, a diferencia de PXELINUX, GRUB solo busca un único archivo de configuración, que es grub.cfg
el predeterminado. Entonces eso es lo que necesitas para suministrarlo. Si desea que GRUB utilice un archivo de configuración cuyo nombre depende de alguna manera de la dirección IP del cliente, deberá comunicárselo a GRUB.
Ese archivo de configuración puede indicarle a GRUB que cargue otro archivo de configuración... y usted puede usar las variables de entorno de GRUB al especificar su nombre.
Entonces, si desea que GRUB use un archivo de configuración llamado grub.cfg-<IP address>
, primero debe crear un grub.cfg
archivo mínimo en la ubicación esperada por GRUB y hacer que diga algo como esto (solamente):
configfile grub.cfg-${net_default_ip}
Esto debería indicarle a GRUB que descargue un nuevo archivo de configuración con la dirección IP del cliente como sufijo del nombre del archivo.
Incluso podrías especificar el nuevo archivo de configuración con una ruta absoluta, con algo como
configfile (tftp,${net_default_server})/some/path/grub.cfg-${net_default_ip}
Si no le gusta tener un grub.cfg
archivo separado con solo una línea que define un nuevo archivo de configuración, puede incrustar esta configuración de una línea en la imagen de inicio de GRUB PXE, usando grub-mkimage -c <grub.cfg containing the configfile command> -O i386-pc-pxe <other parameters...>
(o cualquier arquitectura que esté usando).
Probablemente ya haya descubierto que cuando tiene problemas para que funcione el arranque PXE, es útil volcar el tráfico de red entre el cliente PXE y los servidores DHCP/TFTP con algo como tcpdump
o wireshark
para verificar que el cliente esté obteniendo la información correcta. información y solicitando a su vez los archivos correctos... ¿verdad?