Manteniendo el control de tu red local @ YoVirtualizador | 2023-09-19T03:00:00+02:00 | 4 minutos de lectura | Actualizado en 2023-09-19T03:00:00+02:00

Manteniendo el control de tu red local

Tengo un router, y tengo un ESXi donde levanto máquinas.
Y no me gusta que las direcciones IP sean tan aleatorias que me obliguen a ir a la máquina a verlo.

Podemos simular un simple sistema IPAM en casa jugando con las reservas del router y las direcciones MAC de la máquina virtual.
Vamos a desarrollarlo.

Diseño

Es muy simple. Está claro que tenemos un rango definido por la RFC1918 así que vamos usar algo de eso.
Una dirección IP de los rangos de direccionamiento local tienen 48, 32, o 24 bits de carga útil.

De mi anterior artículo sobre redes que está aquí.

Red Inicio Fin Tamaño
10/8 10.0.0.0 10.255.255.255 16777214
172.16/12 172.16.0.0 172.31.255.255 1048574
192.168/16 192.168.0.0 192.168.255.255 65534

Vamos a traducir esto a carga útil:

Si de una red 10/8 desestimamos el par de octetos iniciales, nos quedamos con una carga útil de 48 bits.
Una dirección MAC tiene 48 bits para el fabricante y 48 bits para el componente.
Así que en la dirección MAC puedo almacenar la dirección IP.

Reservas del DHCP

No es normal tener una red tan grande. No es común tener una red por encima de un /24. Ya es extraño encontrar un /22 que da para casi 1000 máquinas…
Lo habitual es usar un /24, una clase C.
Así que vamos a trabajar con el DHCP del router.
Normalmente tienen un límite, de aproximadamente 24 o 32 reservas en el rango que se le determina como entregable.

Por lo que partiremos de una configuración estándar, muy habitual, que es la 192.168.0.0/24 siendo el .1 el router y el rango .128 a .254 como entregables por el DHCP.
Eso se traduce en que se entregarán las IP, y voy a jugar un poquito.
Hablando en hexadecimal, como ya hice en su día cuando comenté la forma de cambiar los rangos de VMware Player desde el editor de registro, una dirección IP se puede escribir en hexadecimal.
Por lo que limitándonos a escribir la parte variable del rango del ejemplo, de ese 128 a 254 de 0x80 a 0xfe y me voy a quedar con las últimas.

Demasiada explicación. Resume un poco

Básicamente lo que quiero es poner direcciones IP automáticamente bajo mi voluntad.
VMware tiene una funcionalidad interesante que se basa en la asignación manual de direcciones MAC en lugar de las generadas de forma aleatoria al asignar una tarjeta. Se documenta aquí.
Pero claro, no todo es tan simple ni tan flexible y eso solo está soportado en vSphere, con vCenter.
En cuanto a hacerlo con un ESXi cuyo rango de direcciones para máquinas en modo independiente, es decir, no unidas a un vCenter, es diferente al soportado, lo que vamos a obtener es el error siguiente:

Power On VM
Key
haTask-8-vim.VirtualMachine.powerOn-3876097361

Description
Power On this virtual machine

Virtual machine
vps
State
Failed - Impermissible static Ethernet address: '00:0c:29:00:00:a0'. It conflicts with VMware reserved MACs.

Errors
Impermissible static Ethernet address: '00:0c:29:00:00:a0'. It conflicts with VMware reserved MACs.
Invalid MAC address specified.
Could not set up 'macAddress' for 'ethernet0'.
Module 'DevicePowerOn' power on failed.
Failed to start the virtual machine.

El procedimiento no funciona, al menos para usuarios no tan estándar.

Analizando, está claro que el rango indicado no está admitido, así que vamos a jugar con parámetros de verdad.
Por lo que para la acción documentada, además del cambio de rango en el dispositivo virtual, del documentado 00:50:56:3F:FF:FF a 00:50:56:3F:FF:FF por un simple 00:0c:29:3F:FF:FF a 00:0c:29:FF:FF:FF que significa que no está conectado a un vCenter…

En el fichero .vmx de la máquina virtual, debidamente desregistrada del host, editamos estos 3 campos, addressType, checkMACAddress y address.

ethernet0.virtualDev = "vmxnet3"
ethernet0.addressType = "static"
ethernet0.present = "TRUE"
ethernet0.checkMACAddress = "false"
ethernet0.address = "00:0c:29:00:00:0f"

Y registramos de nuevo con vuestro método favorito. En mi caso, vim-cmd solo/registervm "/vmfs/volumes/01234567-89abcdef-0123-456789abcde/vmdepelicula.mvx"

En cuanto arranque la máquina, como hemos registrado la MAC en el router, la máquina estará disponible en la IP que hemos decidido y no una elegida de forma aleatoria.

¿Resumen del resumen?

Si tras intentar asignar a una máquina virtual una MAC del rango 00:0c:29:3F:FF:FF a 00:0c:29:FF:FF:FF tanto si está en un host ESXi como en vSphere aparece un error como este:

Module DevicePowerOn power on failed.
Could not set up “macAddress” for ethernet0.
Invalid MAC address specified.
00:0c:29:00:00:a0 is not an allowed static Ethernet address. It conflicts with VMware reserved MACs.

Es tan sencillo de solucionar como desregistrar la máquina, añadir la línea de abajo y registrar la máquina de nuevo.

ethernet0.checkMACAddress = "false"


YoVirtualizador en formato podcast. Ahora también en Sospechosos Habituales: https://feedpress.me/sospechososhabituales
Y sin más, os dejo los enlaces:

Web: https://www.yovirtualizador.com
Grupo de telegram: https://t.me/grupovirtualizador
Podcast: https://www.ivoox.com/podcast-yovirtualizador_fg_f1563806_filtro_1.xml
Canal de youtube: https://www.youtube.com/channel/UC0R70cABSsmC6TFyXth0qPg
Enlace de afiliados de amazon: https://amzn.to/3gX3HmK
Enlace de referidos de la Asociación Podcast: https://www.asociacionpodcast.es/registrarse/socio/?coupon=SB6A70

© 2019 - 2024 YoVirtualizador

Powered by Hugo with theme Dream.

avatar

El blog de YoVirtualizadorTu podcast y blog de confianza

Acerca de YoVirtualizador

YoVirtualizador es la marca de varios proyectos

Podcast de informática profesional. Canal de Youtube sobre el blog, el podcast y de temática profesional. Blog de contenido diverso, con temática BOFH y técnica.

Gracias por la lectura.

Política de comentarios

En YoVirtualizador todos los comentarios serán bienvenidos pero moderados.

Respetos guardan respetos.

El contenido irrelevante u ofensivo será eliminado.

Galletas

Política de cookies

En YoVirtualizador no usamos cookies para nada, pero los servicios de discus y analytics recopilan datos en servidores ajenos a YoVirtualizador sin que yo pueda hacer nada.

Este aviso es sólo porque algún político tenía que justificar su existencia.

Si hace clic en un enlace de afiliado y compra un producto o servicio, es posible que ese comerciante nos pague una tarifa.