* Imagenes de instalación de las versiones estables para Mageia y OpenMandriva.

OpenMandriva: Mageia (Mageia 9) 20/Agosto/2023 - Anuncio, Descargas.

Blogdrake recomienda descargar las imágenes de instalación (iso) vía torrent para evitar corrupción de datos, aprovechar mejor su ancho de banda y mejorar la difusión de las distribuciones.

Interconexión de dos ordenadores

Y por fin llegó el gran día: ¡tenemos ordenador nuevo!

Pero algo empaña nuestra placentera sensación. Un halo de tristeza se respira en el ambiente. Ahí, olvidado en un rincón, alicaído cual sheriff Woody ante la llegada de Buzz Lightyear, se encuentra nuestro anterior ordenador, que ahora responde al nombre de "ordenador viejo".

Él lo sabe. Tú lo sabes. Puede que esté mayor, pero aún es perfectamente funcional para muchas tareas. Y la mayor parte de las tareas que puede desempeñar son las que necesitan el resto de habitantes de tu casa. Y si sólo tuvieses el ordenador nuevo tendrías que compartirlo muy a menudo... Mmmm... Pero aún así habría ciertas tareas para las que dichos habitantes necesitarían el ordenador nuevo. Aunque claro, si conectas ambos ordenadores y haces que desde el viejo se pueda entrar al nuevo...

¿Esta situación te resulta familiar? En ese caso, el siguiente artículo puede serte de utilidad.

Introducción

El objetivo principal de este artículo es mostrar cómo se pueden conectar dos ordenadores, uno nuevo y otro viejo, para conseguir lo siguiente:

¿Qué se necesita?

Para empezar, obviamente, dos ordenadores :) Lo de que uno sea más viejo que otro es irrelevante de cara al procedimiento a seguir. Se puede hacer exactamente lo mismo que se va a explicar con dos ordenadores igual de potentes. Pero se explicará con uno más nuevo y otro más viejo simplemente porque es lo que yo utilizo ;)

Para realizar la conexión entre ellos se necesita un cable de red, y que cada ordenador tenga una tarjeta de red. Dado que se transmitirán cantidades considerables de datos entre los ordenadores lo mejor es que el enlace sea Gigabit Ethernet. ¿Mande? Quiere decir que es capaz de transmitir hasta 1 Gigabit de datos por segundo (unos 125 Megabytes por segundo).

¿Y cómo sé yo eso? Pues comprobando que tanto las tarjetas de red del ordenador nuevo y el viejo como el cable de red soporten la conexión a 1 Gbps (Gbps = Gigabit por segundo). En el caso de las tarjetas de red, si ya la tenemos instalada en el ordenador, ejecutando ethtool nombreInterfaz (donde nombreInterfaz es típicamente eth0), nos saldrá, entre otras cosas, algo como:

        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full

Si en los modos de enlace soportados se incluye la última línea la tarjeta está preparada para conexión a 1 Gbps. Si aún no tenemos la tarjeta de red y vamos a comprarla, en el nombre o en la descripción en la caja suelen poner algo como "10/100 Mbps" o "10/100/1000 Mbps". Las Gigabit son las que llegan a los 1000 Mbps (1 Gigabit por segundo = 1000 Megabits por segundo). En caso de duda, pregunte al amable vendedor.

Los cables de red, por su parte, pertenecen a una determinada categoría en función de sus características. La categorías 5 (preferiblemente 5e) y la categoría 6 soportan enlaces a 1 Gbps. Si ya tenemos el cable, suelen llevar impresa cierta información en su recubrimiento exterior de plástico, entre ellos la categoría. Sino, a la hora de comprarlo suele estar especificado claramente a qué categoría pertenece (y no sé si es por la calidad del cable o qué, pero tengo vistos cables de la misma categoría el doble de caros en un sitio que en otro).

