You are on page 1of 22

Ejercicios fciles de subredes con VLSM

[Curso intensivo de preparacin para el examen de certificacin 640-802 (CCNA)] (Inicio: Al completar el cupo por meses en 2011, Pereira (Colombia)) Es increble lo popular que es el tema de la divisin en subredes (o subneteo como algunos lo llaman muy coloquialmente o subnetting como se dira correctamente en ingls), en especial VLSM, seguramente por la dificultad que representa empezar con l. Dada esta premisa y que la maestra slo se logra con ejercicios y prctica, decid documentar en ste Blog algunos de los ejercicios que le puse a mis estudiantes de Comunicaciones en el primer examen parcial del semestre (2 del 2008), espero que les resulte til y que hagan los otros ejercicios propuestos.Estos son ejercicios de dificultad baja, aumentar la dificultad en futuras entradas usando subredes de mayores tamaos con redes base de gran tamao (por ejemplo una clase B o una clase A) . Por lo pronto describir un ejercicio y su solucin, al final de la entrada dejar otro ejercicio y su solucin para descargar en archivos independientes. El problema Dada la red 192.168.0.0/24, desarrolle un esquema de direccionamiento que cumpla con los siguientes requerimientos. Use VLSM, es decir, optimice el espacio de direccionamiento tanto como sea posible. 1. 2. 3. 4. Una subred de 20 hosts para ser asignada a la VLAN de Profesores Una subred de 80 hosts para ser asignada a la VLAN de Estudiantes Una subred de 20 hosts para ser asignada a la VLAN de Invitados Tres subredes de 2 hosts para ser asignada a los enlaces entre enrutadores.

Solucin Ordeno las subredes en orden decreciente: 80, 20, 20, 2, 2, 2. Para 80 hosts necesito 7 bits (2^7=128, menos red y broadcast 126 hosts mx.), por lo tanto el prefijo de subred del primer bloque sera /25 (8-7=1; 24+1=25) Tomando la subred cero, la primera direccin de subred sera 192.168.0.0/25, broadcast 192.168.0.127, por lo tanto el rango asignable sera .1 hasta .126. Para 20 hosts necesito 5 bits (2^5=32, es decir 30 hosts mx.). Prefijo: /27 (8-5=3, 24+3=27); Dir. de red: 192.168.0.128/27, broadcast 192.168.0.159. Rango asignable .129-.158. La siguiente subred es del mismo tamao y el prefijo es el mismo. Dir. de red: 192.168.0.160/27 , broadcast 192.168.0.191, rango .161-.190. Los enlaces entre enrutadores slo necesitan 2 bits (2^2=4, es decir 2 hosts mx) por lo tanto el prefijo debe ser /30 (8-2=6, 24+6=30). Dir. de enlace 1: 192.168.0.192, dir. de broadcast en enlace 1: 192.168.0.195, rango .193-.194. Dir. enlace 2: 192.168.0.196/30, broadcast en enlace 2: 192.168.0.199, rango .197-.198. Dir. enlace 3: 192.168.0.200/30, broadcast enlace 3: 192.168.0.203, rango: .201-.202.

El esquema resultado es: Red Dir Broadcast Rango Mscara 255.255.255.128

Estudiantes(80) 192.168.0.0/25 Invitados(20) Enlace 1(2) Enlace 2(2) Enlace 3(2)

192.168.0.127 .1-.126

Profesores(20) 192.168.0.128/27 192.168.0.159 .129-158 255.255.255.224 192.168.0.160/27 192.168.0.191 .161-190 255.255.255.224 192.168.0.192/30 192.168.0.195 .193-194 255.255.255.252 192.168.0.196/30 192.168.0.199 .197-198 255.255.255.252 192.168.0.200/30 192.168.0.203 .201-202 255.255.255.252

Se puede observar que los rangos de direcciones asignados son contnuos y que queda disponible para crecimiento futuro un rango de direcciones desde 204 en adelante. Referencias
Si ud. no comprende qu significa o de dnde salieron los clculos del ejercicio, por favor lea estas otras entradas anteriores de mi blog en las que se habla de varios aspectos del direccionamiento y se explica lo que es un esquema de direccionamiento y cmo disearlos. Las ltimas dos entradas hablan de qu son clases de direcciones, direcciones privadas y el funcionamiento del direccionamiento en casos concretos de conexiones punto a punto (slo dos PCs).

Ejercicios difciles de VLSM


[Curso intensivo de preparacin para el examen de certificacin 640-802 (CCNA)] (Inicio: Completando cupo por meses en 2011, Pereira -Colombia) Hace unos das escrib una entrada con ejercicios de VLSM calificados como fciles. Esos ejercicios eran fciles porque la divisin en subredes comprenda slo el ltimo octeto y en ese sentido los nmeros decimales eran pequeos y la numeracin de las subredes era en saltos predecibles y fciles de entender. Ahora vamos a repetir el ejercicio pero haciendolo a travs de varios octetos para aumentar la dificultad, aunque como van a ver, lo de difcil es un decir porque, siendo sistemticos, la divisin en subredes o subneteo (hachazo al espaol derivado del correcto subnetting en ingls) es bastante clara incluso en stos casos. Antes de comenzar los invito a revisar las entradas anteriores sobre el tema de las subredes: Ejercicios fciles de subredes con VLSM, Cmo se disean redes con mscara de subred variable?. En stas entradas describo la idea y los fundamentos en caso de que el lector no los tenga suficientemente claros . Ahora s comencemos. El problema Dada la siguiente direccin de red: 172.25.0.0/16, dividala en subredes de las siguientes capacidades:

y y y y y y

2 subredes de 1000 hosts 2000 hosts 5 hosts 60 hosts 70 hosts 15 enlaces de 2 hosts por enlace

El potencial ideal de la red base sera 2^16-2, es decir 65534 hosts si no usamos subredes, osea que debemos esperar que esa capacidad potencial no se desperdicie mucho, en especial si usamos VLSM. Lo anterior nos permite saber que los requerimientos aparentes (4165 hosts) caben de sobra en la red base. Procedimiento Vamos a ordenar las subredes decrecientemente para asegurar que el direccionamiento no quede fraccionado. 1. 2. 3. 4. 5. 6. 7. Subred de 2000 Hosts Subred de 1000 Hosts Subred de 1000 Hosts Subred de 70 Hosts Subred de 60 Hosts Subred de 5 Hosts 15 subredes de 2 Hosts

Una vez ordenados los requerimientos, procedemos a operar la divisin en subredes como si fueramos a usar subredes de mscara fija para la subred actual y la siguiente. Es decir, hacemos los clculos para una subred y dejamos indicada cul sera la siguiente subred, slo que, como usamos mscara variable sabemos que las siguiente subred puede o no tener la misma mscara (usualmente la tendr ms larga). Anlisis del procedimiento para la primera subred Para la primera subred necesitamos 11 bits (2^11=2048-2=2046 hosts, 10 bits no son suficientes ya que slo alcanzara para 1024). Como tenemos 16 bits originales para hosts, tomamos stos 11 bits de la parte de host y dejamos el resto para subred, es decir, 5 bits para subred (adicionales a la mscara de red original). 172.25.{SSSSSHHH.HHHHHHHH},donde S es bit de subred y H es bit de host Nuestra primera red es 172.25.0.0/21 y la siguiente sera 172.25.8.0/21 (como si aplicaramos mscara fija). La siguiente red con la misma mscara es importante, debido a que a partir de sa es que tomamos las siguientes subredes, sta nos marca el final de la subred asignada y el comienzo del espacio libre. De la direccin y mscara de la primera subred se deducen los otros datos importantes: broadcast y rango asignable. Ya sabemos que la direccin de subred es aquella que tiene todos los bits de host en cero y los bits de host son aquella porcin de la direccin de red que se corresponden con los ceros de la mscara de red, es decir, para nuestra 1a subred la mscara es 255.255.248.0 o /21, por lo tanto la direccin 172.25.0.0 es una dir. de subred ya que los bits que en la mscara son cero tambin son cero en la direccin de red. La direccin de broadcast es aquella en la que los bits de hosts son todos 1, es decir, para la primera subred la direccin de broadcast es 172.25.7.255, ya que en sta

