Blog de Amazon Web Services (AWS)
Usando resolución DNS inversa con Amazon Route 53
Victor Palomo, Solutions Architect AWS México
La resolución del Sistema de Nombres de Dominio -DNS por sus siglas en inglés es un servicio utilizado por prácticamente todas las aplicaciones que utilizamos día a día. Gracias a este servicio, podemos obtener la o las direcciones IP asociadas a un nombre de dominio completo -FQDN por sus siglas en inglés. La operación inversa, es decir, la obtención de un FQDN a partir de una dirección IP también es requerida en ciertas ocasiones, siendo un caso común la validación de servidores de correo electrónico que están mapeadas con el FQDN en cuestión para prevenir la entrega de correo SPAM.
En esta publicación le mostraré la forma en que puede implementar resolución DNS inversa utilizando Amazon Route 53 para consultas públicas y para consultas privadas desde su Amazon Virtual Private Cloud (VPC).
Descripción de la solución
El servicio de DNS tiene un formato muy específico para realizar la resolución inversa DNS. Para llevarla a cabo, las consultas de resolución inversa DNS son realizadas a un dominio fijo in-addr.arpa (ip6.arpa para IPv6) con registros llamados Pointer o PTR. Estos registros están basados en la dirección IP escrita en sentido inverso con el sufijo in-addr.arpa. Por ejemplo, un registro PTR para la dirección:
192.168.1.15
tendría como valor de respuesta:
15.1.168.192.in-addr.arpa
La resolución DNS dentro de una Amazon VPC es provista de manera automática utilizando Amazon Route 53 Resolvers. La solución aquí descrita nos permite configurar entradas manuales para responder a las consultas de resolución inversa DNS a través de hosted zones y el uso de inbound endpoints en la VPC de interés. Los Inbound Endpoints son los encargados de proveer resolución DNS para recursos aprovisionados en una VPC.
Procedimiento
En este procedimiento llevaremos a cabo las siguientes actividades para configurar la resolución inversa DNS:
- Creación hosted zone en Amazon Route53.
- Creación registro PTR.
Los procedimientos siguientes serán aplicables para los casos en que la resolución inversa sea consultada de manera privada desde una VPC.
- Creación Inbound Endpoint.
- Creación DHCP Options Set.
Prerequisitos
Para este procedimiento, tendremos los siguientes prerequisitos:
- Una VPC provisionada con al menos 2 subnets públicas y resolución DNS habilitada.
Creación hosted zone en Amazon Route 53
La resolución inversa DNS requiere para su configuración la creación de una hosted zone pública definida con la dirección IP pública eliminando el último octeto de la dirección, escribiéndolo en forma inversa y agregando el sufijo in-addr.arpa al final. De esta forma, la dirección IP:
1.2.3.4
Requeriría la creación de una hosted zone con el siguiente nombre de dominio:
3.2.1.in-addr.arpa
Para proceder
- Ingrese a la AWS Management Console de Amazon Route 53 y seleccione Hosted Zones.
2. Presione Create hosted zone.
3. Como nombre de dominio la dirección de interés escrita en forma inversa con el sufijo in-addr.arpa y seleccione Public hosted zone.
- Si la resolución inversa es necesaria únicamente para servicios alojados en una VPC o servicios on-premise que se comunican a través de una VPC, es posible seleccionar Private Hosted Zone y es necesario agregar la región y VPC a la que estará asociada esta hosted zone.
5. Presione Create a hosted zone.
Creación registro PTR
Con nuestra hosted zone creada agregaremos ahora los registros PTR para las direcciones IP necesarias.
Para proceder
- Desde la consola de Amazon Route 53, en los detalles de configuración de la hosted zone que acaba de crear, presione el botón Create record.
- En la opción Routing Policy, selecccione Simple Routing y presione Next.
3. En la sección Configure records, presione Define simple record.
- Como record name utilizaremos el último octeto de la dirección IP escrita en sentido inverso, esto es, para una dirección:
1.2.3.4
Utilizaríamos:
4
- En la opción Value/Route traffic to seleccione IP address or another value depending on the record type.
- Ingrese en el campo el nombre FQDN correspondiente a la dirección IP.
- Finalmente, como Record Type seleccione PTR: Maps an IP Address to a domain name.
- Presione el botón Define simple record.
- Finalmente presione el botón Create records.
Creación Inbound endpoint.
Ahora crearemos el punto de enlace de entrada hacia la VPC para permitir la resolución DNS inversa, a través de este punto de enlace facilitaremos las consultas desde la VPC. Esta comunicación está regida a través de un Security Group, por lo que iniciaremos con la creación de uno.
Para proceder
- Ingrese a la consola de Amazon VPC y navegue a Security Groups en la sección Security.
- Presione el botón Create a Security Group.
- Ingrese un nombre y seleccione la VPC donde debe estar disponible este Security Group.
- Presione Add Rule en la sección Inbound Rules.
- En Type, seleccione DNS(UDP) y en el campo Source mantenga la opción Custom e ingrese el CIDR de la VPC seguido por la máscara en la casilla de al lado. Asegúrese de que sea agregada debajo del campo.
- Presione Create Security Group para guardar los cambios.
- Ingrese a la consola de Amazon Route 53 y seleccione Inbound Endpoints en la sección Resolver.
8. Presione Create inbound endpoint.
9. Defina un nombre para este punto de enlace, seleccione la VPC donde será desplegado y seleccione el Security Group que creó previamente.
- Ingrese en la sección IP Addresses al menos dos availability zones y seleccione las subnets Aquí puede elegir el Resolver obtenga una dirección automática o asignarle una de manera estática.
11. Presione Submit.
12. Una vez que el endpoint ha sido creado, seleccione el nombre para revisar los detalles y tome nota de las direcciones IP asignadas o que asignó durante su creación.
Creación DHCP Options Set.
Finalmente, configuraremos el scope de DHCP para entregar esta información hacia los hosts en la VPC.
Para proceder
- Ingrese a la consola de Amazon VPC y navegue a DHCP Options Sets en la sección Virtual Private Cloud.
- Presione el botón Create a DHCP Options Set.
- Ingrese un nombre para el Set, el nombre del dominio y las direcciones IP que obtuvo cuando creó el endpoint.
4. Complete la información restante de acuerdo a la configuración de su ambiente y presione el botón Create DHCP Options Set.
5. Ahora, desde la opción Your VPCs en la sección Virtual Private Cloud, seleccione la VPC en la que está agregando la resolución inversa y presione el botón Actions. Seleccione Edit DHCP Options Set.
6. Seleccione el set que configuró previamente y presione Save Changes.
Validación
Para validar la operación, podemos ejecutar desde una instancia Amazon Elastic Compute Cloud en la VPC donde colocamos el Resolver:
dig -x 1.2.3.4
Limpieza
Para evitar cargos, puede retirar los inbound endpoints y hosted zone de su configuración. Para hacerlo, navegue a la consola de Amazon Route 53 y seleccione Inbound Endpoints en la sección Resolver. Seleccione el Resolver que creó y presione el botón Delete.
Para eliminar la hosted zone, desde la consola de Amazon Route 53 ingrese a los detalles de la Hosted Zone creada y borre los registros PTR que haya creado, posteriormente borre la hosted zone seleccionándola y presionando el botón Delete.
Finalmente, no olvide reconfigurar su DHCP Options Set para apuntar a servidores DNS correctos.
Conclusión
Este simple procedimiento le facilitará la creación de resolución inversa DNS para servicios en su VPC. Puede conocer más de Route 53 aquí.
Sobre el autor
Victor Palomo es Arquitecto de Soluciones en Amazon Web Services enfocado en la industria de Telecomunicaciones.