Dicho todo esto... lo cierto es que las conexiones "Ethernet normales y corrientes" también sirven. Si resulta que tenemos tarjetas de red que sólo llegan a los 100 Mbps no es indispensable cambiarlas ni mucho menos, al menos a priori. A posteriori puede que descubramos que la red es el cuello de botella y quizás estemos interesados en invertir en nuevo hardware para solucionarlo. Eso ya es cosa de cada uno.

Por otra parte, dado que uno de los ordenadores estará conectado tanto a Internet como al otro ordenador, dicho ordenador necesitará dos tarjetas de red independientes.

Finalmente, todo lo que se explicará aquí se hará desde el punto de vista de Mandriva 2009.1 o posteriores, por lo que es recomendable que ambos ordenadores utilicen dicha distribución. No obstante, muchas de las cosas aquí expuestas seguramente también sean aplicables en otras distribuciones GNU/Linux.

Así que... vamos allá.

Compartiendo la conexión a Internet

En mi entorno, el ordenador nuevo estará casi siempre encendido y el viejo pasará menos tiempo encendido. Por tanto, el ordenador nuevo será el que esté conectado a Internet y proveerá al ordenador viejo de conexión a Internet. Será en el ordenador nuevo en el que tengamos que hacer toda la configuración. Y lógicamente, una vez configurado todo, el ordenador nuevo deberá estar encendido para que el ordenador viejo pueda entrar a Internet.

La interfaz de red del ordenador nuevo que estará conectada a Internet será eth0, mientras que la interfaz de red que estará conectada al ordenador viejo será eth1. Si no tenemos ni idea de qué tarjeta de red se corresponde con qué interfaz de red de nuestro ordenador (vamos, que no sabemos qué cable está conectado a eth0 y qué cable está conectado a eth1) el sistema más fácil es desconectar el cable por el que "llega Internet" y ver el mensaje de net_applet que nos dice que "la red no está activa en la interfaz de red lo que sea".

net_applet es la aplicación de Mandriva que aparece en la bandeja del sistema y nos informa de eventos en nuestra red (como que se quede sin conexión o la recobre), nos permite modificar la configuración, conectar cierta interfaz y cosas así. Por defecto, net_applet arranca cuando arranca nuestra sesión gráfica. Si no está es que lo desactivamos explícitamente. En ese caso, tenemos que abrir una consola y ejecutar net_applet --force. Luego hacemos la prueba de desconectar el cable de Internet para saber qué interfaz de red es la de Internet.

Con esto ya tenemos suficiente información para compartir la conexión. Pero, ¿cómo lo hacemos? Pues mediante un práctico asistente de Mandriva, drakgw (el nombre viene de "Gateway Wizard", "Asistente de pasarela"). Podemos ejecutarlo desde una consola como root, o bien desde el centro de control de Mandriva, sección Redes a Internet -> Compartir la conexión a Internet con otras máquinas locales.

Pero antes de lanzar el asistente necesitamos llevar a cabo un paso previo: desactivar el cortafuegos en la interfaz de red que vaya a proveer de Internet al ordenador viejo (en mi caso, eth1). Es un requisito del asistente para funcionar correctamente. No obstante, al ser la interfaz de red que está conectada al ordenador viejo quitar el cortafuegos no supone un gran problema de seguridad, ya que nuestra red local es (o debería ser) totalmente segura. La interfaz de red conectada directamente a Internet, en cambio, debe tener el cortafuegos armado y preparado para repeler a los atacantes.

Para desactivar el cortafuegos en la interfaz de red eth1 también podemos recurrir a un asistente de Mandriva, drakfirewall. Podemos ejecutarlo desde una consola como root, o bien desde el centro de control de Mandriva, sección Seguridad -> Configurar un cortafuegos personal.