direccin, los bits que en la mscara son ceros, en la direccin de broadcast son unos. Y el resto de direcciones entre la dir de red y la dir de broadcast son asignables, es decir de 172.25.0.1 hasta 172.25.7.254. Tenga en cuenta que en estas direcciones hay algunas que pueden engaar como las 15 direcciones que terminan en 255 (por ejemplo 172.25.5.255), esas direcciones, aunque tengan el ltimo octeto en 255 no son de broadcast, ya que la mscara /21 nos dice que la porcin de host incluye bits del tercer octeto (.5), por lo tanto no todos los bits de host son unos y por lo tanto no es una direccin de broadcast. Lo mismo ocurre con otras tantas direcciones que terminarn en 0 pero que no son de subred por la misma (similar) razn por la que la anterior no era de broadcast. El procedimiento para las dems es igual, pero con menos anlisis Todo lo que hay que explicar y racionalizar en ste difcil problema de subredes est dicho en la seccin anterior, digamos que los principios estn descritos. Lo que haremos de ac en adelante es repetir esta mecnica, ya que entendemos la justificacin de la misma, por lo tanto, asegrese de entender lo que indica el prrafo anterior y la justificacin de la primera subred. La segunda subred es de 1000 hosts, por lo tanto necesito 10 bits (2^10=1024 menos dir. de red y de broadcast = 1022 hosts mximo). stos los tomo de la parte de host, quedando as 6 bits de subred. Del clculo de la subred anterior sabemos que la siguiente sera la 172.25.8.0/21, osea que a partir del clculo de la subred anterior tomamos la siguiente subred (la actual) pero con una mscara ms larga (/22) dado que necesitamos menos capacidad. De sto se desprenden los otros dos nmeros, la dir. de broadcast es 172.25.11.255/22 y las direcciones despus de la de red y antes de la de broadcast son asignables (172.25.8.1 hasta 172.25.11.254). Como del clculo de sta subred vamos a tomar la siguiente, de una vez digamos cual sera la siguiente subred sin cambiar la mscara: 172.25.12.0/22. La tercera subred es tambin de 1000 hosts, por lo que no cambia la mscara y del ejercicio anterior ya tenemos la direccin de subred: 172.25.12.0/22. La dir de broadcast es entonces 172.25.15.255/22 y las direcciones asignables 172.25.12.1/22 hasta 172.25.15.254/22). La siguiente subred con la misma mscara sera 172.25.16.0/22. La cuarta subred es de 70 hosts, para los que necesito 7 bits (2^7=128 menos broadcast y subred 126 hosts mx), que tomo de la parte ms baja de la porcin de host lo que me deja 9 bits de lo que tena originalmente en host (16 bits), por lo tanto la mscara de subred queda en /25. La dir. de red es 172.25.16.0/25, la dir de broadcast es 172.25.16.127/25 y las direcciones asignables desde 172.25.16.1/25 hasta 172.25.16.126/25. La siguiente subred sera 172.25.16.128/25 La quinta subred es de 60 hosts, necesito 6 bits (2^6=64-2=62 hosts mximo) y de ah que la mscara de subred sea /26. La dir de red es 172.25.16.128/26, la dir de broadcast es 172.25.16.191/26 y las direcciones asignables son 172.25.16.129/26 hasta 172.25.16.190/26. La siguiente subred sera 172.25.16.192/26 La siguente subred es de 5 hosts por lo tanto la mscara ser /29 (haga el clculo). La dir. de subred es 172.25.16.192/29, la dir. de broadcast es 172.25.16.199/29 y las direcciones asignables de 172.25.16.193/29 hasta 172.25.16.198/29 (inclusive). La siguiente subred sera 172.25.16.200/29 Las ltimas son las subredes de enlaces WAN que slo admiten dos hosts, por lo tanto necesito slo 2 bits de host y sin hacer ms clculos tengo que la mscara es /30 (de todos modos para enlaces punto a punto, usualmente WAN, siempre se usa sta mscara). Las direcciones de subred seran 172.25.16.200/30, 172.25.16.204/30, .16.208/30, 16.212/30, 16.216/30, 16.220/30, 16.224/30, 16.228/30, 16.232/30, 16.236/30, 16.240/30, 16.244/30, 16.248/30, 16.252/30,

17.0/30. Por favor deduzcan uds. las direcciones asignables y las direcciones de broadcast de cada una de stas subredes de enlaces punto a punto. Note que la ltima direccin rompi el lmite del octeto y pas de la .16.252 a la .17.0. Note que el ejercicio esta cuidadosamente planeado para romper los lmites de octeto que tanto malacostumbran a los estudiantes y para incluir direcciones en los rangos de asignacin que pueden engaar como aquellas direcciones de hosts que tienen 0 255 en su ltimo octeto. Note tambin que a pesar de haber usado tantas direcciones y tantas subredes, todava queda un rango gigantesco por asignar, todas las direcciones por encima de 172.25.17.0 en adelante siguen libres. Y finalmente tambin note mi insistencia en siempre escribir la mscara de subred, que es en efecto el criterio que define qu tipo de direccin es una direccin IP (de red, de broadcast o de host) y adems que es la que le permite a un PC o nodo de red determinar cmo encapsular un paquete (si con la dir fsica del enrutador o con la dir fsica del par -del otro PC-). Para entender cmo se encapsula el paquete, lea Cmo cambian los paquetes por la red?. Conclusiones y recomendaciones Este ejercicio es un poco ms complejo que el anterior, ya que pasa los lmites de los octetos y ya en esos casos la numeracin se hace truculenta y engaosa, adems, se acostumbra hacer clculos en decimal y en estos casos el decimal no ayuda mucho (si no se tiene mucho entrenamiento en eso). Esta tcnica de asignacin de direcciones se debe acompaar con una cuidadosa distribucin de las subredes en los enrutadores, de tal manera que a un enrutador le toquen subredes de rangos consecutivos para facilitar la sumarizacin y mejorar el desempeo del enrutamiento. Un esquema de direccionamiento queda completo slo cuando se presenta una tabla con todos los datos en ella como la tabla que se puede ver al final de la entrada anterior. En sta entrada ese trabajo les queda a los lectores para que se les hagan evidentes los patrones decimales en la asignacin de las subredes y para que reflexionen sobre las observaciones que hice en el texto.

Cmo funcionan las ACL en Cisco? I: Conceptos


Hace rato que estoy prometiendo una entrada sobre ACLs y tambin durante las ltimas semanas he escrito sobre cosas no relacionadas con la tecnologa que nos atae: Cisco y Redes. Pues aqu les va la explicacin sobre cmo entender las ACLs en Cisco. NOTA: Finalmente, escrib 5 entradas completas sobre ACLs a manera de Tutorial, se las recomiendo.

Introduccin Antes que nada, y en caso de que algn lector no sepa (o no recuerde) qu significa ACL, ste es una sigla que traduce lista de control de acceso -Access Control Lists en ingls- y es un mtodo popular en redes para controlar qu nodos de la red tienen qu permisos sobre el sistema que implementa las ACLs. En Cisco, las ACLs son un mecanismo genrico para clasificar conjuntos de direcciones o flujos de datos, en so yo siempre hago mucho nfasis, porque las ACLs en CCNA se ven como un mecanismo

