16 de octubre de 2006

Direcciones MAC Ethernet

Ethernet utiliza la "dirección de hardware", "MAC" "dirección física" o simplemente "dirección Ethernet" para identificar cada puerto dentro de una red LAN y así permitir las comunicaciones desde un dispositivo local hasta otro dispositivo local identificados unívocamente en la red.

Ethernet utiliza direcciones MAC de 48 bits de longitud (6 bytes), expresadas como 12 dígitos hexadecimales:

.......0060.2F .... 3A.07BC
.....OUI ...........
Identificación del fabricante .... Identificación del puerto

El OUI es asignado al fabricante por IEEE. Esta dirección está guardada o "quemada" en la ROM de la placa de red y es copiada a la RAM del dispositivo en el momento en que se inicializa la NIC. Por estar guardada en la ROM también se la denomina Dirección Grabada.

La placa de red utiliza la dirección MAC para identificar las tramas originadas en ese puerto, y para evaluar si la trama recibida debe ser pasada a las capas superiores o no. En una red Ethernet, todos los nodos deben verificar el encabezado de la trama para verificar si deben copiarla o no.

¿Cómo determinar la MAC de mi puerto?
En el caso de terminales o servidores Windows, se puede verificar la dirección MAC de la placa de red utilizando el comando ipconfig /all:

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\>ipconfig /all

Ethernet adapter Local Area Connection:

Connection-specific DNS Suffix: public.com.ar
Description. . . . . . . . . .: Realtek RTL8139/810x
Physical Address. . . . . . . : 00-E0-7D-A9-A3-17
Dhcp Enabled. . . . . . . . . : Yes
Autoconfiguration Enabled . . : Yes
IP Address. . . . . . . . . . : 192.168.1.101
Subnet Mask . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . : 192.168.1.1
DHCP Server . . . . . . . . . : 192.168.1.1
DNS Servers . . . . . . . . . : 204.15.192.29
. . . . . . . . . . . . . . . . 204.15.192.30
Lease Obtained. . . . . . . . : Lunes, 16 de Oct 2006 06:55:05 a.m.
Lease Expires . . . . . . . . : Martes, 17 de Oct 2006 06:55:05 a.m.

La misma información se debe encontrar en la tabla de direcciones MAC del switch, si se verifica el puerto al cual se encuentra conectada esta misma terminal:

Switch#show mac-address-table
. . . . . Mac Address Table
--------------------------------------
Vlan . Mac Address . . .Type . . Ports
---- . ----------- . . .-------- -----
All . .0014.1c40.b080 . STATIC . CPU
All . .0100.0ccc.cccc . STATIC . CPU
All . .0100.0ccc.cccd . STATIC . CPU
All . .0100.0cdd.dddd . STATIC . CPU
.1 . .00e0.7da9.a317 . DYNAMIC .Fa0/14

La dirección MAC de los puertos de los routers Cisco se puede conocer utilizando el comando show interfaces:

Router#show interfaces e0/0
Ethernet0/0
is up, line protocol is up
Hardware is AmdP2, address is 0003.e39b.9220 (bia 0003.e39b.9220)
Internet address is 192.168.1.1/8

La dirección MAC se encuentra en la segunda línea de la salida producto del comando show. La sigla BIA significa Burned In Address: Dirección Quemada.

Cada interfaz Ethernet o Fast Ethernet de los routes tiene su porpia dirección MAC. En algunos casos especiales, como el de los switches, el dispositivo está dotado de un conjunto o pool de direcciones MAC. Esto es lo que observamos como direcciones estáticas al revisar la tabla de direcciones MAC de los switches.

¿Cómo se cambia la dirección MAC?
De suyo, la dirección que se encuentra guardada en la ROM de un puerto no puede ser modificada. Sin embargo, dado que para el proceso de encapsulación los dispositivos utilizan esta información tomándola de la memoria MAC, este dato es plenamente modificable.

Este procedimiento tiene varios usos "lícitos" (también puede ser utilizado con el propósito de obtener accesos no autorizados). Entre ellos, cuando necesitamos enmascarar la dirección MAC de nuestro puerto para permitir el acceso a un puerto o dispositivo que tiene una dirección MAC permitida de modo estático, o cuando es necesario probar funciones de filtrado de direcciones MAC.

