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.
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
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
viernes, 30 de abril de 2021
Como conectarse via consola a un router Cisco desde una MAC
martes, 23 de marzo de 2021
RFC 7911- BGP Add-path en acción
sábado, 23 de mayo de 2020
BGP Conditional en el mundo IPv6 - BGP Condicional
viernes, 20 de marzo de 2020
Demo tunel GRE - Conectando islas IPv4 sobre IPv6
miércoles, 11 de marzo de 2020
Tunel GRE entre Linux y Cisco IOS
Del lado del Cisco
Saludos
jueves, 10 de octubre de 2019
Configurando una sesión BGP entre dos loopbacks con IPv6 - ebgp multihop y captura de 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
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
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
- 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
- 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)
- 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).
- 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
domingo, 1 de enero de 2017
Como la navidad puede dañar una red (experiencia real, BTW adoro la navidad)
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
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
prefix-delegation pool MY-PD-1
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
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
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?
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
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
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
Una mejora práctica en el Transporte DNS sobre UDP en IPv6
Por Hugo Salgado y Alejandro Acosta Introducción y planteamiento del problema En el presente documento queremos discutir sobre un draft (bor...
-
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...