de seguridad, pero se dan visos de lo que realmente son: un mecanismo para clasificar direcciones y flujos de datos. Un sistema de red, como Squid por ejemplo, es un sistema que hace algo con el trfico que entra y sale de l. Las ACLs interceptan el trfico y, para cada paquete, se comparan sus valores particulares con valores predefinidos por el administrador en la Lista y, con base en ese condicionamiento, se le aplica a los paquetes alguna accin segn lo que quiera el administrador que suceda. La dinmica compleja de las ACLs es el hecho de imaginar un slo paquete y llevarlo a una secuencia de paquetes mezclada. El hecho es que cuando en una ACL especificamos los valores que queremos comparar, realmente estamos aplicando eso a cada paquete dentro de un flujo particular de paquetes, as para disearla nos imaginemos slo un paquete. Para qu sirven las ACLs en Cisco? En el currculo de CCNA, las ACLs se usan para aplicar una poltica de seguridad que permite o niega el acceso de cierta parte de la red a otra. La granularidad de las ACLs permite que estas partes sean o bien PC especficos o partes de una subred arbitrariamente, es decir, permite que se conceda o niegue el acceso desde un nico PC hasta otro, de un segmento de red a otro o cualquier combinacin que se quiera. En Cisco en general, las ACLs sirven para clasificar conjuntos de direcciones, por ejemplo una subred o una parte de una subred. Pero ms all de eso la palabra importante es arbitrariamente, porque las reglas de ACLs permiten cosas tan particulares como seleccionar los PCs que tengan direcciones IP con el ltimo octeto en nmero impar (sin importar a qu subredes pertenecen). sta caracterstica hace que Cisco utilice ACLs en cualquier parte en la que se deba especificar un conjunto de direcciones o un flujo de datos, por ejemplo, en NAT se especifican las direcciones privadas o internas creando una ACL que permite las direcciones a traducir. Si se quiere filtrar o alterar la forma en que un protocolo de enrutamiento arma sus actualizaciones se usan listas de acceso (route-map) , si se quiere alterar la forma en que trabaja la tabla de enrutamiento se usan listas de acceso (policy-based routing), si se quiere especificar qu direcciones pasan por una VPN se usan ACLs, etc. (IPSec). Como se ve, las ACLs son mucho ms que un mecanismo de seguridad y por eso es un tema muy importante si se quiere hacer carrera en las certificaciones de Cisco o tener un buen desempeo en enrutamiento y conmutacin Cisco. Cmo es una ACL? Las ACLs, como ya coment, son la especificacin de una accin a realizar sobre paquetes que cumplan ciertas condiciones. Una ACL es un conjunto de reglas identificadas con un nmero o un nombre y cada regla especifica una accin y una condicin, las acciones a aplicar son permitir o denegar todos los paquetes que cumplan la condicin asociada a la regla. Una ACL se identifica con un nmero o un nombre y todas las reglas que tengan el mismo nmero/nombre hacen parte de la ACL, stos identificadores suelen indicar tambin qu tanta expresividad tendr la ACL, es decir, qu tan especficas pueden ser las reglas.

Un ejemplo de cmo es conceptualmente una ACL es as


y y y

Lista-de-acceso X ACCION1 CONDICION1 Lista-de-acceso X ACCION2 CONDICION2 Lista-de-acceso X ACCION3 CONDICION3

La X es el nombre o nmero que identifica la ACL, por lo tanto todas las reglas anteriores componen la ACL X, una sola ACL. Si cierto paquete cumple la condicin1 se le aplica la Accin1, si un paquete cumple la condicin 2 se le aplica la accin 2 y as sucesivamente. Las acciones son slo permitir o denegar y las condiciones dependen del tipo de ACL, las ms simples, las estndar especifican valores para comparar con la direccin IP origen de cada paquete, en las ms expresivas, llamadas extendidas, las condiciones permiten especificar valores para comparar tanto con la direccin IP origen como con la IP destino e incluso protocolos de capa 4 y parmetros de capa 4 como puertos y banderas de la conexin TCP. La lgica de funcionamiento de las ACLs es que una vez que se cumpla una condicin, se aplica su accin correspondiente y no se examinan ms reglas de la ACL. sto para disminur la cantidad de procesamiento del enrutador, pero tambin tiene una consecuencia, si una regla abarca un conjunto de direcciones y otra un subconjunto del primero, la regla de subconjunto debe estar antes de la regla del conjunto completo. Por ejemplo, si yo especifico en una regla denegar el acceso a un host de cierta subred y en otra permitir toda la subred, la ACL dira permita el acceso a todos los hosts de la subred X menos al host Y. Si la ACL se escribe con la regla de la subred antes que la regla del host, la ACL permitira incluso al host, porque la regla de host cumplira tambin la regla de la subred y la regla del host nunca se examinara. En otras palabras, las reglas ms especficas deben estar al principio de la ACL para evitar que las reglas genererales se apliquen siempre y nunca se examinen las especficas. Finalmente todas las ACLs terminan, implcitamente, con una regla No permitir nada ms. Condicin = ValorDeReferencia BitsAComparar, donde ValorDeReferencia tiene el formato de direccin IP y BitsAComparar es una mscara wildcard. La condicin entonces es un valor que el administrador va a escribir arbitrariamente con el fin de aplicar la accin a los paquetes que la cumplan. La condicin en ACLs estndar consiste en una direccin de referencia y una mscara wildcard que indica qu bits de la direccin origen de los paquetes comparar con la direccin de referencia que indic el administrador. Por ejemplo: si yo en mi red tengo una subred de direccin 192.168.1.0/26, para indicar el trfico que provenga de todos los hosts de esa subred se escribira la condicin 192.168.1.0 0.0.0.63, la direccin es una direccin de referencia y no se puede entender sin la wildcard porque sta dice qu bits se van a comparar. Cada bit en cero en la WC hace comparar el bit correspondiente en la dir. IP origen de los paquetes interceptados con la direccin de referencia escrita por el administrador. Si yo quisiera aplicar una accin slo a los hosts de direccin impar de esta misma subred escribira la condicin 192.168.1.1 0.0.0.62, note que traduciendo el ltimo octeto de la WC a binario 62 = 01111110, el cero al final le indica al enrutador que compare el ltimo bit de la direccin de referencia con el ltimo bit de cada

paquete interceptado, por lo tanto, como sabemos que todo nmero impar en binario tiene que tener el ltimo bit en 1, la condicin se cumple para cada paquete que tenga los primeros 3 octetos y el ltimo bit iguales a la direccin de referencia, es decir, toda direccin IP de la forma 192.168.1.[impar], con el ltimo octeto en binario as 0 X X X X X X 1, donde X es un bit cualquiera, porque un 1 en la WC significa no comparar el bit con la direccin de referencia. Si no lo comprende, traduzca los nmeros impares menores que 63 a binario y ver el patrn. Por ejemplo 9 = 00001001, una direccin 192.168.1.9 cumple la condicin pero 192.168.1.8 no la cumple, porque 8 = 00001000 y el ltimo bit no es 1, no todos los bits de la direccin IP origen de ste paquete particular coinciden con la direccin de referencia, el ltimo no coincide. Note tambin que si yo pusiera una condicin 0.0.0.1 255.255.255.254, eso significara que sin importar la red de la que provenga el paquete (la WC indica no comparar los primeros 31 bits, o en otras palabras, no importa qu tenga ni la direccin de referencia ni la direccin origen de los paquetes en los primeros 31 bits), la accin se aplicara a los paquetes cuyo origen sea una direccin impar (las que tienen el ltimo bit en 1). Ser que con eso puede usted deducir qu condicin se aplicara a los paquetes que provengan de direcciones IP con el ltimo octeto en valor par? (Por favor no lo deje en un comentario). Cmo aplicar las ACL? Finalmente, dado que entendemos la lgica fundamental de las ACLs, debemos mirar un ltimo aspecto conceptual: cmo se aplican?. La idea es que el trfico de red circula en dos sentidos y en ambos sentidos los patrones de direccin IP origen y destino se intercambian, por lo tanto y como las ACLs se aplican a una interfaz en particular, es necesario tener en cuenta en qu sentido se aplica, porque en un sentido las reglas aplican y en otro sentido no aplicarn porque las direcciones origen no sern las mimas. Es decir, si dos PCs estn transfiriendo un archivo, hay dos flujos de datos, uno del PC1 al PC2 en el que la direccin IP origen de todos los paquetes en ese sentido tienen la direccin Ip del PC1 pero el trfico de retorno tendr como direccin IP origen la del PC2. Lo anterior nos indica que si diseamos una ACL que en una de sus reglas aplica una accin a la direccin del PC1, hay que aplicarla en una interfaz en el sentido en el que ese flujo de datos provenga del PC1. El sentido del flujo se entiende como de entrada o salida del enrutador por la interfaz, es decir, si el trfico sale del enrutador por la interfaz especfica o el trfico entra al enrutador por esa interfaz. Supongamos que el PC1 tiene la direccin 172.17.20.20/24, el PC2 tiene la direccin 192.168.200.200/24 y nuestro enrutador es el Gateway del PC1 por la interfaz Fastethernet 0/0. Si el flujo de datos hacia el PC2, sale por una interfaz serial digamos la serial 0/0, en qu interfaz y en qu sentido los paquetes de este flujo tienen como direccin IP origen la direccin IP del PC1? Si la ACL va a ser aplicada en la Fa 0/0, el flujo de datos de PC1 a PC2 entrando a Fa 0/0 tiene como direccin origen PC1, en la direccin de salida el origen es PC2 y la regla no aplicara. En la interfaz serial, el flujo de datos entrante tendra como origen PC2 y de salida tendra como origen PC1. Dado lo anterior, si yo diseo una ACL con una regla que diga permitir 172.17.20.20 0.0.0.0, sta regla slo encontrara paquetes coincidentes en la interfaz fa 0/0 si la aplico de entrada y en la interfaz serial 0/0 si la aplico de salida.

Cmo funcionan las ACLs? II: ACLs estndar


Esta entrada es la continuacin de Cmo funcionan las ACLs? I: Conceptos, en la que explico los conceptos bsicos de Listas de Acceso en dispositivos Cisco. Ahora es el turno de las ACLs ms bsicas: las ACL estndar. En esta entrada explico qu son ACL estndar, cmo se configuran y qu consideraciones especiales hay que tener con su instalacin. NOTA: Finalmente, escrib 5 entradas completas sobre ACLs a manera de Tutorial, se las recomiendo.

Qu son ACLs? Antes de empezar les recuerdo que sta es la continuacin de la entrada Qu son ACLs? I: Conceptos. Sin embargo, les voy a hacer un breve resumen sobre el asunto. ste resumen no reemplaza la lectura de la entrada anterior. Las ACLs son un mecanismo que usan diversos dispositivos y aplicaciones para filtrar o clasificar el trfico que interceptan. En Cisco las ACLs se usan en muchos contextos, en CCNA se usan como mecanismo de seguridad para filtrar selectivamente trfico que cruza por el enrutador. Una ACL es un conjunto de reglas contra las que se compara cada paquete que cruce una interfaz en la que se instal la lista de acceso. Cada paquete se compara contra las reglas una por una empezando por la primera y continuando con las siguientes. Slo si el paquete no corresponde a lo que indica una regla se contina con las siguientes, una vez que el paquete se corresponde con una de las reglas de la ACL, se le aplica la accin asociada a la regla y no se compara el paquete con ninguna otra regla. Las ACLs entonces son reglas, una por lnea, que se identifican con un nmero o una palabra y que identifican flujos de datos o conjuntos de direcciones. Cada regla hace uso de una direccin de referencia y una mscara wildcard que condicionan la accin a ejecutar sobre un paquete en cuestin. La condicin consiste en que los paquetes coincidan con la direccin de referencia en los bits que la mscara wildcard tenga en cero, por lo tanto si una wildcard es 0.0.0.0 significa que todos los bits de la direccin origen o destino de un paquete que cruce la interfaz por la que est instalada la ACL se comparar bit a bit con la direccin de referencia, de esa manera yo especifico una direccin completa de host. La dificultad de disear e instalar ACLs radica en la dificultad de concebir los patrones de trfico como un conjunto de paquetes heterogneos que pasan por una interfaz en una direccin en particular. Qu es una ACL estndar (Standard ACLs)? Dentro de las ACL ms comunes estn las ACL estndar y las ACL extendidas, diferenciadas entre s por su granularidad: las extendidas permiten ms detalles de filtrado, ambos tipos de listas se pueden numerar o nombrar. Dentro de las menos comunes estn las que CCNA Exploration llama complejas: ligadas a rangos de tiempo, reflexivas y dinmicas. Las ms simples en todo sentido son las ACLs estndar, que

permiten defnir trfico con base en las direcciones IP de origen de los paquetes que correspondan con las reglas de la ACL. Las ACL estndar entonces especifican un slo par direccin de referencia/wildcard contra el que se comparan todos los paquetes que entren o salgan de la interfaz en la que se instale la ACL, en otras palabras, una ACL estndar filtra trfico con base en la direccin IP origen de los paquetes. Estas ACL se crean en modo de configuracin global con el comando access-list seguido de un nmero de 1 a 99 o de 1300 a 1999, stos rangos identifican que el tipo de ACL es estndar, otros rangos identifican ACLs extendidas (100 a 199 y 2000 a 2699). Cada regla debe tener el mismo nmero para pertenecer a la misma ACL, si el nmero cambia, la regla en particular pertenecer a otra ACL. Luego de Access-list <nmero> sigue la accin a ejecutar (permit o deny) y finalmente la condicin que deben cumplir los paquetes para aplicarles la accin o continuar examinando ms reglas. Las ACL estndar usan un slo par direccin/wildcard para especificar la condicin que deben cumplir los paquetes para que se les aplique la accin permit o deny. La condicin examina la direccin IP origen de cada paquete y la compara con el par direccin/wildcard pero slo en los bits en los que la wildcard tenga ceros. Cmo se configuran ACL estndar? Los pasos generales para configurar ACLs son 3:
1. Crear la ACL en modo de configuracin global 2. Aplicar la ACL en una interfaz indicando la direccin del trfico al que se le va a aplicar 3. Verificar su funcionamiento

La creacin de la ACL consiste en crear una secuencia de reglas con un mismo identificador, cuyo orden filtre el trfico segn los objetivos. Cada regla tiene la forma access-list <n> [ permit | deny ] <referencia1> <wildcard1>, donde n es el nmero que identifica la ACL (0 a 99 1300 a 1999 para ACLs estndar) y referenciaN/wildcardN son los pares con los que se compararn los paquetes para aplicarles la accin . Entonces una ACL tiene la forma:
y y

access-list <n> permit <referencia1> <wildcard1> access-list <n> deny <referencia2> <wildcard2>

Como todas las reglas coinciden en el nmero (n), la ACL est compuesta por todas las reglas listadas. Para simplificar, puse permit y deny pero en las reglas se puede elegir cualquiera de las dos segn los objetivos perseguidos. Todas las ACLs terminan implcitamente en una regla deny any, es decir, al final de la lista, cualquier paquete que no haya correspondido con ninguna regla se va a descartar por defecto. Para aplicar una ACL, sta ya debe estar creada. Las listas de acceso se aplican en una interfaz, por lo tanto hay que ingresar en modo de interfaz y el comando tiene la forma ip access-group <n> [in | out] donde n es el nmero comn a todas las reglas de la ACL y las palabras in/out indican en qu sentido se aplicarn las reglas y sto tiene importantes implicaciones: el trfico en una direccin tiene ciertas direcciones IP origen pero en la otra direccin stas mismas direcciones sern IP destino.

y y

interface serial 0/0 ip access-group <n> [in|out]

Finalmente verificar la ACL se hace con varios comandos, uno es show access-list, que muestra todas las listas de acceso activas y cuntos paquetes han correspondido (match) con cada regla. El comando que muestra si una interfaz tiene una ACL aplicada y en qu direccin es show ip interface, este comando muestra mucha informacin, por la mitad de toda esa informacin dice inbound ACL Outbound ACL.
y y

show access-list show ip interface serial 0/0

Qu consideraciones hay que tener para instalar ACLs? Denegacin por defecto y Log La primera consideracin importante es tener en cuenta siempre que las listas de acceso terminan en denegacin por defecto, por lo tanto, si una ACL slo tiene reglas de denegacin lo nico que logra es denegar TODO el trfico. Una ACL debe tener siempre por lo menos una regla de permitir. Algunos administradores prefieren poner una regla final, sea deny any o permit any de manera explcita para poder ver con show access-list cuntos paquetes se han filtrado por la ltima regla o mejor, cuntos paquetes no han correspondido con ninguna otra regla. Otros administradores usan la lista de acceso para recolectar informacin sobre el trfico de la red, combinando reglas que terminan con la palabra log que hace que la ACL genere entradas de registro como si fueran mensajes del sistema. Combinar reglas permit con log hace que la acl evidencie algn trfico que se necesita saber cmo se est comportando. Orden de verificacin: Reglas especficas y generales Como cada regla se verifica en secuencia comenzando por la primera, si una regla es general, es decir, abarca ms direcciones o flujos de datos que otra, sta regla debera ir despus de las ms especficas. Para ilustrar sto, observe el siguiente ejemplo: yo quiero bloquear un host de la red 192.168.1.0/24 pero permitir el resto de esta red, necesito dos reglas: permitir la red y denegar el host, como la regla para la red es ms general e incluye el host mismo, ponerla de primera va a tener como efecto que nunca se mire la regla que dice denegar el host, porque siempre aplicar la primera y no se verificarn ms reglas, permitiendo al host transmitir informacin cuando el objetivo era denegar precisamente ese host. La regla se debera escribir de la siguiente manera:
y y

access-list 1 deny 192.168.1.1 0.0.0.0 access-list 1 permit 192.168.1.0 0.0.0.255

La anterior ACL tiene como resultado, cuando se aplica a una interfaz, que slo el trfico perteneciente a la red 192.168.1.0, excepto el host 192.168.1.1, puede salir por la interfaz en la que se aplique. Lo anterior siempre y cuando, el trfico tenga como orgenes stas direcciones.

Trfico con orgen en el enrutador Finalmente, cierto trfico proveniente del enrutador no pasa por las listas de acceso, por ejemplo, el acceso a VTY (telnet/ssh) al enrutador no es examinado por las ACL, por lo tanto hay que poner una regla especial para este trfico. La regla se llama access-group <n> y debe ser ACL estndar. Una regla de este tipo limita el acceso por telnet al enrutador slo a los hosts que correspondan a la lista especificada.

Cmo funcionan las ACLs? III: ACLs extendidas


Despus de revisar los conceptos de las Listas de Control de Acceso (ACL) y las ACLs estndar, lleg la hora de examinar el funcionamiento de las ACL extendidas y su configuracin. NOTA: Finalmente, escrib 5 entradas completas sobre ACLs a manera de Tutorial, se las recomiendo.

Caractersticas de las ACL estndar: poca granularidad Antes de comentar las cualidades de las ACL extendidas (extended ACL) debemos recordar las ACL estndar y ver qu diferencia funcionan tienen las extendidas respecto a las primeras, es decir, para valorar los beneficios de las extendidas. La idea de las ACLs estndar es filtrar trfico con base en las direcciones origen de los paquetes que entran o salen de una interfaz, aquella en la que se instala la ACL. Lo anterior implica un nivel bsico de filtrado: direcciones IP origen de todos los paquetes interceptados, para ilustrarlo con un ejemplo, digamos que deseamos filtrar el trfico proveniente de la red 192.168.1.0/26, pero que de esa red queremos permitir un host en particular y las dems redes diferentes deberan pasar. A stas alturas tenemos muy claro que las ACLs son conjuntos de reglas con un identificador comn y que las reglas aplican una accin a los paquetes que cumplan una condicin que, en el caso de las ACL estndar, es que tengan la direccin origen coincidente con la direccin de referencia. La ACL que filtra el trfico como se solicita (bloquear 192.168.1.0/26, permitir un host 192.168.1.1 y permitir paquetes de cualquier otra subred) creamos la siguiente ACL:
y y y

access-list 1 permit 192.168.1.1 0.0.0.0 access-list 1 deny 192.168.1.0 0.0.0.63 access-list 1 permit any

En efecto, cada vez que llegue un paquete se compararn las direcciones IP origen de cada uno con cada una de las reglas de la lista de acceso, si el paquete corresponde con alguna, se aplica la accin (permit o deny) y no se compara con ninguna otra regla. En este caso, la regla permite primero el host, luego niega la red y finalmente permite cualquier otra cosa.

La acl descrita significa que todo el trfico del host particular se va a permitir, no se puede bloquear un trfico especfico que provenga del host, se deniega o se permite todo el trfico y sera deseable bloquear slo una porci de su trfico, algo de lo que hace ste host en caso de ser necesario. Para la red tambin sucede lo mismo: si se pudiera bloquear slo el trfico que sale de esa red a un destino especfico sin bloquear todo el trfico con origen en esta red sera mucho mejor. Ese es el problema que resuelve la ACL extendida. ACLs extendidas A diferencia de lo que sucede con la ACL estndar, las extendidas permiten especificar hacia dnde se dirige el trfico y con sta caracterstica, yo puedo bloquear o permitir un trfico mucho ms especfico: slo trfico que proviene del host pero se dirige a una red en particular o a otro host en particular o slo el trfico de una red que se dirige a otra red en particular. El truco se logra con el hecho de permitir comparar las direcciones destino de los paquetes contra la acl, no slo las direcciones origen. Dentro de lo que hemos venido manejando, hablamos que una acl est compuesta por un conjunto de reglas todas con el mismo identificador, que cada regla era una lnea compuesta por una accin y una condicin que el paquete debe cumplir para aplicarle la accin (permitir o denegar). Las condiciones en las acl estandar estn compuestas por una direccin de referencia y una wildcard que dice qu bits de la direccin origen de los paquetes se deben comparar con la direccin de referencia, en las acls extendidas se especifica dos pares de direcciones de referencia/wildcard, un par para la direccin origen de los paquetes y otro par para la direccin destino de los mismos. Vamos a extender el ejemplo que venimos usando y usar sta idea de filtrado ms granular. El requisito dado es permitir un host de una red, el resto de la red la vamos a bloquear y cualquier otra red la vamos a permitir. Para extender el ejemplo digamos que queremos permitir el trfico del host, excepto lo que vaya a un host particular, digamos el 172.16.1.1, y que de la red completa queremos permitir lo que vaya a un servidor en especial de la empresa, digamos el 192.168.2.1. Las reglas de la acl estandar nos sirven de inicio, como de costumbre lo ms especfico lo vamos a poner de primero en la regla para evitar que las reglas ms generales incluyan a las particulares.
y y y y y

access-list 100 deny ip 192.168.1.1 0.0.0.0 172.16.1.1 0.0.0.0 access-list 100 permit ip 192.168.1.1 0.0.0.0 0.0.0.0 255.255.255.255 access-list 100 permit ip 192.168.1.0 0.0.0.63 192.168.2.1 0.0.0.0 access-list 100 deny ip 192.168.1.0 0.0.0.63 0.0.0.0 255.255.255.255 access-list 100 permit ip any any

En sta lista observamos varias cosas nuevas: ip, las acl extendidas no slo permiten especificar las direcciones origen y destino sino discriminar por protocolos e incluso por parmetros particulares de cada protocolo pero eso lo veremos luego, por lo pronto lo importante es que ip indica que todos los protocolos que se encapsulan dentro de ip sern afectados por sta lista de acceso. En este caso, la palabra ip para los protocolos es similar a any en las direcciones, casi todo se encapsula en ip por lo tanto especificar ip es como especificar cualquier protocolo (de capa 4 en adelante). En vez de ip se puede poner un protocolo equivalente o de capa 4, por ejemplo se puede filtrar icmp, tcp o udp, cambiando la palabra ip por stas ltimas.

