Distribución del servicio DNS con ANYCAST Pablo Varela, Pablo Rodríguez Bocca, ANTEL Octubre, 2010 1
SERVICIO DNS EN ANTEL Registry com.uy Hosting de DNS: Zonas propias Zonas de clientes Zonas reversas Servicio DNS Recursivo para: Servicios de acceso Internet (anycast). Asignación de ips de servicio mediante ppp y pppoe en RAS y BRAS.
AGENDA 3 Servicio DNS en ANTEL Historia Motivación Fundamentos Anycast Servicio DNS Recursivo Configuraciones Troubleshooting Conclusiones
HISTORIA 2003 - Servidores autoritativos y recursivos en el mismo host. 2004 - Servidores autoritativos separado de los servidores recursivos. 2006 - Migración del servicio recursivo a dos granjas anycast de 3 servidores cada una. 2008 - Se agrega un servidor más por granja. 2010 - Se alcanzan los 5 servidores por granja. 2011 Se planifica incorporar otra granja.
AGENDA 5 Servicio DNS en ANTEL Historia Motivación Fundamentos Anycast Servicio DNS Recursivo Configuraciones Troubleshooting Conclusiones
MOTIVACIÓN ANTEL es el principal proveedor de acceso a Internet de Uruguay Los servidores recursivos reciben más de 20.000 consultas por segundo en hora pico Se utiliza una arquitectura Anycast para el servicio recursivo: aumentar la capacidad de respuesta a consultas recursivas disminuyendo el tiempo de respuesta de las consultas. distribuir las consultas equitativamente entre los diferentes servidores recursivos. mejorar la redundancia en el servicio 6
AGENDA 7 Servicio DNS en ANTEL Historia Motivación Fundamentos Anycast Servicio DNS Recursivo Configuraciones Troubleshooting Conclusiones
FUNDAMENTOS ANYCAST Definición: Esquema de direccionamiento y enrutamiento por el cual la información es enrutada al nodo más cercano según la topología de la red. Ejemplos que combinan servicio dns y anycast: ANTEL (recursivos), root servers A, C, F, I, J, K, L y M. Utilidad: Para servidores de nombres críticos (autoritativos o recursivos), ofrece alta disponibilidad y balanceo. Se puede extender a otros servicios. 8
FUNDAMENTOS ANYCAST (2) Se accede al servicio a través del nodo más cercano según la métrica del protocolo de ruteo. Todos los servidores de la configuración responden a la misma IP. Si las consultas DNS son: Sobre UDP no se necesita mantener persistencia. Sobre TCP se necesita mantener persistencia. En el caso de autoritativos, los servidores deben mantenerse sincronizados en las zonas y en los tiempos. Más: RFC 3258, http://www.net.cmu.edu/pres/anycast/ 9
AGENDA 10 Servicio DNS en ANTEL Historia Motivación Fundamentos Anycast Servicio DNS Recursivo Configuraciones Troubleshooting Conclusiones
SERVICIO DNS RECURSIVO Aumento en el BW de los servicios incrementa las consultas DNS. Hoy más de 20.000 qps. Dos granjas de servidores respondiendo a consultas de suscriptores fijos y móviles. 11
SERVICIO DNS RECURSIVO (2) Anycast. Varias granjas publican IPs de los recursivos: Elección de granja según cercanía de ruteo. Hasta 32 granjas (máximo de rutas con igual costo en ISIS). En cada granja se balancea entre varios servers: Cada servidor rutea OSPF y publica IPs del servicio recursivos. Balanceo según ruteo, utilizando CEF en router (consultas UDP y TCP). Hasta 32 servidores por granja (máximo de rutas en OSPF). 12
SERVICIO DNS RECURSIVO (3) Anycast. Elección de granja. Por ruteo 13
SERVICIO DNS RECURSIVO(4) Anycast. Balanceo dentro de la granja. Por ruteo interno OSPF 14
AGENDA 15 Servicio DNS en ANTEL Historia Motivación Fundamentos Anycast Servicio DNS Recursivo Configuraciones Troubleshooting Conclusiones
CONFIGURACIÓN DE BIND NAMED.CONF options { listen-on { <ip eth0 rns-server> ;200.40.30.245; 200.40.220.245;}; query-source address <ip eth0 rns-server>;... ip eth0 rns-server : ip source con que el servidor origina paquetes para recorrer el árbol de DNS de forma de resolver un nombre. 16
CONFIGURACIÓN DEL ROUTER... ip cef... router isis net 49.0003.2000.4001.7019.00 is-type level-1 authentication mode md5 authentication key-chain ANTEL metric-style wide redistribute ospf 53 metric 100 route-map RED_GRANJA_C/LOOPBACKS level-1 passive-interface GigabitEthernet0/0!... router ospf 53 router-id 200.40.220.225 log-adjacency-changes passive-interface FastEthernet0/0 passive-interface FastEthernet0/1 network <> area 53 17
CONFIGURACIÓN DEL QUAGGA Dentro de la misma jaula que el bind. /chroot/quagga/etc/ Archivos de configuración necesarios : ospfd.conf, Quagga.conf, zebra.conf, daemons, vtysh.conf, debian.conf. Quagga.conf ( cisco like ): interface eth0 ip ospf authentication message-digest <eth0_ip> ip ospf message-digest-key 0 md5 <key> <eth0_ip>! router ospf ospf router-id <eth0_ip> network 200.40.30.245/32 area 0.0.0.0 network <network_eth0> area 0.0.0.0 network 200.40.220.245/32 area 0.0.0.0 Utilizar watchdog para named y quagga. Ver http://www.quagga.net/ 18
AGENDA 19 Servicio DNS en ANTEL Historia Motivación Fundamentos Anycast Servicio DNS Recursivo Configuraciones Troubleshooting Conclusiones
TROUBLE SHOOTING Colección de datos estadísticos en CACTI Servidores accesibles por ssh por puerto de mgmt. y por puerto de producción. Servidores responden a consultas recursivas por: IPs de anycast; y por las IPs de las interfaces físicas (solamente permitidas desde la red de gestión). 20
TROUBLE SHOOTING (2) Qué servidor responde las consultas de un usuario? Revisando la IP en los logs de cada server: /chroot/named/var/log/losqueries.log.xxx traceroute identifica granja. Revisar protocolos corriendo en router de granja y servers publicados: ins2cen1>show ip route ospf O O 200.40.220.0/24 is variably subnetted, 6 subnets, 4 masks 200.40.220.245/32 [110/11] via <ip_eth0_rns1>, 6w5d, FE3/0 [110/11] via <ip_eth0_rns2>, 6w5d, FE3/0 [110/11] via <ip_eth0_rns3>, 6w5d, FE3/0 [110/11] via <ip_eth0_rns4>, 6w5d, FE3/0 [110/11] via <ip_eth0_rns5>, 6w5d, FE3/0 200.40.30.0/24 is variably subnetted, 2 subnets, 2 masks 200.40.30.245/32 [110/11] via <ip_eth0_rns1>, 6w5d, FE3/0 [110/11] via <ip_eth0_rns2>, 6w5d, FE3/0 [110/11] via <ip_eth0_rns3>, 6w5d, FE3/0 [110/11] via <ip_eth0_rns4>, 6w5d, FE3/0 [110/11] via <ip_eth0_rns5>, 6w5d, FE3/0 21
TROUBLE SHOOTING (3) El servidor no publica la IP del servicio recursivo: Verificar que el servidor responde a la IP de la interfaz. Verificar que demonios zebra y ospfd levantados. Conectarse al CLI vtysh del quagga (comandos estilo Cisco). Recordar de subir y bajar las loopbacks para publicar cuando el recursivo funcione. 22
AGENDA 23 Servicio DNS en ANTEL Historia Motivación Fundamentos Anycast Servicio DNS Recursivo Configuraciones Troubleshooting Conclusiones
CONCLUSIONES La arquitectura anycast es escalable y confiable para el servicio recursive. La arquitectura anycast es fácilmente operable y mantenible. Se analiza cambiar balanceo OSPF por rutas estáticas con chequeo de salud, usando librería IP-SLA (Cisco). 24
Preguntas?
Gracias 26