1 / 53

Jornadas Técnicas RedIRIS 2003 Palma de Mallorca Guía de IPv6

Jornadas Técnicas RedIRIS 2003 Palma de Mallorca Guía de IPv6. Grupo de Coordinación iris-ipv6. Agenda. ¿por qué IPv6? Cabecera IPv6 Direccionamiento Autoconfiguración DNS Configuración de routers Routing Mecanismos de transición Migración de una red Seguridad. Por qué IPv6.

Download Presentation

Jornadas Técnicas RedIRIS 2003 Palma de Mallorca Guía de IPv6

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Jornadas Técnicas RedIRIS 2003Palma de MallorcaGuía de IPv6 Grupo de Coordinación iris-ipv6

  2. Agenda • ¿por qué IPv6? • Cabecera IPv6 • Direccionamiento • Autoconfiguración • DNS • Configuración de routers • Routing • Mecanismos de transición • Migración de una red • Seguridad

  3. Por qué IPv6 • Para tener más direcciones. Es la razón principal • Si yo no necesito más direcciones… • IPv6 está de moda -> muchos proyectos • La gente va añadiendo soporte, será necesario soportar IPv6 para no quedarse ‘atrás’ • Facilita las conexiones end-to-end • Técnicamente: • Seguridad en capa de red • IPsec es un añadido para IPv4 • Autoconfiguración • Routing más eficiente, jerárquico • Aprender de los errores-delegación de dir. sin optimización ni agregación • Cabecera más sencilla

  4. Por qué IPv6 • Y cada vez hay más dispositivos conectados a una red de datos • Ahora… • Antes…

  5. Por qué IPv6 • En los países con carencia (teórica) de direccionamiento, la implantación de IPv6 es mayor • En el resto, la demanda surgirá a medida que aumente el número de cacharros conectados a Internet • Empresas comerciales como Sony o Microsoft incluirán IPv6 en sus productos • Así será necesario soportar IPv6 para no estar desconectado de una parte de la red. • De todas formas…posiblemente IPv4 no desaparecerá nunca

  6. Un vistazo a la cabecera • La cabecera es más sencilla

  7. Campos de la cabecera • Class es el type of service de IPv4, que se ha cambiado de nombre • Hop limit es el time to live de IPv4 • Flow label, utilizado en QoS • Payload length es la longitud de los datos • Next header, la siguiente cabecera • Se simplifica la cabecera, y si hay más cosas, se ponen en cabeceras contiguas • No hay checksum • No hay fragmentación, sólo extremo a extremo • MTU discovery

  8. Extensiones de cabecera e ICMP • Tipos de extensiones de cabecera: • Routing • Fragmentación • Opciones Hop-by-Hop • Opciones de destino • Autenticación • ICMP • Completamente nuevo • Incluye IGMP

  9. Direccionamiento • Hay unicast, anycast y multicast (pero de 128 bits): muchas • DNS básico (como es hexadecimal, hay truquitos…) • No hay broadcast (mcast hace su papel) • P.ej.:todo 0s y todo 1s son direcciones válidas  • Sintaxis: • aaaa:bbbb:cccc:dddd:eeee:ffff:0000:1111 • Pueden suprimirse un bloque de ceros por :: • No hay máscaras, sino /número bits (notación CIDR)

  10. Direccionamiento • Este es el formato de una dirección: • Las direcciones unicast «globales» empiezan por 001 • todo lo que se ve ahora en la tabla de rutas es 2001::… o 3ffe::… • A cada centro se asigna un /48 • Global routing prefix • Una red es un /64 (o sea, el equivalente a una clase C, más o menos…) • ID Interfaz • ¡Tengo 16 bits para direccionar mi centro! • ID Subred prefijo global routing ID subred ID interfaz

  11. Distribución de mis direcciones • En RedIRIS me han dado 2001:720:cafe::/48 • ¿Qué hago? • Se puede dejar asignado todo el direccionamiento de un tirón, y despreocuparnos • Lo primero, tener en cuenta que, por ejemplo • 2001:720:cafe:f000::/55 nos obliga a crear dos ficheros en la configuración del DNS, para un mismo prefijo (nibble bit): • 2001:720:cafe:f000/56 • 2001:720:cafe:f100/56 • Mejor evitar molestias innecesarias • Pensar en reservar • No pensar en desperdiciar (como hay tanto...)

  12. Asignación de direccionamiento • Tened en cuenta: • A redes finales un /64 • Se recomienda un /64 para interfaces de routers • Nosotros usamos un /126 (4 direcciones) • GÉANT también • En otras redes un /127, /117, … • Entonces, podemos asignar un /56 a cada facultad/edificio/sede/lo-que-sea • Tenemos para 256 (56-48=8 bits, 2^8=256) • Y cada uno de ellos tiene para 256 redes (64-56=8 bits, 2^8=256)

  13. Asignación de direccionamiento • De ese rango, un ‘trozo inicial’ se puede usar para direccionamiento del core, direccionamiento para proyectos, etc... • Por ejemplo, reservo los 32 primeros /56 para estas cosas: • De 2001:720:cafe:0000/56 • A 2001:720:cafe:1f00/56 son míííos, ¡mi tesssoro! • Por sencillez, elegimos 2001:720:cafe:0000/56 para las interfaces del core (lo primero es lo primero) • Las interfaces de los routers de cada centro, se eligen del rango específico • Buscad la agregación

  14. Asignación de direccionamiento • Entonces, si reservamos un /56 por cada asignación que hagamos, quedaría como sigue: • 2001:720:cafe:2000/56 - centro 1 • 2001:720:cafe:2001/56 - reservado • 2001:720:cafe:2002/56 - centro 2 • 2001:720:cafe:2003/56 - reservado • ... • Interfaces de los routers: • Algo fácil de recordar • Si IPv4 es 130.206.1.8, IPv6 es 2001:cafe::8 • ¡Hay letras! (hexadecimal) • egrep “^[a-foA-FO]{4}.$” <dic_esp.txt • Todas las combinaciones (cero por o)

  15. Direcciones de hosts • ¿Cómo configuro mis máquinas? • Cuando está habilitado IPv6 en un host, ya tengo una dirección link-local • Algo así como direccionamiento privado • Empieza por fe80: • No enrutable • Es única en la red local • Esta dirección se configura automáticamente usando el identificador de interfaz • fe80::<interface id> • Se usan para descubrimiento de vecino y descubrimiento de router

  16. Direcciones de hosts • El Identificador de interfaz • Los últimos 64 bits de la dirección • Único en cada red local • Dir. IPv6 orientada a interfaz, no a host • La dir. MAC está mapeada (no siempre, ya que la dir. IPv6 también se puede configurar manualmente). • Configuración automática (no es DHCPv6, aunque también exista): • A partir de la dirección MAC • EUI-48 (IPv4) a EUI-64 (IPv6) • La dirección se configura automáticamente gracias a los mensajes router advertisement y router solicitation • Los hosts descubren automáticamente a los routers

  17. Direcciones de hosts • Un ejemplo: • El router anuncia 3ffe:3328:5:1::/64 • La MAC de mi máquina es • 00:60:08:3a:9e:b7 • Mi ID de interfaz EUI-64 se construye como: • 0260:08ff:fe3a:9eb7 • 0260:08ff:fe3a:9eb7es la dir. MAC sin el 00: • Se inserta ff:fe • El 02 del comienzo: • 0000 0010 Este bit indica dir. Universal/Local • Por lo tanto, mi dirección será • 3ffe:3328:0005:0001:0260:08ff:fe3a:9eb7 • ¡Ah! Mi dirección de loopback es ::1

  18. Direcciones en mi red • ¿Cómo se completa la dirección con el prefijo que anuncia el router? • Se necesita: • Direccionamiento multicast • Direccionamiento multicast de solicitud de nodo • En los nodos • Link-local address • Dirección multicast para todos los nodos • Dirección multicast de solicitud de nodo • Dirección de loopback • ICMPv6 • Protocolo de descubrimiento de vecino

  19. Direcciones multicast • Direcciones multicast: • Empiezan por • F F 0 0 Flags: 0,1 (permanente, no permanente) Ámbito:1,2,5,8,e (nodo, link, site, organización, global) • FF02::1 Todos los nodos de una red • FF02::2 Todos los routers de una red • Dirección multicast de solicitud de nodo • FF02:0:0:0:0:1:FF00::/104 • Los últimos 24 bits son los de la parte más baja de la dirección IPv6 del nodo

  20. Autoconfiguración • El protocolo utilizado para la autoconfiguración de los nodos es el neighbor discovery (descubrimiento de vecino) • El host pide al router que mande un mensaje de Router Advertisement inmediatamente mediante un mensaje de solicitud de router • ICMP de tipo 133 • Los routers mandan un mensaje de router advertisement periódicamente • ICMP de tipo 134 • Se incluye el prefijo que anuncia el router, con un tiempo de vida

  21. Autoconfiguración • Un nodo manda un mensaje de solicitud de vecino para determinar la dirección de enlace de un vecino • ICMP de tipo 135 • Se manda un mensaje de neighbor advertisement como respuesta al mensaje anterior • ICMP de tipo 136 • Los routers mandan mensajes de cambio o redirección de router para encontrar el mejor salto para un destino

  22. Autoconfiguración • La configuración de un host puede ser entonces: • Manual o por DHCP (stateful) • Automática (stateless) • En el caso de configuracion automática, ¿cómo detecto direcciones duplicadas? • Hago un join a FF02::1 (todos los nodos de la red) • Hago un join a la dir. multicast de solicitud de nodo, la última parte de la dir. será la de la dir. IPv6 que se quiere comprobar • Se manda un mensaje de solicitud de vecino en la dir. multicast de solicitud de nodo • Si no se recibe un mensaje de neighbor advertisement entonces ¡¡¡la dir. es buena!!!

  23. Autoconfiguración • Ejemplo: • PC1 tiene 3ffe:8::F1 • Dir. de solicitud de nodo FF02::1:FF00:F1 • PC2 tiene 3ffe:8::F2 • Dir. de solicitud de nodo FF02::1::FF00:F2 • Entra PC3 • Intento 3ffe:8::F3 • Join a FF02::1 • Join a FF02::1:FF00:F3 • Manda un mensaje de solicitud de vecino a esta dir. • Escucha la respuesta en FF02::1

  24. Ethernet • En una red Ethernet los host IPv6 usan el ID de interfaz EUI-64 • Recordad: el bit aquel, que indica si es local (0) o global (1), en este caso es 1, es decir, global: globalmente único • Se utiliza la solicitud de vecino para obtener una dirección de nivel de enlace • Ya no hay ARP • Una cosa más respecto al direccionamiento • Las direcciones Site-local no se van a tener en cuenta

  25. Direcciones anycast • Queda un tipo de direcciones por ver: direcciones anycast • Se usan para un grupo de interfaces que tienen la misma dirección • Un paquete enviado a esta dirección va al host más cercano que tenga esa dirección • La cercanía se puede medir con un protocolo de routing • Puede usarse para redundancia o balanceo, como VRRP o HSRP

  26. Configuración de routers en mi red • Para no tener que configurar mi host manualmente, en un CISCO pongo en la interfaz Ethernet: ipv6 nd prefix-advertisement <prefijo> 86400 86400 onlink autoconfig • Y en mi Juniper pongo: router-advertisement { interface fe-1/3/0.0 { prefix 2001:720:4:0::/64; } }

  27. Autoconfiguración de mi host • Entonces, si mi maquina tiene activado IPv6… • En mi dirección de loopback aparece ::1/128 Scope: Host • En las interfaces aparece una link-local: eth0 Link encap:Ethernet HWaddr 00:60:08:3A:9E:B7 inet addr:130.206.1.157 Bcast:130.206.1.255 Mask:255.255.255.128 inet6 addr: fe80::260:8ff:fe3a:9eb7/10 Scope:Link … • Mi máquina se va a configurar «sola» (y tanto rollo anterior, ¿para qué?), a través del prefijo que anuncia el router, pasando a tener conectividad IPv6 total: eth0 Link encap:Ethernet HWaddr 00:60:08:3A:9E:B7 inet addr:130.206.1.157 Bcast:130.206.1.255 Mask:255.255.255.128 inet6 addr: 3ffe:3328:5:1:260:8ff:fe3a:9eb7/64 Scope:Global inet6 addr: fe80::260:8ff:fe3a:9eb7/10 Scope:Link

  28. Tabla de rutas en mi host • ¿Qué rutas tengo? [root@nevado /root]# netstat -nr -Ainet6 Kernel IPv6 routing table Destination Next Hop Flags Metric Ref Use Iface ::1/128 :: U 0 15 2 lo 3ffe:3328:5:1:260:8ff:fe3a:9eb7/128 :: U 0 1090 0 lo 3ffe:3328:5:1::/64 3ffe:3328:5:1::1 UG 1 0 0 eth0 3ffe:3328:5:1::/64 :: UA 256 2 0 eth0 2000::/3 3ffe:3328:5:1::1 UG 1 120 0 eth0 fe80::210:5aff:fed0:3550/128 :: U 0 0 0 lo fe80::260:8ff:fe3a:9eb7/128 :: U 0 12 0 lo fe80::/10 :: UA 256 0 0 eth0 fe80::/10 :: UA 256 0 0 eth1 ff00::/8 :: UA 256 0 0 eth0 ff00::/8 :: UA 256 0 0 eth1

  29. Tabla de rutas en mi host • Tengo rutas para • Mi prefijo • Direcciones link-local • Direcciones multicast • 2000::/3 • Esto es el equivalente a la dir. utilizada para la ruta por defecto ::0/0 • Recordad que las direcciones unicast enrutables globales son las que empiezan por 001 • El router _NO_ anuncia la ruta por defecto en este tipo de autoconfiguración • Una alternativa, DHCP • En resumen, es bastante sencillo tener IPv6 plenamente operativo en mis hosts

  30. Configuración manual • Mis hosts también los puedo configurar manualmente, al estilo IPv4: • http://www.bieringer.de/linux/IPv6/ /etc/sysconfig/network NETWORKING_IPV6=yes #Valores por defecto de los dos siguientes parametros: no/yes #Si habilitamos IPv6 forwarding se deshabilita la autoconfiguracion #La unica forma de deshabilitar la autoconfig es habilitar el ipv6 forwarding IPV6FORWARDING=yes #IPV6_AUTOCONF=no IPV6_DEFAULTGW=2001:720:418:CAFE::1 IPV6_DEFAULTDEV=eth0

  31. Configuración manual /etc/sysconfig/network-scripts/ifcfg-eth0 IPV6INIT="yes" IPV6ADDR="2001:720:418:CAFE::XXX/64“ /etc/sysconfig/static-routes-ipv6 (Posiblemente haya que crear el fichero) eth0 2000::/3 2001:720:418:CAFE::1

  32. ¿Qué pasa con Windows? • ¿Si mi máquina es Windows? • Si es Windows 98, mejor actualizo • Si es Windows 2000, debo instalar SP2 • http://msdn.microsoft.com • Si es Windows XP: Sin SP1 • Hay que activarlo (“Developer Preview”) • NO permite consultas DNS sobre IPv6 Con SP1 • Viene ya, se supone que es parte integral • En cualquier caso • http://www.microsoft.com/ipv6 • Podemos probar mensajería sobre IPv6 • http://www.threedregrees.com

  33. A tener en cuenta… • Pero, ahora las aplicaciones se comportan de manera diferente, ¡¡IPv6 siempre irá antes que IPv4!! • Primero me preguntarán por IPv6 (timeout…) • Si la aplicación está bien hecha me preguntará por IPv4 • Hay que tener mucho cuidado a la hora de poner un servicio en producción en IPv6 • Entonces debe tener tan buena conectividad como IPv4, si no queremos degradación del servicio • Hay que ser muy cuidadosos a la hora de configurar una dirección IPv6 en el DNS • ¡Negación del servicio!

  34. DNS • Ya tengo configurado los hosts de mi red, así como mi router • Es aconsejable el DNS, debido a la longitud de mis direcciones • Bind v9 soporta peticiones IPv6 • Peticiones IPv6 sobre IPv6: • options { listen-on-v6 { any; }; } • Peticiones IPv6 sobre IPv4

  35. DNS • Se recomienda que mi_centro.es sea el mismo, es decir, no crear una zona especial para IPv6 (del tipo ipv6.mi_centro.es) • Sin embargo, puede ser peligroso para los servicios ya en producción • Durante un tiempo de pruebas, es mejor ftp.ipv6.mi_centro.es que ftp.mi_centro.es • En cualquier caso, suponemos que usamos la misma zona directa • Zona directa • Utiliza los mismos ficheros de configuración que IPv4 (en vez de un registro A, es uno AAAA)

  36. DNS • Zona inversa: • A6/DNAME/bitlabels desechadas • A pesar de todo, en la documentación de Bind 9, por ej. se indica lo contrario • \[x20010720/32].ip6.arpa NO VALE • RIPE no las delega • Cuidado con las versiones antiguas de glibc en Linux, porque miran este formato • nslookup utiliza este formato al consultar resolución inversa • AAAA/nibble bit es el formato a usar

  37. DNS • Zona inversa (cont.) • Notación nibble-bit con .int • 0.2.7.0.1.0.0.2.ip6.int (que es 2001:0720) • La antigua usada por el 6bone para 3ffe: • A desechar • Todavía se mantiene para tener compatibilidad con aplicaciones antiguas • RIPE soporta esta delegación

  38. DNS • Zona inversa (cont.) • Notación nibble-bit con .arpa: es la buena • 0.2.7.0.1.0.0.2.ip6.arpa • Zona a utilizar, los root servers están configurados para soportar este formato • La que se recomienda y la que delega RIPE • Las últimas versiones de glibc soportan este formato • Problema, e.f.f.3.ip6.arpa todavía no está delegado, y las últimas versiones de glibc no son capaces de resolver • Sólo preguntan por e.f.f.3.ip6.arpa • Habría que preguntar por e.f.f.3.ip6.int

  39. DNS • Zona inversa (cont.) • RedIRIS delega: • Nibble-bit con .int • Nibble-bit con .arpa • NO se delega bitstrings con .arpa • Aunque se pueden configurar de manera local para la zona, sólo para comprobar la configuración • Es conveniente tener actualizada la glibc • Las aplicaciones deben preguntar por nibblebit con .arpa • 0.2.7.0.1.0.0.2.ip6.arpa es la buena (por ahora) • Formato soportado por Bind 8 y Bind 9

  40. Aplicaciones • Actualmente, la mayoría de aplicaciones, traen soporte IPv6, al menos en sus últimas versiones. O si no, basta con un parche. • Bind, Apache, Mozilla, sendmail, clientes de correo, news, NTP, aplicaciones de red (ping, traceroute, etc...). • En muchas de ellas, hace falta compilar el soporte, y luego configurarlas. Ejemplo: Bind o sendmail (fichero M4): • DAEMON_OPTIONS(‘Name=MTA-v4, Family=inet’) • DAEMON_OPTIONS(‘Name=MTA-v6, Family=inet6’)

  41. Routers • Cisco: soporte sin problemas desde la 12.2 o 12.3 • Lamentablemente para los Catalyst 6000… • Necesario nueva procesadora para soporte Hardware • Habilito IPv6 ipv6 unicast-routing • Configuro los interfaces ipv6 address ….. • Routing • Estático – ipv6 route <prefijo> <next-hop> • Dinámico – ISIS, RIP, OSPF ipv6 router isis 766 • Dinámico – BGP address family ipv6 unicast neighbor …. network …. • En general, ipv6 en lugar de ip.. ipv6 access-list 101 permit <prefijo> any ipv6 access-class 101 in

  42. Routers • Juniper: soporte sin problemas desde la version 5.x • Routing integrado • Habilito interfaces family inet6 address … • Configuro protocolos de routing y RIBs • Al estilo IPv4, siempre IPv6 bajo family inet6 • Estático: • Bajo [routing-options rib inet6.0] static route <prefijo> next-hop <host> • Dinámico • Igual a IPv4, pero bajo family inet6 • Políticas, filtros, etc. family inet6

  43. Routing • Una vez configurado mi router, la salida hacia Internet v6 la hago a través de RedIRIS: ipv6 route ::/0 <dir. extremo RedIRIS IPv6> • Si mi router de salida no tiene soporte IPv6, podemos utilizar un túnel, aunque la idea es conseguir conectividad nativa. • El routing es similar a IPv4 • Tened en cuenta la agregación • ¡Cread topologías consistentes!

  44. Mecanismos de transición • Dual-stack, todos mis equipos con soporte IPv4/IPv6 • El más aconsejable • Permite realizar una migración periódica, con soporte gradual de las aplicaciones a IPv6. • Mecanismos de transición basados en túneles • Encapsulación de tramas IPv6 en IPv4 • Métodos manuales (túneles) • ISATAP • 6to4 • Mecanismos de transición basados en traducción de direcciones • Una extensión de las técnicas de NAT • Los nodos IPv6 están detrás de un traductor

  45. Túneles • Manuales • Especifico explícitamente la dir. IPv4 origen y destino de mi túnel, y el prefijo IPv6 usado en la interfaz tunnelx • Para compatibilidad Cisco-Juniper es conveniente usar tipo GRE • Puedo usar un túnel configurado en mi conexión IPv6 a RedIRIS, si mi router de salida no soporta IPv6. • Automáticos • Al nodo se le asigna una dirección IPv6 de tipo compatible IPv4 • ::130.206.1.2

  46. Túneles • 6to4 • Conecto dos mundos IPv6 separados por un mundo IPv4 • El router de salida crea un túnel 6to4 al otro dominio • Las dir IPv4 de los extremos del túnel están identificados en el prefijo del dominio IPv6 • Se utiliza el prefijo 2002::/16

  47. Migración de mi red • Así, para migrar toda la red a IPv6, tenemos estos problemas • Mis routers no soportan IPv6 • Actualizarlo, o bien, utilizar un router Linux, o un router alternativo, con un túnel a RedIRIS. • Tengo un Catalyst 6xxx/76xx de salida (un caso en sí mismo) • IOS estable para ese equipo no tiene soporte IPv6 • En este caso es mejor utilizar un router alternativo, y crear un túnel hasta RedIRIS • Tengo un cortafuegos de salida • Hasta ahora hay pocas soluciones • ¿Más cosas?

  48. Migración de mi red Migración a nivel 2, integrar un router IPv6 en la misma vlan Switch Switch Switch Pequeño router IPv6 Core Router

  49. Migración de mi red Es una migración más natural, incluyendo dual-stack Host v4/v6 Switch1 VLAN2 VLAN1 Core Switch Switch2 VLAN1 Host v4 VLAN1 VLAN1 VLAN2 Core Router v4 Router IPv6 (v4 y v6)

  50. Migración de mi red Migración a nivel 3, con 6to4 Host 6to4 Router1 Core Router Router2 Router2 Router 6to4

More Related