26 de Septiembre, 2006

Vamos de alias en interfaces de red

Es una de esas cosas que te preguntas, y hasta que no sabes cómo se hace no puedes dejar de darle vueltas :P.

Supongamos un caso real: tienes que acceder a la configuración de un punto de acceso wireless, y debes hacerlo por 802.3 (ethernet). Lo conectas con un cable de red a tu switch y te das cuenta de que, digamos, tienes que conectar a 192.168.100.1/24.

Es poco probable que trabajes en esa red privada, así que... defines un alias para una tarjeta en la máquina desde la que vas a configurar el aparato, que ya tienes conectada al switch.

Esto lo he hecho muchas veces en Linux y es bastante sencillo:

# ifconfig eth0:0 inet 192.168.100.2 netmask 255.255.255.0 up

Comprobamos que, en efecto, tenemos dos nombres para el interfaz eth0, aunque es la misma tarjeta:

# ifconfig | grep eth0
eth0      Link encap:Ethernet  HWaddr 00:07:E9:ED:DC:D5
eth0:0    Link encap:Ethernet  HWaddr 00:07:E9:ED:DC:D5

Sencillo, ¿verdad? La interfaz original es eth0 y su alias es eth0:0, que nos va a permitir trabajar en la red privada que necesitamos. Para eliminar el alias, simplemente hacemos un ifconfig eth0:0 down.

Esto siempre lo he hecho desde Linux, ahora... ¿cómo lo haría con OpenBSD? Esa es la pregunta que necesitaba contestar, aunque es prácticamente igual de fácil :P.

Teniendo en cuenta que en BSD los nombres de los interfaces son según el driver que las maneja, creamos el alias con:

# ifconfig vr0 alias 192.168.100.2 netmask 255.255.255.0 up

He usado la tarjeta de red que va al switch, que funciona con el driver vr(4) (es un intefaz VIA incluída en placa).

En OpenBSD el alias no tiene un nombre especial, simplemente nos referiremos a ella con la palabra alias tras el nombre del interfaz de red:

# ifconfig vr0
vr0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:40:63:d9:7f:38
        media: Ethernet autoselect (100baseTX full-duplex)
        status: active
        inet 192.168.0.50 netmask 0xffffff00 broadcast 192.168.0.255
        inet6 fe80::240:63ff:fed9:7f38%vr0 prefixlen 64 scopeid 0x1
        inet 192.168.100.2 netmask 0xffffff00 broadcast 192.168.100.255

El resultado es el mismo, aunque para eliminar el alias hay que referirse a ella por su dirección IP (y nuevamente con la palabra alias):

# ifconfig vr0 -alias 192.168.100.2 netmask 255.255.255.0

Tampoco era para tanto, pero la curiosidad es lo que tiene. Además dicen que mató al gato, porque el FAQ no está nada claro.

Cuando hacemos el delete que propone para eliminar un alias, parece que no solo eliminamos el alias, sino el interfaz. Y lo he descubierto de la forma más dolorosa, por cierto :D.

Actualización: Ya sé qué pasa con el delete, ojeando la página de ifconfig en current, que está más clara. La opción -alias es un alias (la vamos liando :P) para el famoso delete, y hay que indicar la dirección IP del alias.

Parece ser que yo, al no indicar una IP, me limpiaba la primera dirección, y no la del alias que quería eliminar :D. Además se recomienda usar delete, porque probablemente eliminen el -alias en el futuro.

Anotación por Juan J. Martínez, clasificada en: openbsd, linux.

Hay 3 comentarios

Gravatar

Nunca he trabajado con alias la verdad, pero imagino que la tarjeta de red es capaz de atender a dos redes distintas en tiempo real, como si fueran dos tarjetas de red, ¿me equivoco?.

por r0sk, en 2006-09-26 00:57:22

Gravatar

De eso se trata :)

Lo que me mosquea es lo del delete, porque accedía por SSH empleando ese interfaz y me he quedado en la calle dos veces.

También hay en la página del manual una referencia a ese delete, pero vamos... el efecto no es el deseado (o no he entendido bien lo que dice :P).

por Juanjo, en 2006-09-26 01:04:10

Gravatar

Recomiendo pegar un vistaso a iproute2, que facilita esta y muchas otras tareas y es la tendencia por ser mucho más completo y flexible.

por Des, en 2006-09-26 14:21:51

Los comentarios están cerrados: los comentarios se cierran automáticamente una vez pasados 30 días. Si quieres comentar algo acerca de la anotación, puedes hacerlo por e-mail.

Algunas anotaciones relacionadas: