index.html (3213B)
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 5 <meta name="viewport" content="width=device-width, initial-scale=1" /> 6 <title>Del machine-id en relación al clonado de discos</title> 7 <link rel="icon" type="image/png" href="/favicon.png" /> 8 <link rel="stylesheet" type="text/css" href="../article.css" /> 9 </head> 10 <body> 11 <header> 12 <p class="title">Del <i>machine-id</i> en relación al clonado de discos</p> 13 <p class="date">22 de marzo de 2021 • fjbalon</p> 14 </header> 15 <p>¿Qué es el <emb>machine-id</emb>? Desde las páginas de <a href="https://www.man7.org/linux/man-pages/man5/machine-id.5.html">man</a> se define como un identificador exclusivo de la máquina. «Este debe considerarse confidencial y no debe exponerse en entornos que no sean de confianza» se encuentra escrito en la documentación, lo que de primeras nos presenta algunos problemas que he desarrollado más adelante.</p> 16 <p>Lo primero que hay que entender es que éste se genera en el momento de la instalación del sistema operativo sobre el hardware concreto. Cuando, como administradores de sistemas nos dedicamos a clonar discos, es común que éstos mantengan el mismo identificador, generado a partir del hardware inicial del primer elemento de la clonación. Esto puede provocar conflicto a posteriori, por ejemplo, cuando generamos una interfaz de red bridge, que generará la MAC a partir del <emb>machine-id</emb>, y podría ocasionar conflicto en la red por simultaneidad.</p> 17 <p>Lo segundo, quizá, es su uso. El uso que da <emb>systemd</emb> al <emb>machine-id</emb> parece ambiguo, sirviendo a:</p> 18 <ul> 19 <li>La creación de identificador de host DHCP (probablemente causando que varias máquinas peleen por la misma dirección IP en el servidor DHCP).</li> 20 <li>GNOME almacena la configuración del diseño de pantalla firmada por el identificador.</li> 21 <li>El gestor de arranque EFI de <emb>systemd-boot</emb> almacena los kernels de instalación del sistema operativo en un directorio con el nombre del identificador para evitar colisiones.</li> 22 </ul> 23 <p>Aunque probablemente tenga más usos obtusos que no serán conocidos hasta estudiar profundamente el código.</p> 24 <p>El fichero que almacena dicho <emb>machine-id</emb> es <emb>/etc/machine-id</emb>. Observará que este valor también se almacena en <emb>/var/lib/dbus/machine-id</emb> y que existe un enlace simbólico entre los dos. Cualquier cambio en un archivo, se reflejará en el otro.</p> 25 <pre><code>cat /etc/machine-id 26 35f7f8a5f915453782892638656ad9fd 27 cat /var/lib/dbus/machine-id 28 35f7f8a5f915453782892638656ad9fd 29 ls -l /var/lib/dbus/machine-id 30 lrwxrwxrwx 1 root root 15 nov 11 2021 /var/lib/dbus/machine-id -> /etc/machine-id</code></pre> 31 <p>Como decíamos, el <emb>machine-id</emb> se genera aleatoriamente en la instalación del sistema utilizando la utilidad <emb>systemd-machine-id-setup</emb>, que llama a su vez a <emb>dbus-uuidgen</emb>. Cambiarlo manualmente es muy sencillo y puede hacerse desde cualquiera de las utilidades citadas:</p> 32 <pre><code>sudo rm /etc/machine-id 33 sudo systemd-machine-id-setup 34 35 sudo rm /etc/machine-id 36 sudo dbus-uuidgen --ensure=/etc/machine-id</code></pre> 37 </body> 38 </html>