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