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

36 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

    ResponderBorrar
  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.

    ResponderBorrar
  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

    ResponderBorrar
  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.

    ResponderBorrar
  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.

    ResponderBorrar
    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

      Borrar
  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.

    ResponderBorrar
  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

    ResponderBorrar
  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.

    ResponderBorrar
  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?

    ResponderBorrar
  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.

    ResponderBorrar
  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

    ResponderBorrar
  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

    ResponderBorrar
  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.

    ResponderBorrar
  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

    ResponderBorrar
  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.

    ResponderBorrar
  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?

    ResponderBorrar
  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.

    ResponderBorrar
  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.

    ResponderBorrar
  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

    ResponderBorrar
  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.

    ResponderBorrar
  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.

    ResponderBorrar
    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.

      Borrar
  22. Hola Oscar.

    Tengo una pregunta que si bien no está meramente dentro de este tema, me gustaría librarme de la duda. es la siguiente:

    Tengo el escenario siguiente:

    En la empresa en la cual laboro tiene varias sucursales. Esas sucursales se conectan a la central por medio de conexiones de datos que la brinda nuestro ISP. Eso se hace para que las computadoras de esas sucursales se puedan conectar a los servidores de aplicaciones en un ambiente de intranet. Las conexiones de esas sucursales llegan a puertos de switches cisco 3560g, en los cuales queremos implementar el filtrado mac, que en ambientes de prueba nos ha resultado a la perfección, pero en ese escenario no resulta, me temo que al permitir conexion para las mac conocidas y denegar al resto estamos tambien denegando las conexiones de los equipos de interconexion de datos del ISP.

    QUe nos puedes sugerir en este ambiente?

    Te agradecería mucho tu respuesta pronta.

    Saludos cordiales,

    ResponderBorrar
    Respuestas
    1. Las direcciones de MAC no se propagan más allá de los límites del dominio de broadcast, ya que los dispositivos de enrutamiento (capa 3) deben cambiar el encabezado de la trama. Por este motivo no son detectables a través de enlaces WAN.
      Habría que revisar cuál es el propósito de la implementación que están haciendo para ver cuál es la herramienta más idónea para responder. Si se trata de seguridad, el filtrado de direcciones MAC ciertamente no es un método efectivo ya que las direcciones MAC son completamente clonables.

      Borrar
    2. Oscar. Agradeciendote por tu respuesta.

      El problema principal es que queremos evitar que se conecten a la red equipos que no son de la empresa (equipos que empleados llevan esporádicamente). EL problema es que en las sucursales remotas no tenemos switches administrables, entonces queriamos hacer el filtrado mac aca en la central para evitar las conexiones de esos equipos "intrusos".

      Por otro lado, es posible hacer que el servidor dhcp de una vlan haga leasing a ciertas MAC conocidas y deniegue el leasing a las demás MAC que son desconocidas. Puedes sugerirme en ese sentido algo?

      Saludos cordiales,

      Borrar
    3. Maxwell
      Como dije antes, las direcciones MAC no viajan a través de la WAN, por lo que no es posible hacer lo que proponés.
      Si van a utilizar autenticación en base a direcciones MAC, esto debe hacerse en el puerto de acceso utilizando algún recurso de los que te brindan los switches Catalyst: port-security, entradas estáticas de MAC o ACLs. Sin embargo, como te dije antes, cifrar la seguridad en esto es totalmente vulnerable pues cualquier puede sin demasiada complicación clonar una MAC legítima e ingresar igualmente a la red.
      Si quieren restringir la posibilidad de conectar dispositivos no autorizados, el camino más sólido es implementar 802.1X y utilizar certificados digitales almacenados en los equipos para hacer la autenticación.
      Sin embargo, esto sigue teniendo su lado flaco pues sólo autentican el dispositivo que se conecta a la red y no el usuario que está utilizando ese dispositivo.

      Borrar
  23. Buenas tardes, tengo una duda, la direccion mac puede cambiar a medida que el paquete es retransmitido por diferentes dispositivos en su camino hacia su destino? , es decir una vez retransmitido, la trama adoptaria la mac origen por ejemplo del ultimo dispositivo que la transmitio.

    ResponderBorrar
    Respuestas
    1. Efectivamente.
      La dirección MAC tiene significado exclusivamente local, dentro del dominio de broadcast, ya que es transportada en el encabezado de la trama; y el encabezado de trama cambia en cada "salto" o dispositivo de capa de red que debe enrutar el paquete hacia el destino.

      Borrar
  24. Buen día,
    Gracias por este blog
    Que comando puedo usar para ver la MAC propia de un router Cisco, (no la mac de cada interfaz)?, la pregunta con el fin de aclarar dudas cuando configuro IPv6 eui-64 en una Loopback

    ResponderBorrar
    Respuestas
    1. El router en sí mismo no tiene una MAC, sino que las direcciones MAC están asignadas a interfaces. Pero las interfaces loopback son interfaces virtuales y no tienen dirección MAC porque no son interfaces que operen en capa 1 y 2, solamente operan en capa 3 y superiores.
      Por este motivo para estas interfaces, cuando implementamos IPv6, el sistema operativo genera una dirección MAC ad hoc de un rango de OUI específico que asegura que no habrá conflicto con otras MACs.

      Borrar
  25. Hola una pregunta como puedo recuperar la dirección MAC en redes WAN

    ResponderBorrar
    Respuestas
    1. Que un puerto sea LAN o WAN depende principalmente de su uso, no de la tecnología. Por lo tanto, las redes WAN pueden o no utilizar direcciones MAC en sus puertos físicos, dependiendo de la tecnología de que se trate.
      En términos generales, la dirección física del puerto (puede o no ser una MAC) se puede visualizar con los comandos de visualización de las propiedades del puerto como show interfaces.

      Borrar
  26. buenos dias, es posible acceder a un switch avaya y como seria el comando desde una direccion loopback configurada en un cisco 881?? desde fuera de la red (via internet) ya que he visto configuraciones de loopback que apuntan a administracion de los mismos, cuando por ejemplo se cae la interface de VTY.

    gracias

    ResponderBorrar
    Respuestas
    1. Mario.
      En tu consulta hay varios puntos poco claros.
      1. Las interfaces VTY son interfaces virtuales y por lo tanto son operativas en tanto esté encendido el dispositivo al que pertenecen. Si una interfaz VTY se cae, es porque el dispositivo se apagó o reinició.
      2. Si desde Internet intentas acceder a una red corporativa, lo más probable es que no puedas hacerlo a menos que se haya previsto un acceso específico ya que seguramente la red corporativa implementa NAT.
      3. Su pongo que quieres acceder por Telnet o SSH al switch en cuestión. Para eso no importa desde qué dirección quieres hacerlo (no es una dirección de loopback, sino seguramente un interfaz loopback), sino que Telnet o SSH se encuentre activo en el switch al que quieres acceder.

      Borrar

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.