Otra cosa importante y nueva es un segundo par de direccin de referencia/mscara wildcard, ste segundo par compara la direccin destino de los paquetes con la direccin de la regla. Para las acls extendidas, el paquete debe coincidir tanto en la direccin origen como en la destino. Finalmente, la direccin de referencia 0.0.0.0 con mscara wildcard 255.255.255.255. Como esta mscara es todo unos, eso significa que ningn bit del paquete se compara con la direccin de referencia, es decir, no importa qu escriba en la direccin de referencia cualquier destino coincide. Esta mscara es lo mismo que any, debido a que la mscara es equivalente a cualquier direccin y puede usarse tanto para el origen como para el destino. Explicacin de la ACL La primera regla aplica deny slo si el paquete tiene como origen la direccin 192.168.1.1 y direccin destino 172.16.1.1, por lo tanto slo el trfico especfico de entre esos host se deniega, la segunda regla permite el resto del trfico del host hacia cualquier destino. La tercera regla permite el trfico de la red 192.168.1.0/26 hacia el host 192.168.2.1. La 4a regla complementa a la anterior y niega todo el trfico de la red, como sta regla general esta despus de la especfica, el trfico comparado con sta regla ya no coincidi con el trfico dirigido al servidor, que es una condicin ms especfica dentro de la misma red. Finalmente cualquier trfico que no coincida con las reglas anteriores se permite sin importar de dnde provenga y hacia dnde vaya. Qu ms? Finalmente y para no dejar incompleto el ejemplo, hay que instalarla en una interfaz por la que pase el trfico que se quiere interceptar y recordar que el sentido en el que se instala la acl, indica cules sern las direcciones origen y destino (que se invierten si se invierte el sentido del trfico).
y y

interface serial 0/0 ip access-group 100 in

Las listas de acceso extendidas no difieren de las estndar ms que en las caractersticas mencionadas, por lo tanto los comandos usados para verificar las estndar siguen siendo vlidos.
y y

show ip interface serial 0/0 show ip access-list

Conclusin Las acls extendidas son mucho ms eficientes en el filtrado que las acls estndar, pero como ya he mencionado en otras entradas, las acls son mecanismos de clasificacin de trfico y direcciones y hay algunas aplicaciones que se corresponden mejor con las acl estndar que con las extendidas, por lo tanto se siguen usando tanto como las extendidas.

Cmo funcionan las ACLs? IV: ACLs complejas


Un tema nuevo en el currculo de CCNA Exploration son las ACLs complejas, que no son necesariamente complejas en el sentido de la dificultad sino en lo sofisticado de su funcionamiento, tambin menciono las acl nombradas. Vamos a explorar algunas de ellas superficialmente y dejar pendiente la ltima entrada sobre ACLs: Ejemplos. NOTA: Finalmente, escrib 5 entradas completas sobre ACLs a manera de Tutorial, se las recomiendo.

Qu son ACL complejas? CCNA Exploration varios tipos de ACLs no vistos en las versiones anteriores del currculo, las denomina ACLs complejas. La idea de las ACLs complejas es complementar lo que ya sabemos sobre ACLs estndar y extendidas con comportamientos que las hacen tiles en contextos ms interesantes. Para comprender correctamente el tema de las ACL complejas debe entender bien todo lo relacionado con ACLs. Si usted no entiende perfectamente el tema del filtrado de trfico con ACLs le recomiendo que lea las entradas anteriores de esta serie, en su orden:
y y y

Cmo funcionan las ACL en Cisco? I: Conceptos Cmo funcionan las ACLs? II: ACLs estndar Cmo funcionan las ACLs? III: ACLs extendidas

Dentro de las ACLs complejas tenemos 3 tipos: dinmicas, reflexivas y basadas en tiempo pero en el currculo oficial no se ven muy a fondo ni se dan mayores ejemplos. A continuacin les describo cada una de ellas y al final de la entrada describo las acl nombradas son un tipo de acl que facilita la configuracin y administracin de ACLs. ACLs dinmicas stas usan un mecanismo bsico de autenticacin, generalmente Telnet, para activar la ACL, lo que permite usar una ACL como mecanismo de autenticacin o vincular una ACL con la autenticacin de los usuarios con medios reconocidos. La idea consiste en crear una regla en la ACL que slo se activar si es disparada por algn evento, en ste caso un acceso por telnet al enrutador. La regla en cuestin agrega antes de la accin (permit/deny) las palabras reservadas dynamic testlist timeout <n>, donde n es la cantidad de minutos que la regla ser activa una vez que es disparada, luego de estos parmetros va la regla ordinaria que se har activa, por ejemplo permit ip host 10.1.1.1 any. Como esta ltima regla est asociada con un acceso por telnet como disparador, en las lneas de vty se debe poner un comando especial autocommand access-enable host timeout 5, que establece el acceso permitido al telnet como disparador de la acl dinmica.
y y

access-list 101 permit ip any host 10.1.1.1 eq telnet access-list 101 dynamic testlist timeout 10 permit ip 172.16.0.0 0.0.255.255 172.17.0.0 0.0.255.255

y y y y y y

interface fa 0/0 ip access-group 101 in username cesarcabrera password cecab123 line vty 0 4 login local autocommand access-enable host timeout 5

El anterior listado de comandos instala una lista de acceso dinmica de entrada en la interfaz fa 0/0 que slo despus que un usuario cesar abre exitosamente una sesin por telnet con la clave cecab123 con el enrutador se activa, permitiendo acceso de la red 172.16.0.0/16 a la 172.17.0.0/16. Valga la aclaracin que el comando autocommand cierra automticamente la sesin de telnet pero dispara la acl, es decir, la sesin de telnet es slo un disparador de la acl y no tiene que quedar activa para que la acl est en funcionamiento. ACLs reflexivas Las reflexivas son un tipo de firewall primitivo que permite el trfico slo si es iniciado en una direccin, pero sin usar las banderas de conexin de TCP. Ya en las ACLs extendidas habamos visto que en vez de ip se pueden poner otros protocolos y al final poner criterios adicionales particulares al protocolo en cuestin. Especficamente, tcp permite agregar al final del identificador de origen o destino un identificador de puerto en incluso banderas de conexin como established, que indica que la conexin ya se abri. ste caso particular de tcp es muy til cuando se tienen dos redes de las cuales una es confiable y la otra no, entonces es preferible permitir slo conexiones cuya solicitud provenga de la red confiable, es decir, que se abran desde la red interna y no se puedan abrir conexiones desde la externa. Con el truco de la bandera established (ack activo) se puede permitir de entrada slo los paquetes con sta condicin, de tal manera que si llegan paquetes solicitando una conexin desde fuera (todava no tienen el bit ack activo) se rechazan, mientras que si las conexiones se abren desde adentro, todos los paquetes entrantes debern tener el ack activo y por lo tanto se van a permitir. Pero qu pasa con UDP y otros protocolo no orientados a la conexin? Pues ah entran en juego las acl reflexivas. La idea es hacer lo mismo que el truco de established, pero basandose slo en los parmetros bsicos de capa 3 y 4. Las acls reflexivas son un poco complejas en su configuracin, ya que se aplican varios comandos para establecer las entradas temporales, adicionalmente las ACLs reflexivas son un caso particular de ACL nombrada extendida, por lo tanto no se pueden configurar en acl numeradas ni en acls nombradas estndar. Primero, en una de las direcciones del trfico se debe marcar la regla cuyo trfico de vuelta se va a permitir con la palabra clave reflect <nombre>, donde nombre es un identificador arbitrario que le ponemos a esta instancia, luego en la direccin de vuelta del trfico (la acl que se va a instalar en la direccin contraria) se agrega la sentencia evaluate <nombre> donde nombre es el identificador arbitrario que pusimos en la otra direccin. En otras palabras, se le pone un identificador al trfico que inicia la acl reflexiva, luego en la otra direccin se le ordena que evale si el trfico corresponde con la regla marcada para permitirlo si coincide. Finalmente se instalan las listas, una de entrada y otra de salida en la misma interfaz (el trfico entra y sale por la misma interfaz).

y y y y y y y y y

ip access-list extended OUTB permit udp 172.16.0.0 0.0.255.255 any reflect UDPTRAFFIC permit icmp 172.16.0.0.0.0.255.255 any reflect ICMPTRAFF ip access-list extended INB evaluate UDPTRAFFIC evaluate ICMPTRAFF interface ser 0/0 ip access-group OUTB out ip access-group INB in