Una vez arrancado el asistente, aceptamos la configuración que tuviésemos sobre a qué servicios dejamos conectarse a Internet (que debería ser ninguno, o alguno muy concreto a lo sumo), indicamos si queremos o no cortafuegos interactivo (personalmente siempre lo deshabilito, pero cada cuál que siga sus gustos), y la siguiente pantalla es la importante.

En ella puede seleccionarse qué interfaces de red deben estar protegidas por el cortafuegos. Marcamos la interfaz que se vaya a usar para conectar directamente a Internet (en mi caso, eth0) y desmarcamos la interfaz de red que se vaya a usar para conectar con el ordenador viejo (en mi caso, eth1), aceptamos y listo.

Una vez desactivado el cortafuegos en esa interfaz de red ejecutamos el asistente para compartir la conexión. Primero le indicamos qué interfaz de red es la que se usará para conectarse a Internet, y luego nos preguntará por cosas como la configuración de la red local, si debe actuar como DNS (traducir las URL en su dirección IP correspondiente), como DHCP (asignar direcciones IP a los ordenadores conectados a la red) y proxy de caché (guardar las páginas visitadas desde el ordenador al que se proveerá de conexión para mostrarlas directamente al volver a entrar, sin necesidad de conectar con la página original de nuevo).

Personalmente acepto la configuración de red por defecto y actuar como DNS y DHCP, pero no como proxy de caché. En general, y como el propio asistente indica, si no sabes qué es algo, deja los valores por defecto. El asistente además se encargará de instalar automáticamente los paquetes que le hagan falta (suponiendo que los repositorios estén configurados, que deberían estarlo).

Una vez hecho esto ya habríamos terminado... si drakgw no tuviese un bug: drakgw should configure sharing interface to come up whether there is link or not.

El problema está en que dhcpd, el demonio de DHCP (el servicio que asigna direcciones IP al ordenador viejo, necesarias para funcionar en red), necesita que la interfaz de red en la que escucha peticiones de direcciones IP esté levantada cuando arranca.

Que esté levantada significa que tenga asignada una dirección IP. Las direcciones IP pueden asignarse por el propio ordenador de forma estática, o bien ser obtenidas desde otro ordenador de forma dinámica por DHCP. Por ejemplo, la interfaz de red del ordenador nuevo en la que DHCP escucha peticiones tiene una dirección IP estática autoasignada por el propio ordenador nuevo. En cambio, la interfaz de red del ordenador viejo tiene una IP dinámica asignada por el ordenador nuevo a través de DHCP.

El caso es que si la interfaz de red en la que dhcpd escucha peticiones no está levantada, dhcpd se negará a arrancar y chillará en los logs con algo como "No subnet declaration for eth1 (no IPv4 addresses)".

Por defecto, las interfaces de red se levantan automáticamente cuando se conectan mediante ifplugd. Y conectar no significa tener enchufado el cable a la tarjeta de red, sino tener el cable enchufado y que en el otro extremo haya otra tarjeta de red activa. Es decir, no vale que el cable esté enchufado a otra tarjeta de red de un ordenador apagado.

Entonces, si encendemos el ordenador nuevo y el viejo está apagado, ifplugd no levantará la interfaz de red eth1 porque no está conectada. Como eth1 no se levanta, dhcpd no llega a arrancar. Así, si luego encendiésemos el ordenador viejo éste no tendría conexión, ya que al estar DHCP parado no le asignaría una dirección IP. Habría que arrancar dhcpd manualmente en el ordenador nuevo una vez se hubiese encendido el ordenador viejo para que éste tuviese conexión.

Podría modificarse el archivo de acciones de ifplugd (/etc/ifplugd/ifplugd.action) y hacer que cuando la interfaz de red eth1 se levantase se lanzara el servicio dhcpd, y que cuando la interfaz de red eth1 se ¿bajase? se parase el servicio dhcpd. Sin embargo, si se enciende primero el ordenador viejo y más tarde se enciende el ordenador nuevo, el ordenador viejo no tendría conexión ni siquiera tras encender el nuevo. Y lo cierto es que no sé por qué...

Así pues, la solución pasa por no usar ifplugd en absoluto para gestionar la interfaz de red eth1. Cuando se arranca el ordenador dicha interfaz se levanta asignándosele una dirección IP (da igual si la tarjeta de red está enchufada, conectada o lo que sea, la direccion se asigna sí o sí), y al estar levantada dhcpd arranca de forma correcta. Cuando el ordenador viejo se enciende, dhcpd ya está funcionando y le asigna una dirección IP, pasando a formar parte de la red local (y pudiendo conectarse a Internet). Si el ordenador viejo se enciende primero y más tarde se enciende el nuevo, cuando se encienda el nuevo dhcpd también se lanzará en el arranque, le asignará una dirección IP al ordenador viejo y de nuevo todos contentos.

Para hacer que ifplugd ignore la interfaz de red eth1 y se levante con una dirección IP estática en el arranque añadimos la línea

MII_NOT_SUPPORTED=yes

en el archivo /etc/sysconfig/network-scripts/ifcfg-eth1. El resto de valores a especificar en dicho archivo para asignarle la dirección estática (BOOTPROTO, IPADDR, NETMASK...) ya fueron establecidos por drakgw.

Asignando siempre la misma IP al ordenador viejo

Tal y como drakgw deja la configuración de dhcpd, cuando éste asigne una dirección IP al ordenador viejo podrá ser cualquiera entre 192.168.1.16 y 192.168.1.253. La dirección IP es lo que identifica al ordenador en la red local (en este caso formada simplemente por el ordenador nuevo y el ordenador viejo), y lógicamente para poder hacer cualquier cosa en el ordenador viejo desde el nuevo necesitaremos saber cómo llamarle. Si no sabemos qué nombre va a tener, mal asunto...

En cambio, entrar desde el ordenador viejo al nuevo no es un problema, ya que el ordenador nuevo tiene una IP estática, que nunca cambia, asignada por sí mismo.

Parece por tanto que la solución es que el ordenador viejo siempre tenga la misma IP. De esa manera no habrá dudas sobre como identificarle.

Podríamos darle al ordenador viejo una dirección estática pura (asignada por el propio ordenador viejo), pero lo que haremos será darle una dirección estática de forma dinámica. ¿Cómo fue eso? Pues que haremos que el ordenador viejo obtenga su IP dinámicamente por DHCP del ordenador nuevo, y que dicha dirección asignada por DHCP sea siempre la misma para ese ordenador.

Además, la IP del ordenador viejo será asignada sólo al ordenador viejo. Si conectásemos otro ordenador (técnicamente hablando, otra tarjeta de red), éste nunca tendría la misma IP que el ordenador viejo, por lo que podrá identificarse de forma inequívoca.

Para conseguir esto, lo primero es averiguar cuál es la clave MAC de la tarjeta de red del ordenador viejo. La clave MAC viene a ser la huella dactilar de la tarjeta de red, y podemos encontrarla ejecutando como root ifconfig y buscando el valor de HWaddr de la interfaz de red deseada, por ejemplo:

eth0      Link encap:Ethernet  HWaddr 00:09:C3:0F:BE:FF

Ahora, editaremos el archivo de configuración de dhcpd, /etc/dhcpd.conf y añadiremos una entrada que diga "a la tarjeta de red con esta clave MAC le vas a dar siempre esta IP":

host nombreDelOrdenadorViejo {
        hardware ethernet 00:09:C3:0F:BE:FF;
        fixed-address 192.168.1.15;
}

En lugar de nombreDelOrdenadorViejo, obviamente, tendremos que poner el nombre que queramos para el ordenador viejo. Más información sobre esto en la siguiente sección.

En cuanto a la IP asignada, si no queremos hacer más cambios, debemos escoger una que esté fuera del rango de las IPs dinámicas. Así, si el rango va de 192.168.1.16 a 192.168.1.253, podemos asignarle la IP 192.168.1.15.