En algunos dispositivos esta función se ha denominado "clonación de direcciones MAC".

En Cisco IOS esto se hace utilizando el comando mac-address en el modo configuración de interfaz. He aquí un ejemplo:

Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int e0/0
Router(config-if)#mac-address 0000.0000.0001
Router(config-if)#^Z
RouterB#
RouterB#show int e0/0
Ethernet0/0 is up, line protocol is up
Hardware is AmdP2, address is 0000.0000.0001 (bia 0003.e39b.9220)
Internet address is 192.168.1.1/8

Observe que ahora, al revisar el valor de la dirección MAC utilizando show interfaces, el valor de la dirección MAC y el que aparece entre paréntesis (BIA) son diferentes. El valor que se muestra en primer lugar es el que el dispositivo tiene en su memoria RAM y que utilizará para encapsular las tramas Ethernet salientes. El valor que aparece entre paréntesis como BIA, es la dirección MAC que se mantiene guardada en la ROM del puerto y que volverá a leer cuando sea reiniciado.

Filtrado de tráfico basado en las direcciones MAC
Cisco IOS permite realizar filtrado de tráfico a partir de la dirección MAC contenida en el encabezado de la trama. Esto puede ser implementado por diferentes motivos, como por ejemplo, bloquear el tráfico que tiene origen en una determinada dirección.

Para este propósito se pueden utilizar tanto ACL numeradas como nombradas. Este es un ejemplo utilizando ACL nombradas:

Cat3750(config)#mac access-list ext filtromac
Cat3750(config-ext-macl)#deny host 0000.0000.0001 any
Cat3750(config-ext-macl)#permit any any
Cat3750(config-ext-macl)#exit
Cat3750(config)#int g1/0/4
Cat3750(config-if)#mac access-group filtromac in

En este ejemplo se crea una lista de acceso MAC nombrada extendida que deniega todo el tráfico que tenga como dirección MAC de origen 0000.0000.0001, sin importar la dirección IP

Por todo lo dicho también, es preciso tener presente que este procedimiento no es una medida de seguridad efectiva ya que las direcciones MAC son fácilmente modificables.

Para revisar la configuración de ACL en los Catalyst 3750

¿Tenés alguna información adicional para aportar en este tema....?
Perfecto!!!! agregá un comentario con el detalle.
Muchas gracias.
Oscar Gerometta