El listado anterior instala una lista de acceso reflexiva que permite el trfico de UDP e ICMP slo si se origin en la red 172.16.0.0/16. ACLs basadas en fechas/horarios Finalmente, las ms simples de comprender son las basadas en fechas/horarios. La idea de estas acls son que se activan en las fechas y horarios que se hayan establecido previamente, la precondicin evidente es que el enrutador debe tener configuradas su hora y fecha correctamente, para sto se puede configurar manualmente, confiando que el equipo no se vaya a reiniciar por ningn motivo y que el administrador va a mantener actualizado el reloj en caso contrario. Otra alternativa (ms confiable) es configurar un servidor ntp para que el enrutador mantenga su tiempo actualizado. La configuracin de las acls basadas en tiempo consiste en crear un rango de tiempo (time-range) el cual es despus usado en las reglas de la ACL.
y y y y y

time-range NOCHES periodic Monday Tuesday Wednesday Thursday Friday 17:00 to 00:00 access-list 101 permit tcp 172.16.0.0 0.0.255.255 any eq www time-range NOCHES int fa 0/0 ip access-group 101 out

El anterior listado crea una lista de acceso que se permite el acceso a Internet para la red 172.16.0.0 slo despus de las 17hrs en das de trabajo (Lunes a Viernes). ACL nombradas Finalmente, hay una forma ms fcil de editar las listas de acceso llamadas listas de acceso nombradas. La idea bsica de stas ACLs es permitir una administracin mnemnica de las ACL, ya que en vez de nmeros se usan nombres arbitrarios. stas listas pueden ser extendidas o nombradas con las mismas caractersticas que las ACLs numeradas y abren un modo especial de configuracin (nacl) en el que se introducen las reglas una por una empezando por la accin (permit/deny). Despus de la versin 12.3 del IOS, stas listas de acceso permiten eliminar y crear reglas particulares entre las reglas existentes, contrario a la edicin ordinaria de ACLs en la que tocaba eliminar completamente una ACL para poder modificarla. En su configuracin las palabras clave son ip access-list, lo que hemos visto hasta este momento, todas las listas de acceso comienzan con la palabra reservada access-list, stas comienzan con ip access-list, seguidas del tipo de lista extended/standard y el nombre (arbitrario). Luego se entra en el modo especial de configuracin.

y y y

ip access-list extended INB (config-ext-nacl)#permit 172.16.0.0 0.0.255.255 172.17.0.0 0.0.255.255 (config-ext-nacl)#deny any any

stas listas se aplican como se aplican todas las acls y se verifican con los mismos comandos. show ip access-list y show ip interface. Conclusin
Como podemos ver, las listas de control de acceso en Cisco son mucho ms verstiles de lo que creamos y eso que no hemos visto sino la aplicacin en filtrado de trfico. Como les dije en la primera entrada de la serie: las ACL son un mecanismo para clasificar trfico y por lo tanto se usan en muchas tecnologas en los enrutadores, por ejemplo para redireccionar trfico usando PBR (policy based routing). Para la prxima entrega haremos muchos ejemplos en una topologa compleja en la que podamos ver en la prctica todo lo que hemos explorado tan tericamente.

Cmo funcionan las ACLs?: V Ejemplos


Finalmente lleg la ltima entrada del tutorial sobre ACLs, los ejemplos de uso. Espero finalizar mostrando algunos ejemplos que se puedan verificar en la prctica y algunos usos adicionales de las ACLs que van ms all del currculo de CCNA. Disfrtenlo. Siguiendo la serie de publicaciones sobre ACLs, voy a hacer ejemplos de configuracin y funcionamiento del tema de cada una de las entradas anteriores, es decir, Conceptos, ACLs estndar, ACLs extendidas y ACLs complejas. Primero recordemos las bases de siempre. Conceptos bsicos Hay que recordar que las ACLs son fundamentalmente un mecanismo de seleccin de trfico, generalmente, por medio de parmetros de los campos del encabezado IP o los encabezados TCP y UDP. En algunos casos, el protocolo de capa 4 puede establecer correspondencias con otros encabezados como los de EIGRP, OSPF, entre otros. Una vez que la seleccin se establece, se puede usar para mltiples finalidades, por ejemplo en CCNA se usa como mecanismo bsico de seguridad, es decir, el trfico seleccionado se puede bloquear o permitir segn las necesidades de la organizacin. Otros usos son la definicin de las direcciones que van a ser traducidas en un enrutador de borde que usa NAT entre otras muchas tecnologas que usan las ACLs para definir conjuntos de direcciones o flujos de trfico seleccionados entre muchos otros. La seleccin de trfico o direcciones en las ACLs consiste en definir un conjunto de reglas bajo un mismo identificador, sea numrico o alfanumrico, con la forma
y y y

<id> <accin> <condicin> <id> <accin2> <condicin2> Comando: access-list <n> [permit|deny] <ref_origen> <wildcard_origen> [<ref_destino> <wilcard_destino>]

donde id es el nombre/nmero de la ACL, accin es permitir o denegar y en el comando id se corresponde con n , accin con permit|deny y la condicin sera el resto del comando. La condicin es lo que usualmente nos exige ms cuidado, las condiciones se basan en direcciones origen en las ACLs estndar y origen/destino en las extendidas y nombradas extendidas. Las direcciones origen o destino se definen cada una mediante una direccin de referencia y una mscara wildcard y pueden definir arbitrariamente la seleccin, es decir, la direccin de referencia no tiene que corresponder exactamente con una subred sino con cualquier conjunto de direcciones, incluso de varias subredes o un subconjunto de IPs de una subred. Si la explicacin anterior no es clara, por favor lea la entrada inicial de la serie: Cmo funcionan las ACLs?: I Conceptos. Topologa de ejemplo La siguiente va a ser nuestra topologa de ejemplo. Infortunadamente el Packet Tracer no soporta las ACLs reflexivas ni dinmicas, as que si usted desea hacer el ejercicio completo debe hacerlo o bien con enrutadores reales o con GNS3. La topologa consiste en 5 enrutadores interconectados por enlaces seriales, uno de ellos es el enrutador central que conecta con el servidor y el resto tienen slo una subred conectada. Las direcciones de las LAN pertenecen al prefijo 172.16.0.0/12, asignandolas en orden de izquierda a derecha 172.16.0.0/24, 172.17.0.0/24, 172.18.0.0/24 (PC4) y 172.19.0.0/24 (PC5). El servidor tiene la direccin 10.1.1.1 y los enlaces entre enrutadores son 10.0.0.0/30, 10.0.0.4/30, 10.0.0.8/30, 10.0.0.12/30. El enrutamiento se lleva a cabo con eigrp de AS 1 sin autoresmen por el hecho de haber redes discontiguas (10.0.0.0). La poltica (requerimientos) de seguridad de la organizacin son los siguientes:
y y y y

Estndar: Filtrar el acceso de la red del PC1 al servidor Extendidas: Filtrar el acceso del PC2 al servidor Dinmicas (No soportadas): Acceder al servidor desde PC5 slo si se autentica previamente por telnet. Reflexivas (No soportadas): Permitir el trfico de ICMP que se ogirine en PC4, pero no al revs

Un aspecto importante, antes de hacer cualquier cosa con ACLs es verificar que exista conectividad completa en la red objetivo. Si no comprobamos eso previamente, podramos ignorar problemas actuales de conectividad en la red y podramos creer que eso es efecto de la instalacin de las acls. En esos casos el diagnstico de un problema de esa naturaleza puede resultar muy difcil de diagnosticar y ms dificil aun de solucionar. Otra consideracin que hay que hacer es verificar que la instalacin de una ACL afecta la red estrictamente como se espera y no genera efectos no previstos e indeseados. Lo anterior hay que hacerlo por cada acl y verificando la conectividad total -o la ms importante si la red es muy grande-.