Si por algún motivo queremos que la IP asignada sea, por ejemplo, 192.168.1.42, tendremos que modificar el rango de IPs dinámicas. Para ello, en el archivo de configuración de dhcpd, dentro de la sección

subnet 192.168.1.0 mask 255.255.255.0 {

cambiaremos

range dynamic-bootp 192.168.1.16 192.168.1.253;

por un rango que empiece a partir de la dirección en cuestión

range dynamic-bootp 192.168.1.43 192.168.1.253;

o por dos nuevos rangos disjuntos:

range dynamic-bootp 192.168.1.16 192.168.1.41;
range dynamic-bootp 192.168.1.43 192.168.1.253;

Si no hacemos esto, el demonio dhcpd se quejará en nuestros logs de sistema de que la IP puede asignarse tanto estática como dinámicamente:

dhcpd: Dynamic and static leases present for 192.168.1.42.
dhcpd: Remove host declaration HAL9003 or remove 192.168.1.42
dhcpd: from the dynamic address pool for 192.168.1.0/24

(HAL9003 es el nombreDelOrdenadorViejo de mi ordenador viejo).

Poniendo nombre a los ordenadores

Hasta ahora hablábamos de identificar al ordenador en la red local según su dirección IP. Pero lo cierto es que eso no es práctico. Es mucho mejor darle un nombre cómodo y fácil de recordar, algo como Yoda, McFly, Aragorn o lo que nos parezca.

Una vez decidimos qué nombre vamos a ponerle al ordenador, establecemos en el archivo /etc/sysconfig/network:

HOSTNAME=elNombreMolónEscogidoParaElOrdenador

Si HOSTNAME ya existiese simplemente cambiamos su valor, y sino, añadimos la línea completa.

Además, tenemos que modificar el archivo /etc/hosts (que asocia nombres de ordenadores con IPs) para reflejar el nombre en él:

127.0.0.1 elNombreMolónEscogidoParaElOrdenador localhost

Un detalle muy importante. El primer valor para 127.0.0.1 debe ser el nombre del equipo. No vale con ponerlo después de localhost, sino que debe estar antes. Si lo ponemos después, el nombre del equipo seguirá siendo localhost y "elNombreMolónEscogidoParaElOrdenador" será un alias. Es decir, si consultamos la IP del alias, nos devolverá 127.0.0.1. Pero si miramos el nombre del equipo asociado a 127.0.0.1, obtendremos localhost, y seguiremos en las mismas.

Los cambios a esos dos archivos deberán hacerse en cada ordenador, asignándoles un nombre distinto a cada uno, obviamente. Pero hasta ahora sólo el propio ordenador conoce su nombre. Para el otro ordenador, el que está conectado a él en la red local, sigue siendo una dirección IP. Así que ahora toca que cada ordenador pueda identificar a su compañero según su nombre.

Como las IPs son siempre las mismas, en el ordenador viejo tenemos que asociar la IP 192.168.1.1 con el nombre del ordenador nuevo, y en el ordenador nuevo tenemos que asociar la IP 192.168.1.42 (o la que hayamos puesto) con el nombre del ordenador viejo. ¿Y dónde se asociaban los nombres con sus IPs? Eso es, en /etc/hosts.

La edición de dicho archivo puede hacerse bien a mano, bien desde el asistente de Mandriva llamado drakhosts. Usemos el sistema que usemos, el resultado en el ordenador viejo será un archivo /etc/hosts con el siguiente aspecto:

127.0.0.1 nombreDelOrdenadorViejo localhost
192.168.1.1 nombreDelOrdenadorNuevo

Y en el ordenador nuevo, tendrá el siguiente aspecto:

127.0.0.1 nombreDelOrdenadorNuevo localhost
192.168.1.42 nombreDelOrdenadorViejo