23 comentarios:

  1. hola, quisiera hacerle una pregunta, un poco fuera del tema, bueno... se puede saber la mac address conociendo su ip, si lo sabe agamelo saber, gracias por su tiempo

    ResponderEliminar
  2. Tony
    El protocolo ARP es el responsable de descubrir las direcciones MAC a partir de una IP conocida.
    En términos generales, el usuario conoce o puede acceder a la dirección IP del nodo con el cual desea comunicarse. ARP se ocupa de, a partir de esa dirección IP, obtener la dirección MAC del nodo destino de la trama.
    Si nuestra terminal ya ha establecido alguna comunicación con esa dirección IP, podemos ver la dirección MAC en la tabla de dirección MAC de nuestra terminal con el comando arp -a.

    ResponderEliminar
  3. Hola que tal, tengo una duda, tengo varios equipos con diferentes ip pero se le asigna las misma mac address lo cual me esta causando problemas, ya que los equipos pierden conectividad, tendra que ver con al configuracion del switch o router

    ResponderEliminar
  4. Ricardo
    No termino de comprender la situación. En principio la MAC Address el equipo la toma de la placa de red y nadie se la asigna. Por este motivo no debe haber MAC address repetidas.
    Sin embargo, puede estar ocurriendo que por configuración hayan modificado la MAC addres de algunos equipos. En este caso puede ser que tengas varias equipos con la misma dirección MAC, pero entonces habría que ver cuál es el propósito de esta configuración.

    ResponderEliminar
  5. Ok. Mira mi teoria es que le estan haciendo arp-spoofing a la red, la pregunta es a ¿los dispositivos de red, router o switch, se les puede asignar la misma mac a todos los puertos? y admeas en que casos mas generales se hace esto, tengo difernetes ip de diferentes segmentos con la misma mac address, estoy tratando de descartar opciones para encontrar el problema que habia comentado antes los servidores tienen conexion y mando ping durante 15 minutos estan bien luego su mac es sobreescrita y cambia, pero lo que trato de resolver es si es cuestion de los servidores o de los dispositivos de red.

    ResponderEliminar
    Respuestas
    1. hola ok ya mira por lo regular en equipos SISCO se genera una alerta spoofing similar a esta
      Dec 31 09:53:10 MET: %SW_MATM-4-MACFLAP_NOTIF: Host 000a.aaac.007f in vlan 10 is flapping between port Gi0/1 and port Gi0/2

      y existe una erramienta que se se llama ARP watch CON LA CUEL PODRIAS VER ESTE TIPO DE ATAQUES Y QUE NODO LOS GENERA SALUDOS

      Eliminar
  6. La dirección MAC de cualquier puerto puede ser cambiada por configuración.
    Pero esto no es MAC spoofing.
    MAC spoofing es cuando alguien genera tráfico usurpando la dirección MAC de otro.
    Si lo que cambia es la dirección MAC de los servidores, en los servidores, el problema es otro.

    ResponderEliminar
  7. Hola que tal tu pagina es muy interesante.
    Hasta hora voy bien con la explicacion de las mac address, tengo entendido que conforme pasan las tramas o paquetes de una LAN a otra o de Router a Router las la direccion MAC de la trama va cambiando... pero aun no logro comprender como se hace o hasta en cuantas formas puede cambiar la trama de que de pende de las fast ethernet de los routers?? tienes alguna articulo de esto??

    Muchas gracias de antemano

    ResponderEliminar
  8. Es cierto lo que dices.
    Cada vez que un paquete atraviesa un dispositivo de capa 3, se cambia el encabezado de la trama. De ahí que las direcciones MAC tengan relevancia exclusivamente local.
    Ocurre que los dispositivos de capa 3, para acceder a la información del encabezado del paquete (IP por ejemplo), descartan los campos de la trama y quedan solamente con el encabezado del paquete.
    Luego, al copiar la información en el puerto de salida agregan un nuevo encabezado de trama utilizando el formato y la información correspondiente al enlace en el que la está copiando.
    El encabezado de la trama cambia tantas veces cómo se atraviesa un dispositivo de ruteo.
    No hay un post sobre este tema aún, pero veré si puedo agregar algo sobre esto.

    ResponderEliminar
  9. Hola que tal buscando información me encontré con tu log y en verdad se me hace muy interesante, yo soy un tecnico qie instala DVr´s y muy a menudo me encuentro con problemas referente a las MAC. Tengo una duda y espero me puedas ayudar, enlace un DVR a un host que trabaja tomando la MAC delo equipo en cuestión y aparentemente con esto esta actualizando la IP publica que toma al momento de darlo de alta. Pude ver este grabador de video via remota, pero alparecer lo desconectaron por error. Ya fué reconectado, pero ya no lo pueden ver via internet. La pregunta a tanto rollo es: Puedo saber que IP publica tiene una MAC address determinada?

    ResponderEliminar
  10. Ángel
    No termino de comprender lo que quieres hacer.
    La dirección de DVR la debe estar asignando el proveedor del servicio. Si estás del lado del proveedor, eso lo podés verificar en el servidor DHCP.
    Si estás en el equipo, no se si tiene alguna opción que te permita verificar la dirección IP asignada.
    Si estás de modo remoto, lo que ves no es la dirección MAC del DVR ya que la dirección MAC cambia en cada salto de enrutamiento de Internet. En Internet ves la dirección IP de destino, pero la MAC, no es la de destino sino la del próximo salto.

    ResponderEliminar
  11. Agradezco tu tiempo para responder, ya esta resuelto, y si efectivamente no se puede ver la MAC mas que solo en entorno Ethernet,lo que esta fallando es el host que ya no actualizó la dirección IP publica donde esta conectado este DVR. Muchas gracias y recibe saludos cordiales

    ResponderEliminar
  12. Hola que tal

    Tengo una pregunta, se que la mac esta casada con el dispositivo pero estuve estudiando el envió de tramas en packet tracer y me di cuenta de que no participa la mac de la interfaz, entonces, el filtro que hace con las access list como funcionaria si no se envía la mac de la interfaz del switch.....

    Saludos
    R762

    ResponderEliminar
  13. Estimado.
    No sé qué estás haciendo en Packet Tracer y en qué punto estás viendo las tramas.
    Pero, primero: las MACs no identifican dispositivos sino interfaces. Cada interfaz de red tiene asignada una MAC por su fabricante, que debiera ser única, pero que puede ser modificada por configuración.
    Segundo: si se trata de un switch capa 2, esos switches no tienen interfaces, sino puertos. Son lugar de tránsito de tramas, no origen o destino de tramas. Las direcciones MAC que ves en los encabezados de trama corresponden a la interfaz en la cual se originó la trama y la interfaz de destino de la trama. El switch en este punto es sólo responsable del reenvío de la trama.

    ResponderEliminar
  14. Gracias todo claro, lo que pasa es que me confundí con lo que explicabas ya que lo haces con un router no con un switch mm fue mi error pero aun así me aclaro mas el paisaje tu respuesta.

    Saludos
    R762

    ResponderEliminar
  15. Buenas, queria saber como limitar el acceso a internet de los host por medio de su ip y mac, o sea que tengan que coincidir ambas para poder que tenga salida a internet ese host, si no que le niegue el acceso, como podria hacer esto, cuento con un router cisco serie 800 saludos.

    ResponderEliminar
  16. Estimado.
    No termino de comprender cuál es la aplicación en un entorno real que tendría un criterio de filtrado de tráfico como el que definís. ¿Podrías comentarlo?

    ResponderEliminar
  17. Comento a detalle el problema, actualmente tengo un router linksys RV042, pero ha estado fallando, en el tengo dado de alta las ip y mac de las pc's a las cuales se les da el servicio de internet en unos departamentos, este servicio genera un costo extra en la renta, pero de repente las personas ya no quieren el servicio, por lo tal elimino la ip y mac del router, asi si el cliente se conecta y quiere asignarse una ip que este dentro del segmento de red, al no estar ip y mac especificas en el router el servicio es negado y no tiene salida a internet, aun que no lo crean me he topado que muchos conocen sobre el uso de las ip's pero muy pocos sobre las mac. Se que podria bloquear el acceso por rango de ip's pero es comun que se elimine a cada rato una ip del router y esa ip queda libre y si alguien se la asigna tiene acceso a internet, al estar dado de altas ip y mac especificas me he dado cuenta que es mas seguro el acceso, ya que si una ip especifica no coincide con una mac especifica como les menciono se les niega el servicio, espero haberme dado a entender, saludos.

    ResponderEliminar
  18. Bueno. En principio estás pasando de un dispositivo de time home o small office, a uno enterprise que corre IOS, por lo que la operación es completamente diferente.
    Para realizar el filtrado de direcciones que quiere hacer, puedes utilizar ACLs MAC (es un tema que requiere estudio previo). Personalmente optaría en tu caso por permitir solamente las que quieres que accedan de modo que todas las demás estén bloqueadas.

    ResponderEliminar
  19. Hola
    Antes que nada te felicito por el blog.
    Mi duda es la siguiente: tengo un router cisco 831 y me gustaria saber como se puede hacer un bloqueo por mac. Espero tu respuesta attentamente

    Gracias

    ResponderEliminar
  20. Los routers Cisco 800 corren Cisco IOS, por lo que se cuenta con todas las herramientas de IOS, ente ellas, ACLs para filtrado de direcciones MAC, si es eso lo que estás necesitando.
    Pero ten en cuenta que el filtrado de MAC es una herramienta poco efectiva ya que la MAC es clonable.

    ResponderEliminar
  21. Hola oscar tengo una duda con respecto a las direcciones MAC de las interfaces seriales, ¿cual es el uso que se les podría dar?, gracias.

    ResponderEliminar
    Respuestas
    1. César, las direcciones MAC se utilizan en interfaces Ethernet y 802.11. No en interfaces seriales.
      Las tecnologías que se implementan sobre interfaces seriales utilizan diferentes mecanismos de identificación a nivel de capa 2, no direcciones MAC.

      Eliminar

Gracias por tu comentario.
En este blog los comentarios están moderados, por lo que su publicación está pendiente hasta la revisión del mismo.