Listas de Control de Acceso Estndar En el ejemplo, el requerimiento de filtrar la red del PC1 con ACL estndar nos enfrenta a la primera decisin: dnde instalar la ACL?. La respuesta tiene dos sentidos, en qu enrutador y en qu interfaz de ese enrutador. Como las ACL estndar slo filtran el trfico con base en las direcciones IP origen, si la acl se instala en Router1, eso filtrara todo el trfico de la red hacia todos los destinos, por lo tanto no es viable esa decisin. Una alternativa, si no es posible instalarla en otro enrutador, sera filtrar el trfico proveniente del servidor en ese mismo enrutador lo que impidira que las respuestas a trfico que sali de la red de PC1 y PC3 regrese, lo cual sera un cumplimiento indirecto de la poltica de impedir conectividad entre esa red y el servidor. Segn lo anterior, la nica alternativa es instalar la ACL estndar en Router0, y con eso se cumple la regla de oro de las acls estndar: instale lo ms cerca posible del destino. En ste caso, en el que podemos configurar el enrutador ms cercano al servidor, la instalamos en la interfaz por la que se conecta el servidor en la direccin de salida, filtrando efectivamente el trfico cuyo origen es la red del PC1. El resto es carpintera como deca un antiguo profesor que tuve:
y y y y y

access-list 1 deny 172.16.0.0 0.0.0.255 access-list 1 permit any interface FastEthernet0/0 ip address 10.0.0.1 255.255.0.0 ip access-group 1 out

Una vez que se instala esta acl, los paquetes originados en cualquier pc de la red del PC1 no llegarn al servidor pero s a cualquier otro pc de la red. La conectividad con el resto de las redes de la topologa sigue intacta. ACL extendidas El segundo requerimiento es filtrar el trfico desde el PC2 hasta el Servidor. Evidentemente no se puede hacer un filtrado as con una sola acl estndar, por ejemplo, si ponemos una ACL estandar en router0 que filtre el trfico cuya IP es la de PC2 en la fa 0/0 de salida, ste quedar sin conectividad con cualquier PC de la red del servidor, no slo el servidor. Si, por otro lado, la ponemos de entrada la situacin es peor: el servidor no se podr comunicar. Otra alternativa sera instalarla en la interfaz LAN que pertenece a la red de PC2 (en Router1) y ste no se podr comunicar con ninguna otra red. La solucin es una ACL extendida, que por norma se instala lo ms cercano al origen posible. El razonamiento es que haciendolo de sta manera evitamos que trfico innecesario corra por la red ocupando ancho de banda y procesamiento en los dispositivos.
y y y y

access-list 101 deny ip host 172.17.0.3 host 10.0.0.5 access-list 101 permit ip any any interface FastEthernet0/0 ip address 172.17.0.1 255.255.0.0

ip access-group 101 in

Lo anterior en el enrutador Router1, donde se conecta el host que se quiere filtrar. De nuevo, hay que verificar que otros PCs no quedan afectados por la acl, eso lo verificamos enviando y recibiendo paquetes exitosamente desde el PC6 al servidor. La conectividad del resto de las redes de la topologa sigue inalterada, eso incluye la conectividad de otras redes al pc2. ACLs dinmicas y reflexivas Infortunadamente el PT 5.1 no soporta ninguno de estos tipos de acls. Para poder hacer el ejercicio habra que usar gns3, netlab o enrutadores reales. De todas formas ilustrar cmo sera la configuracin correspondiente en esta topologa. Recordemos que las dinmicas son, entre otras cosas, un mecanismo de autenticacin simple. Lo primero que haremos ser crear un nombre de usuario y contrasea para autenticar al PC 5, luego crearemos la acl que incluya la palabra reservada dynamic, cuidando que la misma acl permita el trfico de telnet desde el pc en cuestin, instalamos la acl y luego en la configuracin de las vty agregamos el comando que vincula estas dos instrucciones.
y y y y y

username cesarcabrera password cecab123 access-list 101 permit ip any host 172.19.0.1 eq telnet access-list 101 dynamic testlist timeout 15 permit ip host 172.19.0.3 host 10.0.0.5 interface fa 0/0 ip access-group 101 in

Lo anterior, una vez instalado en el enrutador Router2, slo permitir el acceso del PC5 al servidor si primero se intenta hacer un telnet al enrutador y se autentica exitosamente al mismo. El requerimiento de acl reflexiva se debe instalar en el ltimo enrutador, Router3, usando una acl nombrada extendida -no numerada- y con dos palabras clave adicionales: reflect/evaluate. En la direccin de salida se permite el trfico pero se establece que se creen las acls necesarias para el trfico de retorno con reflect y de entrada se le indica a la acl que evale las entradas dinmicas creadas por la acl de salida.
y y y y y y y

ip access-list extended SALIDA permit icmp 172.18.0.0.0.0.0.255 any reflect TICMP ip access-list extended ENTRADA evaluate TICMP interface ser 0/0/0 ip access-group SALIDA out ip access-group ENTRADA in

Note que una vez que se instalan estos comandos en el ltimo enrutador, lo nico que se puede hacer desde la red 172.18.0.0n es enviar exitosamente pings, pero no sern exitosos si se originan en otras redes hacia sta ltima.

Otros usos de las ACLs Finalmente, como les he venido mencionando en otras entradas, las acls son un mecanismo de clasificacin de trfico y por eso son tiles en otros contextos. Voy a citar dos, uno de ccna y otro de ccnp, particularmente de BSCI. En el ltimo semestre de CCNA se estudia el tema de NAT, NAT se usa para tener una red con direccionamiento privado arbitrariamente grande conectada a una red pblica usando slo un pequeo conjunto de direcciones pblicas. El mecanismo consiste en examinar los paquetes provenientes de la red privada y cambiar las direcciones IP y puertos TCP/UDP del encabezado por las direcciones pblicas disponibles. De ese proceso se guarda en memoria una registro de qu puertos origen han sido asignados a qu direccin privada, de tal manera que cuando se recibe la respuesta de la red pblica con IP destino pblica (o global como dice el currculo), el puerto TCP/UDP destino determina la direccin IP de host local al que hay que cambiar la direccin IP para enviar el paquete al interior de nuestra red (en otra ocasin escribo ms en detalle el proceso). NAT debe especificar dos conjuntos de direcciones: las direcciones privadas a traducir a direcciones pblicas y el conjunto de direcciones pblicas. El conjunto de direcciones pblicas es un rango de direcciones arbitrarias que dificilmente correspondern con una regla tipo acl, pero las direcciones privadas s deben tener un patrn que se corresponda con una acl estndar, en la que las direcciones a las que se aplique la accin permit sern las direcciones que hay que traducir a direcciones pblicas (o globales). En otras palabras, para crear una regla de traduccin de direcciones, se especifica por medio de una acl qu direcciones privadas (o locales) deben ser traducidas. En BSCI (uno de los exmenes de ccnp) se habla de un mecanismo de manipulacin de trfico llamado mapas de ruta (route-map). Los mapas de ruta permiten manipular la forma en que se realiza el enrutamiento por ejemplo yo podra arbitrariamente y sin contar con la tabla de enrutamiento, decir que el trfico de cierta red debe usar siempre un enlace en particular de salida. se es el ejemplo ms simple de un mapa de ruta, pero los mapas de ruta permiten muchas cosas ms, por ejemplo cambiar parmetros de enrutamiento como mtricas o filtrar actualizaciones de enrutamiento que provengan de otro enrutador. El mecanismo bsico por el que se especifica qu trfico ser afectado por las reglas del mapa de ruta son las acl extendidas. Conclusiones Espero que despus de toda esta secuencia sobre listas de control de acceso, hayan quedado claros muchos conceptos y formas de usar las acls y sobre todo, ver que stas son un mecanismo muy potente y muy importante en el mundo de la configuracin de equipos de red, en especial de Cisco. Les dejo tambin la topologa de ejemplo con los requerimientos para que ensayen en sus casas -si tienen el Packet Tracer-, la conectividad bsica y el enrutamiento ya estn configurados, slo faltan las acls. Espero que hayan disfrutado la lectura y que les haya resultado de alguna utilidad.

You might also like