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:
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



sábado, 28 de noviembre de 2015

Carta de LACNIC Labs a Papa Noel

Querido Papá Noel, alias Santa Claus,

  Quiero comenzar esta carta dándote un gran saludo,  ojalá también pudiese darte un fuerte abrazo. Hace mucho que no te escribía, siento una felicidad interna indescriptible e inesperada.
  Quizás te extrañe un poco que vuelva a aparecer luego de tantos años, dicen que nunca es tarde, te aseguro que el cariño es el mismo, perdón, hoy en día es mayor, he aprendido a comprenderte y admirar tu trabajo, mis felicitaciones a tú persona!! :-)
  Antes de continuar no puedo omitir indicarte que todo el año me he portado muy bien, he hecho mis tareas cabalmente, ayudo al prójimo, he intento ser parte de la solución y no del problema. Claro, tú lo sabes todo pero quería decírtelo para prevenir, alguna se te debe escapar.
  Ahora bien, vamos al grano, se que tienes mucho trabajo y sobre todo en estas fechas, tu tiempo es valioso así que no voy a extenderme mucho.
  Te escribo no por mí, desde chico me enseñaron a pedir para los demás, en esta ocasión voy a pedir por alrededor de 600 millones de latinoamericanos, suena mucho pero créeme que solo hay que enfocarse en una pequeña cúpula de personas.., el resto viene solo.
  ¿Qué voy a pedir para toda esta gente?…, cosas más sencillas que lo que parecen, me han dicho que no sabes mucho de tecnología y por ello voy a explicarte muy breve cada regalito.., ahh, tampoco voy a pedir mucho, me han enseñado a máximo tres regalos y sin garantía de que se cumpla…., pienso que mis padres repetían lo que tu le decías a ellos.
  Quiero para esta navidad o durante el 2016:

- Un Internet más seguro… Santa, puedes creer que existen muchas tecnologías de seguridad y aún no las implementan!, muchas gratis y sencillas, bueno Santa, esta no puede faltar. Pls!
- Mejores interconexiones… con esto quiero decir más IXPs, más conexiones entre ISPs y diferentes entidades. Esto trae ahorre de costos, mejor rendimiento, mayor uptime de servicios, facilidad de troubleshooting y muchas cosas más. Es una práctica mundialmente aplaudida y comprobada y aún hay gente que no esta convencida. ¿Me ayudas?
- Y por último…, más IPv6 en la región!. ¿Puedes creer que el promedio aún es ligeramente mayor al 1% en LAC?.., estamos hablando de un protocolo que va a ayudar a los países a ser más productivos, a mejorar la calidad de vida de la gente, a disminuir la rata de falla en las aplicaciones y aún así mucha gente no da el paso a implementarlo. ¿Cuento contigo?


  En estos tiempos tan difíciles de gusanos, backdoors, rootkits, troyanos, secuestro de redes e información creo que mi solicitud no es una cosa loca, se que no es fácil pero entre todos podemos :-)   Ahh, no debemos olvidar el otro casi 50% de la población que aun no cuenta con Internet, afortunadamente este indicador se mueve a favor de mí deseo pero me encantaría que fuese más rápido, no por mí, sino por ellos.

  Antes de finalizar la carta no quiero despedirme sin enviarle saludos a la señora Santa y a los renos -en especial a Rodolfo!!-, quienes han hecho pasar horas de infinita alegría a millones de niños.  Espero todos tengan su tablet y su conexión a Internet con IPv6, sino me avisas y vemos si podemos conectarte en el Polo Norte…, creo que no lo cubre Lacnic pero te extendemos nuestro apoyo.

  Recibe un gran saludo, ojalá pases por mí casa  y en vez de dejarte unas galletas  y leche, te daré un modem Wifi 802.11ac y un SSD.

Un fuerte abrazo con mucho amor

Lacnic Labs


NVIDIA GPUs for Machine Learning are hard to come by at affordable prices. Runpod is offering GPU rental at 80% of the price of most competitors. You will get a dedicated GPU with all the perks of running Tensorflow, Pytorch or your own software tools.

BGP Stream: un año de análisis sobre incidentes BGP

BGP Stream: un año de análisis sobre incidentes BGP 04/03/2024 Por  Alejandro Acosta , Coordinador de I+D en LACNIC LACNIC presenta  la prim...