Blog en espanol destinado a diferentes temas tecnicos principalmente en IT y Networking. Se desea cubrir Linux, DNS, DNSSEC, RPKI, BGP, Cisco, Programacion (Bash, Python, etc), Protocolos de Enrutamiento, Seguridad en Redes, VoIP.
Mostrando entradas con la etiqueta cisco. Mostrar todas las entradas
Mostrando entradas con la etiqueta cisco. Mostrar todas las entradas
domingo, 28 de agosto de 2022
martes, 17 de mayo de 2022
Video: Retirada Implícita y Explícita de prefijos en BGP / BGP Explicit/Implicit Withdraw
En el video se explica con detalle los conceptos de Retirada Implícita y Retirada Explicita de prefijos en BGP. Se realiza un Demo con 5 enrutadores utilizando un prefijo IPv6. Finaliza con capturas de wireshark de los mensajes UPDATE.
sábado, 24 de julio de 2021
Solución: GNS3 - Private Vlan - non-operational - Cisco
Situación:
En resumen: no te funcionan las private VLAN en GNS3 (IOU - VIRL).
Solución:
Utiliza IOU i86bi-linux-l2-adventerprisek9-15.2d.bin
Test:
IOU3#show vlan private-vlan
Primary Secondary Type Ports
------- --------- ----------------- ------------------------------------------
500 501 community Et0/1, Et0/2, Et1/0
500 502 isolated Et0/0, Et0/3, Et1/0
Suerte!,
miércoles, 9 de junio de 2021
Demo: Ruta estática flotante con IPv6
En el video se realiza un demo del funcionamiento de una ruta estática flotante utilizando IPv6. Comienza explicando que es una ruta estática flotante y luego se procede al demo donde existen tres enrutadores, dos de ellos hablan OSPFv3 mientras que el enlace de backup se realiza de manera estática, la ruta flotante configurada se encuentra en el primer router/enrutador. El demo fue realizado utilizando equipos Cisco sin embargo el principio es el mismo en cualquier sistema operativo.
viernes, 30 de abril de 2021
Como conectarse via consola a un router Cisco desde una MAC
Pasos:
- Conecta el puerto USB a la consola del router
- Conecta el puerto USB (o usb-c) a la computadora MAC
- Enciende el router
- Abre una venta terminal
* Ejecuta:
$cd /dev
- Identifica el puerto USB local en la computadora haciendo:
$ls -ltr /dev/*tty*usb*
- Devolverá algo como:
crw-rw-rw- 1 root wheel 9, 2 Apr 30 08:33 /dev/tty.usbserial-14320
- La salida anterior indica que /dev/tty.usbserial-14320 es el puerto USB que posees (el nombre puede variar)
- Finalmente ejecuta el comando screen asociado al puerto obtenido en la salida anterior y la velocidad
$ screen /dev/tty.usbserial-14320 9600
martes, 23 de marzo de 2021
RFC 7911- BGP Add-path en acción
En el video se realiza un demo de la capacidad de BGP llamada Add-Path definida en el RFC 7911 utilizando FRR sobre Ubuntu. Para la realización del video se utilizó únicamente prefijos IPv6 a pesar de que la capacidad es agnóstica al prefijo transportado
sábado, 23 de mayo de 2020
BGP Conditional en el mundo IPv6 - BGP Condicional
En el video se muestra la característica de BGP condicional aplicado
al mundo IPv6. En la demostración se conectan 3 ASs y uno de ellos solo realiza el anuncio de un prefijo IPv6 solo cuando una condición se cumpla.
viernes, 20 de marzo de 2020
Demo tunel GRE - Conectando islas IPv4 sobre IPv6
En el video se ofrece una pequeña introducción a GRE, se realiza un
demo para conectar dos redes IPv4 sobre un transporte IPv6, se configura
OSPF en IPv4 dentro del tunel GRE y finalmente se realiza una captura en
Wireshark
miércoles, 11 de marzo de 2020
Tunel GRE entre Linux y Cisco IOS
Lado del linux:
Del lado del Cisco
Espero sea útil.
Saludos
[root@server]# ip tunnel add tun0 mode gre remote $public_ip_cisco local $public_ip_linux ttl 255
[root@server]# ip link set tun0 up
[root@server]# ip addr add 172.20.0.2/30 dev tun0
Del lado del Cisco
interface Tunnel0
description Tunel hacia sitio remoto
ip address 172.20.0.1 255.255.255.252
tunnel source $public_ip_cisco
tunnel destination $public_ip_linux
end
Para enrutar cierta red desde el Cisco hacia el linux via el tunel:
ip route $prefix $mask 172.20.0.2
Saludos
jueves, 10 de octubre de 2019
Configurando una sesión BGP entre dos loopbacks con IPv6 - ebgp multihop y captura de wireshark
En el video se muestra como configurar una sesión BGP entre dos enrutadores Cisco IOS. Se realiza con ebgp multihop y se muestra captura de paquetes con Wireshark
jueves, 4 de abril de 2019
Video: Ejemplo: Utilizando BGP Local Preference y Weight con prefijos IPv6
Η δυσκοιλιότητα είναι αποτέλεσμα διάφορων παραγόντων, η οποία φαίνεται, να έχει ενταθεί λόγω του σύγχρονου τρόπου ζωής. Αντιμετωπίστε άμεσα τη δυσκοιλιότητα με το Izicol. Ωστόσο, πολύ σημαντικός παράγοντας φαίνεται να είναι η διατροφή και η ενυδάτωση του οργανισμού.
martes, 19 de marzo de 2019
miércoles, 13 de marzo de 2019
Video: Ejemplo de BGP Route Reflector en una red IPv6
Hola,
Les comento que el otro día estuve dando un curso de IPv6 que incluía una parte de BGP; entre las consultas que recibí hubo una pregunta de enrutadores Route Reflector, por ello decidí realizar el siguiente video:
Espero sea útil para alguien.
Saludos,
Alejandro,
Les comento que el otro día estuve dando un curso de IPv6 que incluía una parte de BGP; entre las consultas que recibí hubo una pregunta de enrutadores Route Reflector, por ello decidí realizar el siguiente video:
Espero sea útil para alguien.
Saludos,
Alejandro,
viernes, 17 de agosto de 2018
Demostración: Antispoofing IPv6 en un router Cisco IOS
El siguiente video muestra como simular un ataque spoof en Internet y como prevenir el mismo en Cisco IOS
viernes, 8 de diciembre de 2017
Comando oculto en Cisco. Deshabilitar negociacion de capacidad BGP
neighbor x.x.x.x dont-capability-negotiate
More info:
http://www.cisco.com/c/en/us/support/docs/ip/border-gateway-protocol-bgp/116189-problemsolution-technology-00.html
IoT Cybersecurity
jueves, 23 de marzo de 2017
BGP: Filtrar por tamaño de la red en BGP, he ahí el dilema
Introducción
El equipo de I+D del área técnica y WARP redactaron en conjunto el presente artículo basado en algunos incidentes gestionados por el centro de respuestas de LACNIC.
En el mundo de BGP existen decenas de maneras para filtrar prefijos. El objetivo del presente post mostrar una serie de recomendaciones para tener una red más estable, no perder conectividad con ciertos destino y reducir el número de quejas en nuestro NOC.
Situación identificada
Muchos ISPs no pueden recibir la full routing table de BGP (para el dia de hoy consta de ~610.000 prefijos IPv4) en sus enrutadores.
Lo anterior puede deberse a diversas razones:
- El enrutador no posee suficiente RAM para aprender todos los prefijos (además recordar que es posible que el router tenga varias sesiones BGP)
- Por ahorro de CPU
- Porque el upstream provider a su vez no entrega toda la tabla de enrutamiento
- Por simplicidad y sencillez
Entendiendo la situación e independientemente de la razón que sea, el enrutador no aprende toda la tabla de enrutamiento.
Problema
No aprender toda la tabla de enrutamiento puede traer algunos inconvenientes parciales pero que al final trae problemas de conectividad, quejas de los usuarios, inconvenientes de acceso a ciertos sitios, entre otros.
¿Por qué?
Imaginemos la siguiente situación:
- Tengo un router (propiedad de EXAMPLE) en Internet que solo aprende la tabla parcial de enrutamiento
- El router propiedad de EXAMPLE quedó configurado solo para aprender redes “más grandes” que /21. Es decir, aprende redes /20, /19, /18, etc. (evidentemente estamos hablando de IPv4)
- Debido a la configuración establecida en el punto “b”, el router no aprenderá prefijos de tamaño /21, /22, /23 ni /24
- Mientras tanto en otra parte del mundo, le acaban de secuestrar su red /21 a la empresa ACME (planteamos el caso como un secuestro pero podría ser una mala configuración)
- ACME decide realizar anuncios más específicos de su red original /21, es decir, anuncia 8 redes /24
- Por causa de los filtros configurados por EXAMPLE, nunca verá dichos anuncios /24 de ACME
- EXAMPLE seguirá aprendiendo la red /21 del secuestrador de la red. Lo que puede ocasionar que el tráfico hacia ACME puede ser potencialmente secuestrado (repito, se entiende que esta situación es potencial, no necesariamente el tráfico irá hacia el atacante)
Diagrama:
El siguiente diagrama representa la hipótesis planteada en el punto anterior de manera gráfica para facilitar su comprensión.
Recomendación
Realizaremos la siguiente recomendación en base a algunas experiencias vividas, teniendo en cuenta que solo aplican al caso de cuando no se pueda aprender/recibir la tabla completa de BGP:
- No filtrar permitiendo redes menos específicas. Es conveniente aprender redes más chicas, es decir: /24, /23, /22.
- Filtrar por AS_PATH de profundidad.
- Crear los ROAs respectivos a los prefijos (RPKI).
Algunos ejemplos (Cisco like)
1) Solo queremos aprender redes entre /22 y /24 (hay otras maneras de hacer esto):
router bgp 65002
neighbor 10.0.0.1 remote-as 65001
neighbor 10.0.0.1 route-map FILTRO-IN in
!
ip prefix-list REDESCHICAS seq 5 permit 0.0.0.0/0 ge 22 le 24
!
route-map FILTRO-IN permit 10
match ip address prefix-list REDESCHICAS
!
2) Solo queremos aprender dos AS de profundidad (hay otras maneras de hacer esto):
router bgp 65001
neighbor 10.0.0.2 remote-as 65002
neighbor 10.0.0.2 route-map ASFILTER-IN in
!
ip as-path access-list 5 permit ^[0-9]+_$
ip as-path access-list 5 permit ^[0-9]+ [0-9]+_$
!
route-map ASFILTER-IN permit 10
match as-path 5
!
Mas información
- Demostración de secuestro de prefijo 1/2: https://www.youtube.com/watch?v=X5RNSs8y8Ao&t=39s
- Demostración de secuestro de prefijo 2/2: https://www.youtube.com/watch?v=m51WtuEZOKI
- BGP Prefix-Based Outbound Route Filtering
http://www.cisco.com/c/en/us/td/docs/ios/12_2s/feature/guide/fsbgporf.html - Ejemplo de configuración de BGP con dos prestadores de servicio diferentes (conexiones múltiples)
http://www.cisco.com/cisco/web/support/LA/7/75/75930_27.html - Información General sobre Certificación de Recursos (RPKI)
http://www.lacnic.net/web/lacnic/informacion-general-rpki
Autores
- Dario Gomez
- Alejandro Acosta (@ITandNetworking)
domingo, 1 de enero de 2017
Como la navidad puede dañar una red (experiencia real, BTW adoro la navidad)
Hola,
En este oportunidad voy a contar una experiencia que tuve unos años atrás. Creo que esta vivencia me vino a la cabeza luego de enterarme del Arbol de Navidad controlado por IPv6 [1]
Introducción:
Alrededor del año 2011 estuve trabajando en una oficina donde ese mismo año se había instalado una red LAN la cual mediante un pequeño enlace DSL llegaba al core de la red de la organización y además se conectaba a Internet.
Sobre el comportamiento general de la red
Transcurrían los meses desde Junio a Diciembre y la red funcionaba perfectamente, los usuarios satisfechos con el rendimiento, velocidad, aplicaciones entre otros.
Sobre la topología:
La oficina (ramal) se conectaba mediante un enlace DSL propio (utilizando los mismos pares de cobre de unas lineas telefónicas del edificio), los modems DSL tenían un puerto UTP el cual conectábamos a un LAN Switch Cisco moderno. Como comentario adicional, también manejábamos algunas VLANs para algunos servicios (VoIP).
La oficina contaba con una cámara de seguridad HD la cual transmitía a un servidor central ubicado en el core de la red (no en la misma oficina).
_______ __________ __________
|Oficina | ---- Enlace DSL | ---- | Core Office |
|_____| |_________ | |__________|

La llegada de la navidad
Al igual que en la mayoría de las oficinas y hogares, en la oficina se decidió colocar su respectivo árbol de navidad en la entrada, justo en la puerta principal.
El árbol fue adornado con sus respectivos ornamentos navideños tales como: bambalinas, micro arbolitos, casitas, cascanueces, estrellas y por supuesto sus luces a lo largo del árbol que titilaban constantemente.
¿Qué ocurrió y como la navidad "dañó" la red?
Las cámaras mencionabas anteriormente se encontraban apuntando hacia la entrada de la oficina y al igual que muchas otras cámaras y sistemas de CCTV solo transmitían los cambios de la imagen (o lo que es mismo cuando había algún movimiento) al servidor central, es decir, si no habían cambios de pixels en donde apuntaba la cámara, el consumo de ancho de banda era mínimo o casi nulo. Favor recordar que el receptor de la imagen era un servidor central ubicado al otro extremo del enlace DSL y no propiamente en la oficina donde se instaló el árbol.
Para finalizar:
Entendiendo que un enlace DSL no es de muy alta velocidad y las cámaras son HD el problema puntualmente fue que colocaron el árbol de navidad con sus luces intermitentes junto a la entrada de la oficina, por ende la cámara alcanzaba el mismo haciendo que tuviese que transmitir constantemente al servidor central los cambios de la imagen, es decir, cualquier movimiento en el árbol tal como las luces intermitentes!.
Saludos,
[1] http://ipv6tree.bitnet.be/
[2] Imagen tomada de: http://www.publicdomainpictures.net/pictures/60000/velka/christmas-tree-by-the-fire-place.jpg
En este oportunidad voy a contar una experiencia que tuve unos años atrás. Creo que esta vivencia me vino a la cabeza luego de enterarme del Arbol de Navidad controlado por IPv6 [1]
Introducción:
Alrededor del año 2011 estuve trabajando en una oficina donde ese mismo año se había instalado una red LAN la cual mediante un pequeño enlace DSL llegaba al core de la red de la organización y además se conectaba a Internet.
Sobre el comportamiento general de la red
Transcurrían los meses desde Junio a Diciembre y la red funcionaba perfectamente, los usuarios satisfechos con el rendimiento, velocidad, aplicaciones entre otros.
La oficina (ramal) se conectaba mediante un enlace DSL propio (utilizando los mismos pares de cobre de unas lineas telefónicas del edificio), los modems DSL tenían un puerto UTP el cual conectábamos a un LAN Switch Cisco moderno. Como comentario adicional, también manejábamos algunas VLANs para algunos servicios (VoIP).
La oficina contaba con una cámara de seguridad HD la cual transmitía a un servidor central ubicado en el core de la red (no en la misma oficina).
_______ __________ __________
|Oficina | ---- Enlace DSL | ---- | Core Office |
|_____| |_________ | |__________|
La llegada de la navidad
Al igual que en la mayoría de las oficinas y hogares, en la oficina se decidió colocar su respectivo árbol de navidad en la entrada, justo en la puerta principal.
El árbol fue adornado con sus respectivos ornamentos navideños tales como: bambalinas, micro arbolitos, casitas, cascanueces, estrellas y por supuesto sus luces a lo largo del árbol que titilaban constantemente.
¿Qué ocurrió y como la navidad "dañó" la red?
Las cámaras mencionabas anteriormente se encontraban apuntando hacia la entrada de la oficina y al igual que muchas otras cámaras y sistemas de CCTV solo transmitían los cambios de la imagen (o lo que es mismo cuando había algún movimiento) al servidor central, es decir, si no habían cambios de pixels en donde apuntaba la cámara, el consumo de ancho de banda era mínimo o casi nulo. Favor recordar que el receptor de la imagen era un servidor central ubicado al otro extremo del enlace DSL y no propiamente en la oficina donde se instaló el árbol.
Para finalizar:
Entendiendo que un enlace DSL no es de muy alta velocidad y las cámaras son HD el problema puntualmente fue que colocaron el árbol de navidad con sus luces intermitentes junto a la entrada de la oficina, por ende la cámara alcanzaba el mismo haciendo que tuviese que transmitir constantemente al servidor central los cambios de la imagen, es decir, cualquier movimiento en el árbol tal como las luces intermitentes!.
Saludos,
[1] http://ipv6tree.bitnet.be/
[2] Imagen tomada de: http://www.publicdomainpictures.net/pictures/60000/velka/christmas-tree-by-the-fire-place.jpg
martes, 26 de julio de 2016
lunes, 7 de diciembre de 2015
Configurando una red con DHCPv6 Server (Cisco), DHCPv6 relay (Linux - ISC) y como CPE un Router Cisco
Introducción
Este post es muy similar al encontrado en: http://blog.acostasite.com/2015/11/configurando-una-red-con-dhcpv6-server.html
La principal diferencia es que en esta oportunidad tendremos el DHCPv6 Server en Cisco y no en Linux
En el presente post vamos a explicar e implementar como trabajar con DHCPv6 Server, Relay y Cliente.
Favor leer la sección: "Explicación de la topología" la cual indica cada función
Topología
Explicación de la topología
En la topología de arriba va a ocurrir lo siguiente:
- El Cisco DHCPv6 Server está entregando prefijos v6
- El DHCPv6 Relay (Debian) va a escuchar por la interfaz ethernet1 (e1) por peticiones DHCPv6 de Prefix Delegation (PD). Las mismas serán reenviadas por la interfaz ethernet0 (e0) al servidor DHCPv6 Server
- El Cisco Router DHCPv6 Client va a hacer solicitudes DHCPv6 PD en su interfaz f1/0, del prefijo recibido va a configurar su interfaz f0/0 y enviar Router Advertisements por dicha interfaz permitiendo a los clientes auto-configurarse. En esta oportunidad también configuraremos otras interfaces pero solo a manera de ejemplo.
- Los clientes conectados a la interfaz f0/0 en el Cisco DHCPv6 Cliente van a autoconfigurarse vía SLAAC utilizando el prefijo recibido por RA
Nótese que para el Router Cisco DHCPv6 Client le es transparente el DHCPv6 Relay Server
Que necesitamos:
- Del lado del Relay el software Relay de DHCPv6 de ISC (que es diferente al server)
- El Router tiene que ser un enrutador que haga DHCPv6 cliente PD
Instalando
En el Relay Server:
#sudo apt-get install isc-dhcp-relay
Durante la instalación del relay se van a realizar varias preguntas. Puedes decidir contestarlas o no. Para este post no es necesario responderlas.
Configuraciones:
Del lado del Cisco DHCPv6 Server:
ipv6 unicast-routing
ipv6 dhcp server DHCPv6-SERVER
end
ipv6 dhcp pool DHCPv6-SERVER
prefix-delegation pool MY-PD-1
Explicando la configuración:
Primero se le indica al equipo que puede enrutar paquetes IPv6. Luego se configura IPs estáticas entre el relay y la interfaz f0/0 (revisar la ethernet0 del relay).
Luego, se le indica que la interfaz sirve como DHCPv6 Server y se le asigna el pool DHCPv6-Server, aquí podemos escribir cualquier nombre.
Dentro del pool DHCPv6-Server se le dice que haga prefix-delegation (se le puede indicar más información pero para nuestro propósito hasta aquí es suficiente) y que utilice un pool local llamado MY-PD-1. Este pool va a utilizar prefijos dentro de 2001:DB8:ABCD::/48 y entregará bloques /56 a sus clientes. Aquí podemos indicar el tamaño de prefijo que queremos.
Del lado del relay:
Red:
#ifconfig eth0 inet6 add 2001:db8::2/64
#ifconfig eth1 inet6 add 2001:db8:1::2/64
No hay configuraciones. El relay es levantado con este comando:
#dhcrelay -I -l eth1 -u eth0
Explicación del comando para ejecutar el dhcp-relay:
Hay muchas maneras y opciones para dhcrelay, en el comando anterior se esta diciendo: que se utilice el DHCPv6 interface-id option, que escuche peticiones por eth1 y las mismas sean enviadas por eth0
Del lado del Cisco Router DHCPv6 Cliente:
ipv6 unicast-routing
interface FastEthernet1/0
description Hacia DHCPv6 Relay Server
ipv6 address 2001:DB8:1::1/64
ipv6 dhcp client pd IP-FROM-DHCPv6-SERVER
end
interface FastEthernet0/0
description Hacia LAN
ipv6 address IP-FROM-DHCPv6-SERVER ::1/64
end
Explicación de la configuración del router Cisco:
Para revisar:
Del lado del DHCPv6 Server deberiamos ver algo como:
DHCP-Server#debug ipv6 dhcp detail
Se veran mensajes como:
*Dec 1 09:55:14.619: IPv6 DHCP: Received RELAY-FORWARD from 2001:DB8::2 on FastEthernet0/0
*Dec 1 09:55:14.623: IPv6 DHCP: detailed packet contents
*Dec 1 09:55:14.623: src 2001:DB8::2 (FastEthernet0/0)
*Dec 1 09:55:14.627: dst FF05::1:3
*Dec 1 09:55:14.627: type RELAY-FORWARD(12), hop 0
*Dec 1 09:55:14.627: link 2001:DB8:1::2
*Dec 1 09:55:14.631: peer FE80::C801:24FF:FE20:1C
*Dec 1 09:55:14.631: option INTERFACE-ID(18), len 4
*Dec 1 09:55:14.635: 0x01000000
*Dec 1 09:55:14.639: option RELAY-MSG(9), len 50
*Dec 1 09:55:14.639: type SOLICIT(1), xid 2389101
*Dec 1 09:55:14.643: option ELAPSED-TIME(8), len 2
*Dec 1 09:55:14.643: elapsed-time 0
*Dec 1 09:55:14.647: option CLIENTID(1), len 10
*Dec 1 09:55:14.647: 00030001CA0124200000
*Dec 1 09:55:14.647: option ORO(6), len 6
*Dec 1 09:55:14.651: IA-PD,DNS-SERVERS,DOMAIN-LIST
*Dec 1 09:55:14.655: option IA-PD(25), len 12
*Dec 1 09:55:14.659:
DHCP-Server# IAID 0x00040001, T1 0, T2 0
*Dec 1 09:55:14.663: IPv6 DHCP: Using interface pool DHCPv6-SERVER
*Dec 1 09:55:14.667: IPv6 DHCP: Source Address from SAS 2001:DB8::1
Nótese que 2001:DB8:ABCD::/64 corresponde al prefijo configurado en el DHCPv6 Server que es entregado vía PD
Algo muy importante es el comando:
b) R1#show ipv6 dhcp
El cual muestra el DUID (DHCPv6 Unique ID) del equipo (RFC3315):
This device's DHCPv6 unique identifier(DUID): 00030001CA0124200000
Podemos apreciar que este mismo número es que le llega al DHCPv6 Server
Del lado del cliente:
Depende de tu OS puedes hacer:
c:\ipconfig
o
#ifconfig
¿Si hay más de una interfaz del lado del cliente?
Vamos a revisar que IPs tienen entonces L0 y L1:
R1#sh ipv6 int l0
Loopback0 is up, line protocol is up
Global unicast address(es):
2001:DB8:ABCD:1::1, subnet is 2001:DB8:ABCD:1::/64 [CAL/PRE]
R1#sh ipv6 int l1
Loopback1 is up, line protocol is up
Global unicast address(es):
2001:DB8:ABCD:2::1, subnet is 2001:DB8:ABCD:2::/64 [CAL/PRE]
Proximos pasos
- Falta la parte de routing, hay muchas maneras de hacerlo, indiscutiblemente la intención es hacerlo con un protocolo de enrutamiento dinámico
Para más información:
- https://tools.ietf.org/html/rfc6355
- http://www.cisco.com/c/en/us/support/docs/ip/ip-version-6-ipv6/113141-DHCPv6-00.html
- http://blog.acostasite.com/2014/04/instalar-isc-dhcp-43-en-linux-ubuntu.html
- http://blog.acostasite.com/2014/04/solucion-tres-errores-cuando-queremos.html
- http://blog.acostasite.com/2015/11/configurando-una-red-con-dhcpv6-server.html
Este post es muy similar al encontrado en: http://blog.acostasite.com/2015/11/configurando-una-red-con-dhcpv6-server.html
La principal diferencia es que en esta oportunidad tendremos el DHCPv6 Server en Cisco y no en Linux
En el presente post vamos a explicar e implementar como trabajar con DHCPv6 Server, Relay y Cliente.
Favor leer la sección: "Explicación de la topología" la cual indica cada función
Topología
Explicación de la topología
En la topología de arriba va a ocurrir lo siguiente:
- El Cisco DHCPv6 Server está entregando prefijos v6
- El DHCPv6 Relay (Debian) va a escuchar por la interfaz ethernet1 (e1) por peticiones DHCPv6 de Prefix Delegation (PD). Las mismas serán reenviadas por la interfaz ethernet0 (e0) al servidor DHCPv6 Server
- El Cisco Router DHCPv6 Client va a hacer solicitudes DHCPv6 PD en su interfaz f1/0, del prefijo recibido va a configurar su interfaz f0/0 y enviar Router Advertisements por dicha interfaz permitiendo a los clientes auto-configurarse. En esta oportunidad también configuraremos otras interfaces pero solo a manera de ejemplo.
- Los clientes conectados a la interfaz f0/0 en el Cisco DHCPv6 Cliente van a autoconfigurarse vía SLAAC utilizando el prefijo recibido por RA
Nótese que para el Router Cisco DHCPv6 Client le es transparente el DHCPv6 Relay Server
Que necesitamos:
- Del lado del Relay el software Relay de DHCPv6 de ISC (que es diferente al server)
- El Router tiene que ser un enrutador que haga DHCPv6 cliente PD
Instalando
En el Relay Server:
#sudo apt-get install isc-dhcp-relay
Durante la instalación del relay se van a realizar varias preguntas. Puedes decidir contestarlas o no. Para este post no es necesario responderlas.
Configuraciones:
Del lado del Cisco DHCPv6 Server:
ipv6 unicast-routing
interface FastEthernet0/0
ipv6 address 2001:DB8::1/64ipv6 dhcp server DHCPv6-SERVER
end
prefix-delegation pool MY-PD-1
ipv6 local pool MY-PD-1 2001:DB8:ABCD::/48 56
Primero se le indica al equipo que puede enrutar paquetes IPv6. Luego se configura IPs estáticas entre el relay y la interfaz f0/0 (revisar la ethernet0 del relay).
Luego, se le indica que la interfaz sirve como DHCPv6 Server y se le asigna el pool DHCPv6-Server, aquí podemos escribir cualquier nombre.
Dentro del pool DHCPv6-Server se le dice que haga prefix-delegation (se le puede indicar más información pero para nuestro propósito hasta aquí es suficiente) y que utilice un pool local llamado MY-PD-1. Este pool va a utilizar prefijos dentro de 2001:DB8:ABCD::/48 y entregará bloques /56 a sus clientes. Aquí podemos indicar el tamaño de prefijo que queremos.
Del lado del relay:
Red:
#ifconfig eth0 inet6 add 2001:db8::2/64
#ifconfig eth1 inet6 add 2001:db8:1::2/64
No hay configuraciones. El relay es levantado con este comando:
#dhcrelay -I -l eth1 -u eth0
Explicación del comando para ejecutar el dhcp-relay:
Hay muchas maneras y opciones para dhcrelay, en el comando anterior se esta diciendo: que se utilice el DHCPv6 interface-id option, que escuche peticiones por eth1 y las mismas sean enviadas por eth0
Del lado del Cisco Router DHCPv6 Cliente:
ipv6 unicast-routing
interface FastEthernet1/0
description Hacia DHCPv6 Relay Server
ipv6 address 2001:DB8:1::1/64
ipv6 dhcp client pd IP-FROM-DHCPv6-SERVER
end
description Hacia LAN
ipv6 address IP-FROM-DHCPv6-SERVER ::1/64
end
Primero se habilita el routing IPv6 en el equipo.
Segundo, en la interfaz F1/0 se le esta diciendo al router que es DHCP cliente para prefijos y le asignamos el nombre: IP-FROM-DHCPv6-SERVER
Tercero, en la interfaz f0/0 le indica al router que utilice el prefijo recibido via DHCPv6 client y asigne el mismo a la interfaz como ::1/64. Es decir, el router toma el /56 del DHCPv6 y el mismo router va a crear una /64 para f0/0 (nota que puedes configurar otras interfaces utilizando el mismo prefijo recibido por el DHCP).
Para revisar:
Del lado del DHCPv6 Server deberiamos ver algo como:
a) Con el DHCPv6 server corriendo en foreground puedes ver:
DHCP-Server#debug ipv6 dhcp detail
Se veran mensajes como:
*Dec 1 09:55:14.619: IPv6 DHCP: Received RELAY-FORWARD from 2001:DB8::2 on FastEthernet0/0
*Dec 1 09:55:14.623: IPv6 DHCP: detailed packet contents
*Dec 1 09:55:14.623: src 2001:DB8::2 (FastEthernet0/0)
*Dec 1 09:55:14.627: dst FF05::1:3
*Dec 1 09:55:14.627: type RELAY-FORWARD(12), hop 0
*Dec 1 09:55:14.627: link 2001:DB8:1::2
*Dec 1 09:55:14.631: peer FE80::C801:24FF:FE20:1C
*Dec 1 09:55:14.631: option INTERFACE-ID(18), len 4
*Dec 1 09:55:14.635: 0x01000000
*Dec 1 09:55:14.639: option RELAY-MSG(9), len 50
*Dec 1 09:55:14.639: type SOLICIT(1), xid 2389101
*Dec 1 09:55:14.643: option ELAPSED-TIME(8), len 2
*Dec 1 09:55:14.643: elapsed-time 0
*Dec 1 09:55:14.647: option CLIENTID(1), len 10
*Dec 1 09:55:14.647: 00030001CA0124200000
*Dec 1 09:55:14.647: option ORO(6), len 6
*Dec 1 09:55:14.651: IA-PD,DNS-SERVERS,DOMAIN-LIST
*Dec 1 09:55:14.655: option IA-PD(25), len 12
*Dec 1 09:55:14.659:
DHCP-Server# IAID 0x00040001, T1 0, T2 0
*Dec 1 09:55:14.663: IPv6 DHCP: Using interface pool DHCPv6-SERVER
*Dec 1 09:55:14.667: IPv6 DHCP: Source Address from SAS 2001:DB8::1
b) DHCP-Server#sh ipv6 dhcp binding
Client: FE80::C801:24FF:FE20:1C
DUID: 00030001CA0124200000
Username : unassigned
Interface : relayed
IA PD: IA ID 0x00040001, T1 302400, T2 483840
Prefix: 2001:DB8:ABCD::/56
preferred lifetime 604800, valid lifetime 2592000
expires at Dec 31 2015 09:55 AM (2589331 seconds)
Del lado del Cliente DHCPv6 Cisco:
Para revisar si la interfaz f0/0 se autoconfiguró cone l prefijo recibido por el DHCPv6:
a) R1#show ipv6 interface f0/0
Vamos a ver algo como:
R1#sh ipv6 int f0/0
FastEthernet0/0 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::C801:24FF:FE20:0
No Virtual link-local address(es):
Description: Hacia LAN
General-prefix in use for addressing
Global unicast address(es):
2001:DB8:ABCD::1, subnet is 2001:DB8:ABCD::/64 [CAL/PRE]
FastEthernet0/0 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::C801:24FF:FE20:0
No Virtual link-local address(es):
Description: Hacia LAN
General-prefix in use for addressing
Global unicast address(es):
2001:DB8:ABCD::1, subnet is 2001:DB8:ABCD::/64 [CAL/PRE]
Nótese que 2001:DB8:ABCD::/64 corresponde al prefijo configurado en el DHCPv6 Server que es entregado vía PD
Algo muy importante es el comando:
b) R1#show ipv6 dhcp
El cual muestra el DUID (DHCPv6 Unique ID) del equipo (RFC3315):
This device's DHCPv6 unique identifier(DUID): 00030001CA0124200000
Podemos apreciar que este mismo número es que le llega al DHCPv6 Server
Del lado del cliente:
Depende de tu OS puedes hacer:
c:\ipconfig
o
#ifconfig
¿Si hay más de una interfaz del lado del cliente?
En el ejemplo anterior el Cisco DHCPv6 Cliente está recibiendo un prefijo /56, esto quiere decir que tenemos hasta 8 redes /64 para crear. Hasta el momento solo hemos utilizado una en la f0/0.
De manera de ejemplo vamos a crear otras redes en las interfaces loopback0 y looback1 del router del lado del cliente.
interface Loopback0
ipv6 address IP-FROM-DHCPv6-SERVER ::1:0:0:0:1/64
end
interface Loopback1
ipv6 address IP-FROM-DHCPv6-SERVER ::2:0:0:0:1/64
end
La manera de construir los pseudo IPs (pe. ::1:0:0:0:1/64) colocados en la interfaz es la siguiente:
Imaginamos el prefijo recibido por DHCPv6, sabemos que es un /56. Lo que estamos haciendo es completando el resto del IP.
Es decir: recibimos por DHCPv6 2001:db8:ABCD::/56. Al decirle a la loopback 1 ::1:0:0:0:1/64 construimos: 2001:db8:ABCD::1:0:0:0:1/64 (Prefijo recibido + la configuracion de la interfaz)
Vamos a revisar que IPs tienen entonces L0 y L1:
R1#sh ipv6 int l0
Loopback0 is up, line protocol is up
Global unicast address(es):
2001:DB8:ABCD:1::1, subnet is 2001:DB8:ABCD:1::/64 [CAL/PRE]
R1#sh ipv6 int l1
Loopback1 is up, line protocol is up
Global unicast address(es):
2001:DB8:ABCD:2::1, subnet is 2001:DB8:ABCD:2::/64 [CAL/PRE]
Proximos pasos
- Falta la parte de routing, hay muchas maneras de hacerlo, indiscutiblemente la intención es hacerlo con un protocolo de enrutamiento dinámico
Para más información:
- https://tools.ietf.org/html/rfc6355
- http://www.cisco.com/c/en/us/support/docs/ip/ip-version-6-ipv6/113141-DHCPv6-00.html
- http://blog.acostasite.com/2014/04/instalar-isc-dhcp-43-en-linux-ubuntu.html
- http://blog.acostasite.com/2014/04/solucion-tres-errores-cuando-queremos.html
- http://blog.acostasite.com/2015/11/configurando-una-red-con-dhcpv6-server.html
lunes, 30 de noviembre de 2015
Configurando una red con DHCPv6 Server (ISC), DHCPv6 relay (ISC) y como CPE un Router Cisco
Introducción
En el presente post vamos a explicar e implementar como trabajar con DHCPv6 Server, Relay y Cliente.
Favor leer la sección: "Explicación de la topología" la cual indica cada función
Topología
Explicación de la topología
En la topología de arriba va a ocurrir lo siguiente:
- El Ubuntu DHCPv6 Server está entregando prefijos v6
- El DHCPv6 Relay va a escuchar por la interfaz ethernet1 (e1) por peticiones DHCPv6 de Prefix Delegation (PD). Las mismas serán reenviadas por la interfaz ethernet0 (e0) al servidor DHCPv6 Server
- El Cisco Router va a hacer solicitudes DHCPv6 PD en su interfaz f1/0, del prefijo recibido va a configurar su interfaz f0/0 y enviar Router Advertisements por dicha interfaz permitiendo a los clientes auto-configurarse
- El cliente se va a autoconfigurar utilizando el prefijo recibido por RA
Nótese que para el Router Cisco le es transparente el DHCPv6 Relay Server
Que necesitamos:
- Del lado del server el servidor de ISC DHCPv6
- Del lado del ralay el relay de DHCPv6 de ISC (que es diferente al server)
- El Router tiene que ser un enrutador que haga DHCPv6 cliente PD
Instalando
En el Server Linux:
#sudo apt-get install isc-dhcp-server
En el Relay Server:
#sudo apt-get install isc-dhcp-relay
Durante la instalación del relay se van a realizar varias preguntas. Puedes decidir contestarlas o no. Para este post no es necesario responderlas.
Configuraciones:
Del lado del Server:
Red:
#ifconfig eth1 ine6 add 2001:db8::2/64
#route -A inet6 add default gw 2001:db8::1
en /etc/dhcp/dhcpd.conf
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet6 2001:db8::/32 {
#Prefix range for PD
prefix6 2001:db8:1:100:: 2001:db8:1:f00 /56;
}
Explicacion de la configuracion dhcpd.conf:
La parte mas importante de la configuracion de arriba es la linea "prefix6" donde se indica el prefijo inicial y final /56 que los clientes van a recibir.
Para levantar el servicio de DHCPv6:
# /usr/sbin/dhcpd -6 -d -cf /etc/dhcp/dhcpd.conf eth0
Del lado del relay:
Red:
#ifconfig eth0 inet6 add 2001:db8::2/64
#ifconfig eth1 inet6 add 2001:db8:1::2/64
No hay configuraciones. El relay es levantado con este comando:
#dhcrelay -I -l eth1 -u eth0
Explicación del comando para ejecutar el dhcp-relay:
Hay muchas maneras y opciones para dhcrelay, en el comando anterior se esta diciendo: que se utilice el DHCPv6 interface-id option, que escuche peticiones por eth1 y las mismas sean enviadas por eth0
Del lado del Cisco Router:
ipv6 unicast-routing
interface FastEthernet1/0
description Hacia DHCPv6 Relay Server
ipv6 address 2001:DB8:1::1/64
ipv6 dhcp client pd IP-FROM-DHCPv6-SERVER
end
interface FastEthernet0/0
description Hacia LAN
ipv6 address IP-FROM-DHCPv6-SERVER ::1/64
end
Explicación de la configuración del router Cisco:
Para revisar:
Del lado del DHCPv6 Server deberiamos ver algo como:
Relay-forward message from 2001:db8::2 port 547, link address 2001:db8:1::2, peer address fe80::c801:24ff:fe20:1c
Picking pool prefix 2001:db8:1:f00::/56
Advertise PD: address 2001:db8:1:f00::/56 to client with duid 00:03:00:01:ca:01:24:20:00:00 iaid = 262145 valid for 600 seconds
Wrote 0 NA, 0 TA, 1 PD leases to lease file.
Sending Relay-reply to 2001:db8::2 port 547
Relay-forward message from 2001:db8::2 port 547, link address 2001:db8:1::2, peer address fe80::c801:24ff:fe20:1c
Reply PD: address 2001:db8:1:f00::/56 to client with duid 00:03:00:01:ca:01:24:20:00:00 iaid = 262145 valid for 600 seconds
Sending Relay-reply to 2001:db8::2 port 547
Nótese que 2001:db8:1:f00/64 corresponde al prefijo configurado en el DHCPv6 Server que es entregado vía PD
Algo muy importante es el comando:
b) R1#show ipv6 dhcp
El cual muestra el DUID (DHCPv6 Unique ID) del equipo (RFC3315):
This device's DHCPv6 unique identifier(DUID): 00030001CA0124200000
Podemos apreciar que este mismo número es que le llega al DHCPv6 Server
Del lado del cliente:
Depende de tu OS puedes hacer:
c:\ipconfig
o
#ifconfig
Proximos pasos
- Falta la parte de routing, hay muchas maneras de hacerlo, indiscutiblemente la intención es hacerlo con un protocolo de enrutamiento dinámico
- En el próximo Post haremos exactamente lo mismo pero con el DHCPv6 Server que sea una caja Cisco.
Para más información:
- https://tools.ietf.org/html/rfc6355
- http://www.cisco.com/c/en/us/support/docs/ip/ip-version-6-ipv6/113141-DHCPv6-00.html
- http://blog.acostasite.com/2014/04/instalar-isc-dhcp-43-en-linux-ubuntu.html
- http://blog.acostasite.com/2014/04/solucion-tres-errores-cuando-queremos.html
En el presente post vamos a explicar e implementar como trabajar con DHCPv6 Server, Relay y Cliente.
Favor leer la sección: "Explicación de la topología" la cual indica cada función
Topología
Explicación de la topología
En la topología de arriba va a ocurrir lo siguiente:
- El Ubuntu DHCPv6 Server está entregando prefijos v6
- El DHCPv6 Relay va a escuchar por la interfaz ethernet1 (e1) por peticiones DHCPv6 de Prefix Delegation (PD). Las mismas serán reenviadas por la interfaz ethernet0 (e0) al servidor DHCPv6 Server
- El Cisco Router va a hacer solicitudes DHCPv6 PD en su interfaz f1/0, del prefijo recibido va a configurar su interfaz f0/0 y enviar Router Advertisements por dicha interfaz permitiendo a los clientes auto-configurarse
- El cliente se va a autoconfigurar utilizando el prefijo recibido por RA
Nótese que para el Router Cisco le es transparente el DHCPv6 Relay Server
Que necesitamos:
- Del lado del server el servidor de ISC DHCPv6
- Del lado del ralay el relay de DHCPv6 de ISC (que es diferente al server)
- El Router tiene que ser un enrutador que haga DHCPv6 cliente PD
Instalando
En el Server Linux:
#sudo apt-get install isc-dhcp-server
En el Relay Server:
#sudo apt-get install isc-dhcp-relay
Durante la instalación del relay se van a realizar varias preguntas. Puedes decidir contestarlas o no. Para este post no es necesario responderlas.
Configuraciones:
Del lado del Server:
Red:
#ifconfig eth1 ine6 add 2001:db8::2/64
#route -A inet6 add default gw 2001:db8::1
en /etc/dhcp/dhcpd.conf
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet6 2001:db8::/32 {
#Prefix range for PD
prefix6 2001:db8:1:100:: 2001:db8:1:f00 /56;
}
Explicacion de la configuracion dhcpd.conf:
La parte mas importante de la configuracion de arriba es la linea "prefix6" donde se indica el prefijo inicial y final /56 que los clientes van a recibir.
Para levantar el servicio de DHCPv6:
# /usr/sbin/dhcpd -6 -d -cf /etc/dhcp/dhcpd.conf eth0
Del lado del relay:
Red:
#ifconfig eth0 inet6 add 2001:db8::2/64
#ifconfig eth1 inet6 add 2001:db8:1::2/64
No hay configuraciones. El relay es levantado con este comando:
#dhcrelay -I -l eth1 -u eth0
Explicación del comando para ejecutar el dhcp-relay:
Hay muchas maneras y opciones para dhcrelay, en el comando anterior se esta diciendo: que se utilice el DHCPv6 interface-id option, que escuche peticiones por eth1 y las mismas sean enviadas por eth0
Del lado del Cisco Router:
ipv6 unicast-routing
interface FastEthernet1/0
description Hacia DHCPv6 Relay Server
ipv6 address 2001:DB8:1::1/64
ipv6 dhcp client pd IP-FROM-DHCPv6-SERVER
end
description Hacia LAN
ipv6 address IP-FROM-DHCPv6-SERVER ::1/64
end
Primero se habilita el routing IPv6 en el equipo.
Segundo, en la interfaz F1/0 se le esta diciendo al router que es DHCP cliente para prefijos y le asignamos el nombre: IP-FROM-DHCPv6-SERVER
Tercero, en la interfaz f0/0 le indica al router que utilice el prefijo recibido via DHCPv6 client y asigne el mismo a la interfaz como ::1/64. Es decir, el router toma el /56 del DHCPv6 y el mismo router va a crear una /64 para f0/0 (nota que puedes configurar otras interfaces utilizando el mismo prefijo recibido por el DHCP).
Para revisar:
Del lado del DHCPv6 Server deberiamos ver algo como:
a) Con el DHCPv6 server corriendo en foreground puedes ver:
Relay-forward message from 2001:db8::2 port 547, link address 2001:db8:1::2, peer address fe80::c801:24ff:fe20:1c
Picking pool prefix 2001:db8:1:f00::/56
Advertise PD: address 2001:db8:1:f00::/56 to client with duid 00:03:00:01:ca:01:24:20:00:00 iaid = 262145 valid for 600 seconds
Wrote 0 NA, 0 TA, 1 PD leases to lease file.
Sending Relay-reply to 2001:db8::2 port 547
Relay-forward message from 2001:db8::2 port 547, link address 2001:db8:1::2, peer address fe80::c801:24ff:fe20:1c
Reply PD: address 2001:db8:1:f00::/56 to client with duid 00:03:00:01:ca:01:24:20:00:00 iaid = 262145 valid for 600 seconds
Sending Relay-reply to 2001:db8::2 port 547
b) Para revisar los leases:
# more /var/lib/dhcp/dhcpd6.leases
Del lado del router Cisco:
Para revisar si la interfaz f0/0 se autoconfiguró cone l prefijo recibido por el DHCPv6:
a) R1#show ipv6 interface f0/0
Vamos a ver algo como:
R1#sh ipv6 interface f0/0
FastEthernet0/0 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::C801:24FF:FE20:0
No Virtual link-local address(es):
Description: Hacia LAN
General-prefix in use for addressing
Global unicast address(es):
2001:DB8:1:F00::1, subnet is 2001:DB8:1:F00::/64 [CAL/PRE]
Nótese que 2001:db8:1:f00/64 corresponde al prefijo configurado en el DHCPv6 Server que es entregado vía PD
Algo muy importante es el comando:
b) R1#show ipv6 dhcp
El cual muestra el DUID (DHCPv6 Unique ID) del equipo (RFC3315):
This device's DHCPv6 unique identifier(DUID): 00030001CA0124200000
Podemos apreciar que este mismo número es que le llega al DHCPv6 Server
Del lado del cliente:
Depende de tu OS puedes hacer:
c:\ipconfig
o
#ifconfig
Proximos pasos
- Falta la parte de routing, hay muchas maneras de hacerlo, indiscutiblemente la intención es hacerlo con un protocolo de enrutamiento dinámico
- En el próximo Post haremos exactamente lo mismo pero con el DHCPv6 Server que sea una caja Cisco.
Para más información:
- https://tools.ietf.org/html/rfc6355
- http://www.cisco.com/c/en/us/support/docs/ip/ip-version-6-ipv6/113141-DHCPv6-00.html
- http://blog.acostasite.com/2014/04/instalar-isc-dhcp-43-en-linux-ubuntu.html
- http://blog.acostasite.com/2014/04/solucion-tres-errores-cuando-queremos.html
Suscribirse a:
Entradas (Atom)
Se viene esta palabra: noiafobia
noiafobia = No Inteligencia Artificial Fobia o noaifobia = No Artificial Intelligence Fobia
-
Debido al crecimiento moderado que ha tenido el presente blog se me ocurrió añadir/integrar las estadisticas de google analytics a mi blog. ...
-
Introduccion: En algunas ocasiones es necesario "bajar" o deshabilitar iptables en nuestro Linux, el procedimiento depende de...
-
Saludos, Lo primero que debemos de hacer para quitar el stacking entre los switches es desconectar los cables Stack que los unen.... Es buen...