Note:
- Este tutorial requiere acceso a Oracle Cloud. Para registrarse para obtener una cuenta gratuita, consulte Introducción a la cuenta gratuita de Oracle Cloud Infrastructure.
- Utiliza valores de ejemplo para credenciales, arrendamiento y compartimentos de Oracle Cloud Infrastructure. Al finalizar la práctica, sustituya estos valores por otros específicos de su entorno en la nube.
Configurar el sistema de nombres de dominio BIND9 en Oracle Cloud Infrastructure
Introducción
OraStage es una empresa líder en el sector energético, especializada en soluciones de energía renovable y tecnologías de energía innovadoras, y anunció la decisión estratégica de migrar sus cargas de trabajo a Oracle Cloud Infrastructure (OCI) para mejorar el rendimiento, la escalabilidad y la seguridad.
Teniendo en cuenta las necesidades y condiciones específicas que OraStage ha descrito, la empresa requiere una solución híbrida de sistema de nombres de dominio (DNS) en la nube, y por híbrido aquí significa utilice su propio sistema de DNS Berkeley Internet Name Domain versión 9 (BIND9) además del servicio de DNS de OCI, donde la arquitectura final que buscan crear se muestra en la siguiente imagen.
OraStage Requisitos de DNS:
-
La compañía tiene varios dominios y subdominios internos, todos ellos deben resolverse mediante su DNS BIND9 en OCI, donde OraStage gestionará todas las zonas y registros relacionados. Uno de estos dominios es
orastage.com
que vamos a utilizar en este tutorial. Por lo tanto, cualquier consulta aorastage.com
se debe reenviar a su BIND9. -
Todavía necesitan resolver dominios nativos de OCI (
oraclevcn.com
,oraclecloud.com
, etc.) en algunos casos, y esto se hará mediante componentes de DNS privados de OCI: vistas privadas, reenvío de puntos finales y reglas, y recepción de puntos finales. -
Todas las consultas deben ser inspeccionadas por una instancia de firewall pfSense.
-
Para evitar un único punto de fallo, OraStage planea utilizar otro servidor DNS y aprovechar OCI Load Balancer para distribuir consultas entre DNS principal y secundario.
Esta serie de tutoriales le guiará paso a paso para lograr los requisitos descritos anteriormente, creando toda la solución desde cero. Puede navegar fácilmente a cada tutorial desde la siguiente lista:
-
Tutorial 1: Configuración de DNS BIND9 en OCI. Descubra cómo instalar y configurar BIND9 en una instancia informática, convirtiéndolo en el servidor DNS local para dos entornos de prueba en OCI. Estos entornos constarán de servidores "Frontend" y "Backend", cada uno alojado en una red radial independiente. El servidor BIND9 manejará todas las consultas DNS dirigidas a
orastage.com
. -
Tutorial 2: Implantación de alta disponibilidad en el escenario de DNS BIND9 en OCI. Este tutorial se centra en la adición de un servidor BIND9 secundario y la configuración de un equilibrador de carga de red (NLB) para distribuir el tráfico DNS entre ambos servidores. Las consultas DNS a
orastage.com
se dirigirán a la IP de NLB, que equilibrará la carga entre los servidores BIND9 principal y secundario. Si un servidor deja de estar disponible, la resolución de DNS continuará sin interrupción del servicio. -
Tutorial 3: Uso de OCI DNS para resolver dominios nativos. Centrándonos solo en un caso de uso específico, donde utilizamos componentes de DNS nativos en OCI, en caso de que sea necesario resolver dominios nativos como
oraclevcn.com
yoraclecloud.com
. BIND9 DNS no se utiliza en este tutorial. -
Tutorial 4: Adición de seguridad a la arquitectura de DNS mediante el firewall pfSense. Centrarse en la instalación de un firewall pfSense en la VCN de hub en OCI y realizar la configuración de red necesaria para enrutar todo el tráfico de este a oeste, incluidas las consultas DNS (hechas en los tutoriales anteriores) a través del firewall que se va a inspeccionar.
Visión general de BIND9
BIND9 (Berkeley Internet Name Domain versión 9) es uno de los paquetes de software de servidor DNS (Domain Name System) más utilizados y maduros del mundo. Es desarrollado y mantenido por el Consorcio de Sistemas de Internet (ISC). BIND9 es la columna vertebral de gran parte de la infraestructura de DNS de Internet, ya que proporciona servicios de DNS sólidos y fiables para despliegues a pequeña y gran escala.
La flexibilidad, la solidez y el amplio conjunto de funciones de BIND9 lo hacen adecuado para una amplia gama de aplicaciones DNS, desde pequeñas redes internas hasta los servicios de DNS públicos más grandes de Internet.
Funciones clave de BIND9
-
Soporte de protocolo DNS: admite todas las funciones y protocolos de DNS principales, incluidos IPv4 y IPv6, DNSSEC (extensiones de seguridad de DNS) y TSIG (transacción SIGnature).
-
DNSSEC (extensiones de seguridad de DNS): proporciona funciones de seguridad avanzadas para proteger la integridad y autenticidad de los datos de DNS, lo que evita ataques como la intoxicación por caché y la suplantación de identidad.
-
Escalabilidad y rendimiento: adecuado para despliegues de DNS pequeños o muy grandes, con capacidades para manejar cargas de consultas altas y zonas grandes de manera eficiente.
-
Flexibilidad y personalización:
- Altamente configurable con amplias opciones para ajustar el comportamiento de DNS, la gestión de zonas y el procesamiento de consultas.
- Admite varios tipos de zonas, incluidas las zonas maestro (principal), esclavo (secundario) y stub.
-
DNS dinámico: admite DNS dinámico (DDNS), lo que permite actualizaciones en tiempo real de los registros DNS sin reiniciar el servidor.
-
Control de acceso y seguridad:
- Implementa listas de control de acceso (ACL) para restringir el acceso a los servicios DNS y gestionar quién puede consultar o actualizar zonas.
- Soporta vistas para proporcionar diferentes respuestas a las consultas DNS según el origen de la consulta.
-
Registro y supervisión:
- Amplias capacidades de registro para realizar un seguimiento de consultas, actualizaciones y rendimiento del servidor.
- Integración con herramientas de supervisión para garantizar una alta disponibilidad y una rápida solución de problemas.
-
Almacenamiento en caché: proporciona mecanismos de almacenamiento en caché sólidos para mejorar el rendimiento y reducir la carga en servidores DNS autorizados mediante el almacenamiento en caché de las respuestas DNS.
-
Transferencias de zona: admite transferencias de zona seguras entre servidores DNS mediante AXFR (transferencia de zona completa) e IXFR (transferencia de zona incremental).
Casos de uso comunes de BIND9
-
Servidor DNS autorizado: aloja registros DNS para dominios, lo que proporciona respuestas autorizadas a consultas DNS.
-
Servidor DNS recursivo: resuelve consultas DNS para clientes consultando recursivamente otros servidores DNS.
-
Reenvío del servidor DNS: reenvía consultas DNS a otros servidores DNS, que se suelen utilizar junto con el almacenamiento en caché.
-
Servidor DNS secundario (esclavo): mantiene copias de datos de zona de un servidor principal, lo que proporciona redundancia y equilibrio de carga.
Instalación y Configuración de BIND9
-
Instalación: BIND9 se puede instalar en varios sistemas operativos, incluidos Linux, UNIX y Windows. Está disponible a través de gestores de paquetes en la mayoría de las distribuciones de Linux o se puede compilar desde un origen.
-
Configuración: el archivo de configuración principal es
named.conf
, donde los administradores definen zonas, controles de acceso, opciones de registro y otros valores. Los archivos de zona contienen los registros DNS reales de cada dominio.
Utilizar BIND9 en OCI
Hay varios motivos por los que algunos clientes pueden optar por utilizar y gestionar su propio DNS (como BIND9) en lugar de utilizar los servicios de DNS gestionados de Oracle Cloud Infrastructure (OCI):
-
Personalización y flexibilidad:
-
Configuraciones avanzadas: las soluciones de DNS personalizadas como BIND9 ofrecen una amplia capacidad de configuración, lo que permite a los clientes adaptar su configuración de DNS para cumplir con requisitos específicos que pueden no ser compatibles con los servicios gestionados.
-
Funciones especializadas: algunas organizaciones necesitan funciones avanzadas, como el registro de consultas específico, el control de acceso detallado o los registros DNS personalizados que los servicios gestionados pueden no proporcionar.
-
-
Consideraciones sobre el costo:
-
Gestión de costos: el DNS autogestionado puede ser más rentable, en especial para las organizaciones con un tráfico DNS significativo, ya que puede evitar costos variables asociados a los servicios gestionados.
-
Gastos predecibles: el funcionamiento de sus propios servidores DNS puede generar costos más predecibles, ya que solo necesitan gestionar los costos de infraestructura en lugar de pagar el uso de DNS gestionado.
-
-
Control y seguridad:
-
Control completo: las organizaciones pueden preferir tener un control completo sobre su infraestructura de DNS, incluida la capacidad de implantar políticas de seguridad personalizadas, registro detallado y controles de acceso detallados.
-
Privacidad de datos: para entornos altamente confidenciales o regulados, mantener el tráfico DNS interno en su propia red puede ser un requisito de seguridad para garantizar la privacidad de los datos y el cumplimiento de las normativas.
-
-
Rendimiento y fiabilidad:
-
Optimización del rendimiento: el DNS autogestionado permite a las organizaciones optimizar el rendimiento mediante la configuración del almacenamiento en caché, el equilibrio de carga y las respuestas de DNS específicas de la geolocalización adaptadas a sus necesidades.
-
Fiabilidad: al gestionar sus propios servidores DNS, las organizaciones pueden implantar configuraciones de alta disponibilidad y medidas de redundancia que se alineen con sus requisitos de fiabilidad específicos.
-
-
Integración con Infraestructura Existente:
-
Sistemas heredados: las organizaciones con sistemas heredados pueden tener una infraestructura de DNS existente profundamente integrada con sus otros sistemas y procesos, lo que facilita la gestión de su propio DNS.
-
Integraciones personalizadas: el DNS autogestionado permite una integración perfecta con otras aplicaciones personalizadas o de terceros que requieren configuraciones o interacciones de DNS específicas.
-
-
Requisitos normativos y de conformidad:
- Necesidades de conformidad: algunos sectores tienen requisitos normativos estrictos que requieren control sobre todos los aspectos de su infraestructura de TI, incluido el DNS, para cumplir con los estándares legales y de conformidad.
-
Formación y experiencia:
- Desarrollo de aptitudes: algunas organizaciones prefieren mantener su experiencia interna y conocimiento sobre la gestión de DNS, lo que puede ser valioso para la resolución de problemas y la optimización de su infraestructura de TI general.
-
Prevención de bloqueo de proveedores:
- Evitar el bloqueo: al gestionar su propio DNS, las organizaciones pueden evitar quedar atrapadas en el ecosistema de un proveedor específico, lo que les brinda más flexibilidad para cambiar de proveedor o migrar cargas de trabajo sin una reconfiguración significativa.
Aunque los servicios de DNS gestionados por OCI ofrecen facilidad de uso, escalabilidad y reducción de la sobrecarga de gestión, estos factores destacan por qué algunas organizaciones pueden optar por gestionar su propia infraestructura de DNS.
Objetivos para configurar BIND9 en OCI
-
Introducción a BIND9 y OCI
- Comprenda qué es BIND9 y su rol en la gestión de DNS.
- Obtén una visión general de Oracle Cloud Infrastructure (OCI) y sus componentes clave relevantes para esta configuración.
-
Requisitos y configuración inicial
- Identificación y recopilación de los requisitos necesarios para la definición.
- Configure una instancia de OCI (máquina virtual) para alojar el servidor BIND9.
-
Configuración del entorno de OCI
- Configure los valores de red básicos en OCI, es decir, las reglas de ruta y los gateways para establecer una comunicación adecuada entre todos los servidores y clientes relacionados, y las listas de seguridad para permitir el tráfico DNS.
-
Instalación de BIND9 en la instancia de OCI
- Acceda a la instancia de OCI a través de SSH.
- Instale los paquetes y las dependencias necesarios para BIND9.
-
Configuración de BIND9
- Configure los principales archivos de configuración BIND9 (
named.conf
). - Configurar archivos de zona para consultas de DNS de reenvío.
- Configure los principales archivos de configuración BIND9 (
-
Inicio y gestión del servicio BIND9
- Inicie el servicio BIND9 y configúrelo para que se inicie al iniciar.
- Verifique que el servicio BIND9 se esté ejecutando correctamente.
-
Prueba del servidor DNS
- Utilice herramientas de línea de comandos (por ejemplo, dig, host) para probar la resolución de DNS.
- Asegúrese de que las consultas prospectivas estén correctamente configuradas y en funcionamiento.
-
Protección del servidor BIND9
- Implante las mejores prácticas para proteger el servidor BIND9, incluidos los controles de acceso.
-
Conclusión y recursos adicionales
- Resume lo que se hace.
- Proporcione recursos y referencias adicionales para obtener más información.
Objetivos
-
Al final de este tutorial, tendrá un servidor DNS BIND9 funcional que se ejecutará en Oracle Cloud Infrastructure (OCI). Comprenderá los conceptos básicos de DNS y cómo funciona BIND9, lo que le permite configurar, gestionar y proteger un servidor BIND9 en un entorno en la nube. Además, dispondrá de los conocimientos necesarios para solucionar problemas y mantener la configuración de DNS BIND9 en OCI. Este tutorial también le ayudará a aumentar sus habilidades para operar varios componentes de OCI dentro de los servicios de redes y recursos informáticos.
-
El objetivo principal de este tutorial es permitir que FE-VM (
fe.orastage.com
) consulte BE-VM (be.orastage.com
) y viceversa, con Primary-DNS (primary-dns.orastage.com
) actuando como servidor DNS autorizado.
Arquitectura final
Requisitos
-
Acceso a un arrendamiento de OCI y permisos para gestionar la red y los servicios informáticos necesarios.
-
Conocimientos básicos de enrutamiento y seguridad de red de OCI y sus funcionalidades: red virtual en la nube (VCN), tabla de rutas, gateway de direccionamiento dinámico (DRG), lista de seguridad y bastión.
-
Conocimientos básicos de Ubuntu Linux y DNS en general.
-
Se necesitan tres redes virtuales en la nube (VCN) con una subred privada en cada una.
- DNS-VCN: alojará el servidor DNS principal. Además de un DNS secundario y un equilibrador de carga de red.
- VCN de frontend: alojará uno de los clientes. Además de un reenviador DNS de OCI.
- VCN de backend: alojará el otro cliente. Además de un reenviador DNS de OCI.
Tarea 1: Configuración de los componentes de enrutamiento y red de seguridad
Tarea 1.1: Creación de redes virtuales en la nube
-
Asegúrese de que ya haya creado las siguientes redes virtuales en la nube.
- DNS-VCN (
10.0.0.0/16
) que contiene DNS-Private-Subnet (10.0.0.0/24
). - VCN de frontend (
10.1.0.0/16
) que contiene FE-Private-Subnet (10.1.0.0/24
). - VCN de backend (
10.2.0.0/16
) que contiene BE-Private-Subnet (10.2.0.0/24
).
- DNS-VCN (
-
Haga clic en el menú de hamburguesa (≡) en la esquina superior izquierda.
- Haga clic en Red.
- Haga clic en Redes virtuales en la nube.
-
Podemos ver las VCN activas, cada una de ellas tiene una sola subred privada y su tabla de rutas y lista de seguridad por defecto asociadas.
Tarea 1.2: Creación de un gateway de enrutamiento dinámico (DRG)
El DRG es un enrutador virtual que proporciona una ruta para el tráfico privado de una VCN a otra, o entre una VCN y una red local, o incluso una VCN con otras redes de entorno en la nube. Por lo tanto, es un componente potente y crítico para cada entorno de red de OCI. En este tutorial, vamos a utilizarlo para establecer la conectividad entre múltiples VCN en la misma región.
-
Haga clic en el menú de hamburguesa (≡) en la esquina superior izquierda.
- Haga clic en Red.
- Haga clic en Dynamic Routing Gateway.
-
Haga clic en Crear gateway de enrutamiento dinámico.
- Introduzca un Nombre para el DRG.
- Haga clic en Crear gateway de enrutamiento dinámico.
-
El DRG se ha creado correctamente.
Tarea 1.3: Conexión de VCN al DRG
-
En la página de detalles de DRG, cree asociaciones de red virtual en la nube. Para crearlo, haga clic en Crear asociación de red virtual en la nube.
-
Asociación de DNS-VCN:
-
Asociación de VCN de frontend:
-
Asociación de VCN de backend:
-
-
Todas las redes virtuales en la nube se han conectado correctamente. Por defecto, estas asociaciones utilizarán la tabla de rutas de DRG generada automáticamente, que permite a cada asociación aprender de forma dinámica las rutas a otras redes virtuales en la nube.
-
Todos los VCN deben poder conectarse entre sí. Por lo tanto, tenemos que facilitar la comunicación entre ellos utilizando algunas reglas de ruta y seguridad. En la Tarea 1.4, la Tarea 1.5 y la Tarea 1.6, realizaremos lo siguiente:
- Permita el acceso SSH para que podamos conectarnos a las instancias.
- Permita el tráfico DNS donde sea necesario.
- Hacer ping al tráfico para permitirlo donde sea necesario.
- Proporcione acceso a Internet de salida donde sea necesario.
- Asegúrese de que todas las instancias informáticas puedan comunicarse con la otra mediante DRG.
Tarea 1.4: Configuración del enrutamiento y la seguridad para DNS-VCN
-
Esto se debe realizar en el nivel de subred. Navegue a la página VCN y haga clic en DNS-VCN.
-
Haga clic en la subred privada.
-
Haga clic en Tabla de rutas, que es una tabla de rutas asignada.
-
Asegúrese de agregar las siguientes reglas.
0.0.0.0/0
- Gateway de NAT: para tener acceso unidireccional a Internet, para instalar paquetes/parches si es necesario. En este tutorial, necesitamos este acceso para instalar el paquete BIND9 en el servidor Primary-DNS.10.1.0.0/16
- DRG: enrute el tráfico destinado a la VCN de frontend al DRG.10.2.0.0/16
- DRG: enrute el tráfico destinado a la VCN de backend al DRG.
-
Si no se crea un gateway de NAT, siga los pasos para crear uno antes de agregar la regla de ruta en el paso anterior.
- Vaya a la página de detalles DNS-VCN y haga clic en Gateways de NAT.
- Haga clic en Crear gateway de NAT.
-
Introduzca la siguiente información.
- Introduzca un nombre para un gateway de NAT.
- Seleccione Ephemeral Public IP Address.
- Haga clic en Crear gateway de NAT.
El gateway de NAT se ha creado correctamente.
-
Cuando hayamos terminado la parte de enrutamiento para la subred de DNS-VCN, hagamos la seguridad ahora. Vaya a la página Detalles de subred y haga clic en la lista de seguridad asignada.
-
Asegúrese de permitir el tráfico de entrada.
- Tráfico SSH desde cualquier lugar (puerto 22).
- Tráfico DNS desde la VCN de frontend y la VCN de backend (TCP/puerto 53 y UDP/puerto 53).
-
Asegúrese de permitir todo el tráfico de salida.
Tarea 1.5: Configuración del enrutamiento y la seguridad para la VCN de frontend
-
Esto se debe realizar en el nivel de subred. Vaya a la página VCN y haga clic en Frontend-VCN.
-
Haga clic en la subred privada.
-
Haga clic en Tabla de rutas, que es una tabla de rutas asignada.
-
Asegúrese de agregar las siguientes reglas.
0.0.0.0/0
- Gateway de NAT: para tener acceso unidireccional a Internet, lo necesitamos aquí para que la FE-VM** pueda utilizar el servicio OCI Bastion. En cambio, el gateway de servicio también puede realizar el trabajo.10.0.0.0/16
- DRG: enrute el tráfico destinado a DNS-VCN al DRG.10.2.0.0/16
- DRG: enrute el tráfico destinado a la VCN de backend al DRG.
-
Si no se crea un gateway de NAT, siga los pasos de la tarea 1.4 para crear uno antes de agregar la regla de ruta en el paso anterior.
-
Cuando hayamos terminado la parte de enrutamiento de Frontend-VCN, hagamos la seguridad ahora. Vaya a la página Detalles de subred y haga clic en la lista de seguridad asignada.
-
Asegúrese de permitir el tráfico de entrada.
- Tráfico SSH desde cualquier lugar (puerto 22).
- Haciendo ping en el tráfico de la VCN de backend (ICMP, tipo 8), necesitaremos esta regla en la fase de prueba.
-
Asegúrese de permitir todo el tráfico de salida.
Tarea 1.6: Configuración del enrutamiento y la seguridad para la VCN de backend
-
Esto se debe realizar en el nivel de subred. Navegue a la página VCN y haga clic en VCN de backend.
-
Haga clic en la subred privada.
-
Haga clic en Tabla de rutas, que es una tabla de rutas asignada.
-
Asegúrese de agregar las siguientes reglas.
0.0.0.0/0
- Gateway de NAT: para tener acceso unidireccional a Internet, lo necesitamos aquí para que BE-VM pueda utilizar el servicio OCI Bastion, ya que el gateway de servicio también puede realizar el trabajo.10.0.0.0/16
- DRG: enrute el tráfico destinado a DNS-VCN al DRG.10.1.0.0/16
- DRG: enrute el tráfico destinado a la VCN de frontend al DRG.
-
Si no se crea un gateway de NAT, siga los pasos de la tarea 1.4 para crear uno antes de agregar la regla de ruta en el paso anterior.
-
Cuando hayamos terminado la parte de enrutamiento de la VCN de backend, hagamos la seguridad ahora. Vaya a la página Detalles de subred y haga clic en la lista de seguridad asignada.
-
Asegúrese de permitir el tráfico de entrada.
- Tráfico SSH desde cualquier lugar (puerto 22).
- Hacer ping en el tráfico de la VCN de frontend (ICMP, tipo 8), necesitaremos esta regla en la fase de prueba.
-
Asegúrese de permitir todo el tráfico de salida.
-
Los componentes de red básicos ya están listos (VCNs, subredes, tablas de rutas, DRG y listas de seguridad). Ahora, la arquitectura debe tener el aspecto que se muestra en la siguiente imagen.
Tarea 2: Aprovisionamiento de una instancia informática de OCI
Aprovisione una instancia informática en la que se configurará BIND9.
Tarea 2.1: Generar par de claves SSH
Esto se debe hacer antes de crear la instancia. Las claves SSH se utilizarán para autenticarse en las instancias informáticas de Linux. Puede generar las claves mediante la herramienta PuTTYgen en un equipo Windows o mediante la utilidad ssh-keygen en cualquier equipo. En este tutorial, vamos a utilizar ssh-keygen en OCI Cloud Shell.
-
Haga clic en Cloud Shell.
-
Ejecute el comando
ssh-keygen
para generar un par de claves. -
Navegue al directorio
.ssh
por defecto mediante el comandocd .ssh
y copie el contenido del archivo de clave públicaid_rsa.pub
. Lo utilizaremos en la tarea 2.2.
Tarea 2.2: Aprovisionamiento de instancia informática de DNS principal
-
Haga clic en el menú de hamburguesa (≡) en la esquina superior izquierda.
- Haga clic en Calcular.
- Haga clic en Instancias.
-
Haga clic en Crear instancia.
-
Introduzca un nombre para la instancia.
-
Seleccione Ubuntu 20.04 como el sistema operativo de la instancia.
-
En Red principal, introduzca la siguiente información.
- Seleccione DNS-VCN.
- Seleccione una subred privada.
-
Asigne a la instancia una dirección IP privada
10.0.0.10
. -
Pegue la clave pública generada en la tarea 2.1.
-
Desplácese hacia abajo hasta el final de la página y haga clic en Mostrar opciones avanzadas.
-
Haga clic en Oracle Cloud Agent.
- Seleccione el plugin Bastion, ya que utilizaremos Bastion más adelante para acceder a la instancia.
- Haga clic en Crear.
-
La instancia informática de Primary-DNS se ha creado correctamente.
-
La arquitectura debe tener el aspecto que se muestra en la siguiente imagen.
En las tareas posteriores, instalaremos y configuraremos BIND9 en la instancia Primary-DNS.
Tarea 3: Instalación y Configuración de BIND9
Tarea 3.1: Acceso a la instancia informática de DNS principal mediante Bastion
-
En primer lugar, debemos establecer el acceso mediante SSH a la instancia informática para instalar y configurar BIND9. Sin embargo, a medida que creamos la instancia en una subred privada, no podemos acceder a ella directamente desde ninguna parte, ya que no tiene una IP pública y, para ello, utilizaremos otro servicio de OCI.
OCI Bastion es un servicio gestionado que actúa como intermediario, lo que permite un acceso seguro a los recursos de una red privada. Es particularmente útil para el uso administrativo que requiere acceso a recursos que no están expuestos a la red pública de Internet. Puede considerarlo como Jump Server as a service.
- Haga clic en Identidad y seguridad.
- Haga clic en Bastión.
-
Haga clic en Crear bastión.
-
Introduzca la siguiente información.
- Introduzca un nombre de bastión.
- Seleccione la VCN (DNS-VCN) y su subred.
- Lista de permitidos de bloques de CIDR es el rango permitido de IP desde las que deberíamos conectarnos al bastión. Aquí hemos utilizado
0.0.0.0/0
para esta implantación. Podemos ser más específicos si lo deseamos seleccionando la dirección IP pública desde la que nos estamos conectando. - Haga clic en Crear bastión.
-
Se crea el bastión. Tenemos que crear una sesión que nos permita conectarnos a un recurso de destino (Primary-DNS) durante un período de tiempo específico (el valor por defecto es 3 horas).
-
Introduzca la siguiente información.
- Tipo de sesión: seleccione Sesión SSH gestionada.
- Nombre de sesión: introduzca un nombre para la sesión.
- Usuario: Introduzca el nombre de usuario. Para la instancia de Ubuntu Linux, el nombre de usuario por defecto es ubuntu.
- Instancia informática: seleccione la instancia Primary-DNS creada en la tarea 2.2.
- Pegue la misma clave pública que generamos en la tarea 2.1.
- Haga clic en Crear sesión.
-
Después de crear la sesión, haga clic en los tres puntos y en el comando Copiar SSH.
El comando se debe parecer al siguiente:
ssh -i <privateKey> -o ProxyCommand="ssh -i <privateKey> -W %h:%p -p 22 ocid1.bastionsession.oc1.eu-milan-1.amaaaaaaldij5aiaa6buxxxxxxxxxxxxxxxxxxrlnywmo3n2pty5wpf7fq@host.bastion.eu-milan-1.oci.oraclecloud.com" -p 22 ubuntu@10.0.0.10
-
Abra OCI Cloud Shell.
- Navegue al directorio
.ssh
mediante el comandocd .ssh
. - Pegue el comando SSH. Asegúrese de sustituir
<privateKey>
por el nombre de archivo de clave privadaid_rsa
.
- Navegue al directorio
-
Conexión correcta.
Tarea 3.2: Instalación de BIND9
Después de acceder a la instancia, instalaremos BIND9 y nos aseguraremos de que esté activa y en ejecución.
-
Ejecute los siguientes comandos.
sudo apt update sudo apt install bind9 bind9utils bind9-doc bind9-host
-
Ejecute el comando
sudo systemctl status named
para comprobar el estado del servicio BIND9. Está activo (en ejecución). -
Ejecute el comando
sudo systemctl enable named
para activar el servicio para que se inicie automáticamente después del reinicio.
Tarea 3.3: Cambio del nombre de dominio completo (FQDN) de la instancia
-
Para cambiar el FQDN de la instancia, acceda al archivo de hosts con el comando
sudo vi /etc/hosts
y agregue la siguiente línea.10.0.0.10 primary-dns.orastage.com primary-dns
-
Para verificar el cambio, ejecute el comando
hostname -f
para ver el nuevo FQDN.
Tarea 3.4: Configuración del archivo named.conf.options
-
Agregue la configuración.
-
Agregue las siguientes líneas al final del archivo
/etc/bind/named.conf.options
y guarde el archivo.recursion yes; notify yes; allow-query { any; }; allow-query-cache { any; }; allow-recursion { any; }; forwarders { 8.8.8.8; }; auth-nxdomain no; # conform to RFC1035 listen-on { localhost; any; }; allow-transfer { any; };
-
Reinicie el servicio BIND9.
-
Compruebe el estado del servicio.
-
Tarea 3. 5: Utilizar netstat
para mostrar el estado de los puertos TCP/UDP
net-tools es un paquete de utilidades de línea de comandos que proporcionan una recopilación de herramientas de red esenciales para el sistema operativo Linux.
-
Ejecute el comando
sudo apt install net-tools
para instalar net-tools. Esto es necesario para poder utilizar el comandonetstat
. -
Ejecute el comando
sudo netstat -antu
para comprobar los puertos/protocolos que recibe la instancia. Como puede ver en la siguiente imagen, para la IP10.0.0.10
, se deben abrir TCP/puerto 53 y UDP/puerto 53.
Tarea 3.6: Configuración del archivo named.conf.local
-
Agregue las siguientes líneas al final del archivo
/etc/bind/named.conf.local
.zone "orastage.com" { type master; allow-transfer { any; }; file "/var/lib/bind/db.orastage.com"; };
Tarea 3.7: Configuración del archivo db.orastage.com
-
El archivo
db.orastage.com
aún no existe. Para crearlo, ejecute el comandosudo vi /var/lib/bind/db.orastage.com
y agregue el siguiente contenido al archivo.$TTL 1D @ IN SOA primary-dns.orastage.com. admin.orastage.com. ( 329 ; serial 604800 ; refresh (1 week) 86400 ; retry (1 day) 2419200 ; expire (4 weeks) 604800 ; minimum (1 week) ) IN NS primary-dns.orastage.com. primary-dns IN A 10.0.0.10 fe IN A 10.1.0.5 be IN A 10.2.0.5
Tarea 3.8: Configuración del archivo 50-cloud-init.yaml
-
Acceda al archivo
/etc/netplan/50-cloud-init.yaml
y agregue las siguientes líneas.nameservers: addresses: [10.0.0.10] search: [orastage.com]
-
Ejecute el comando
sudo netplan apply
para que se apliquen los cambios.
Tarea 3.9: Desactivar firewall de iptables
-
Vamos a desactivar iptables temporalmente solo para este tutorial para evitar cualquier tipo de problemas de conectividad durante la fase de prueba.
-
Ejecute el comando
sudo su
para cambiar al usuario root. -
Para guardar una copia de seguridad de las reglas de firewall existentes, ejecute el comando
iptables-save > /root/firewall_rules.backup
. -
Ejecute el siguiente comando para borrar todas las reglas y permitir todo el tráfico a través del firewall.
iptables -F iptables -X iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT
-
Después de finalizar la tarea 6, ejecute el comando
iptables-restore < /root/firewall_rules.backup
para restaurar las reglas de firewall. -
Después de borrar las reglas, debemos asegurarnos de que este cambio sea persistente después del reinicio. Por lo tanto, ejecute el comando
apt install iptables-persistent
para instalar el paquete. -
Ejecute el comando
iptables-save > /etc/iptables/rules.v4
. -
Para ver las reglas de iptables, ejecute el comando
iptables -L
, debe estar vacío.
-
Tarea 3.10: Reiniciar BIND9
-
Ejecute el siguiente comando para reiniciar el servicio.
sudo systemctl restart named
Tarea 3.11: Prueba
-
Realice varias pruebas en las que consultemos los nombres de dominio que hemos agregado al archivo
db.orastage.com
y compruebe si está respondiendo a la consulta localmente.-
Dominio
orastage.com
:host -a orastage.com
. -
Dominio
Primary-DNS
:host -a primary-dns.orastage.com
. -
Dominio
FE-VM
:host -a fe.orastage.com
. -
Dominio
BE-VM
:host -a be.orastage.com
.
-
Tarea 4: Configuración de reglas y puntos finales de reenvío de OCI
Cada VCN de OCI tiene un solucionador por defecto que se puede utilizar para resolver nombres de host en la misma VCN, distintas VCN, redes locales o incluso nombres de host publicados públicamente en Internet. En esta tarea, vamos a utilizar dos componentes en el solucionador para lograr nuestro requisito de reenviar consultas a la instancia BIND9 Primary-DNS, que son:
- Punto final de reenvío: permite al solucionador de DNS consultar un DNS remoto como se define en las reglas de reenvío.
- Regla de reenvío: se utiliza para controlar cómo se manejan las consultas DNS cuando las vistas privadas del solucionador no responden a la consulta. ¿A qué servidor DNS remoto se reenviarán las consultas a
orastage.com
y qué punto final de reenvío?
Tarea 4.1: Configuración del punto final y la regla de reenvío para la VCN de frontend
Cree un punto final y una regla de reenvío en Frontend-VCN para apuntar las consultas orastage.com
de FE-VM a la instancia de Primary-DNS.
-
Vaya a la VCN de frontend y haga clic en Solucionador de DNS.
-
Haga clic en Crear punto final.
-
Introduzca la siguiente información.
- Nombre: introduzca un nombre para el punto final.
- Subred: seleccione la subred privada de la VCN.
- Tipo de punto final: seleccione Reenvío.
- Dirección IP de reenvío: introduzca
10.1.0.6
. - Haga clic en Crear punto final.
-
El punto final de reenvío (FWD) se ha creado correctamente.
-
Haga clic en Reglas y en Gestionar reglas.
-
Introduzca la siguiente información.
- Condición de regla: seleccione Dominios.
- Dominios: introduzca el dominio
orastage.com
. - Punto final de origen: seleccione el punto final de reenvío.
- Dirección IP de destino: introduzca la IP de la instancia BIND9
10.0.0.10
.
-
La regla de reenvío se ha creado correctamente.
Tarea 4.2: Configuración del punto final y la regla de reenvío para la VCN de backend
Cree un punto final y una regla de reenvío en Backend-VCN para apuntar las consultas orastage.com
de BE-VM a la instancia de Primary-DNS.
- Vaya a la VCN de backend y haga clic en Solucionador de DNS.
-
Haga clic en Crear punto final.
-
Introduzca la siguiente información.
- Nombre: introduzca un nombre para el punto final.
- Subred: seleccione la subred privada de la VCN.
- Tipo de punto final: seleccione Reenvío.
- Dirección IP de reenvío: introduzca
10.2.0.6
. - Haga clic en Crear punto final.
-
El punto final de reenvío (FWD) se ha creado correctamente.
-
Haga clic en Reglas y en Gestionar reglas.
-
Introduzca la siguiente información.
- Condición de regla: seleccione Dominios.
- Dominios: introduzca el dominio
orastage.com
. - Punto final de origen: seleccione el punto final de reenvío.
- Dirección IP de destino: introduzca la IP de la instancia BIND9
10.0.0.10
.
-
La regla de reenvío se ha creado correctamente.
-
La arquitectura debe tener el aspecto que se muestra en la siguiente imagen.
Tarea 5: Aprovisionamiento de instancias de cliente para realizar consultas DNS
Tarea 5.1: Creación de una instancia informática FE-VM
-
Haga clic en el menú de hamburguesa (≡) en la esquina superior izquierda.
- Haga clic en Calcular.
- Haga clic en Instancias.
-
Haga clic en Crear instancia.
-
Introduzca un nombre para la instancia.
-
Seleccione Oracle Linux 8 como el sistema operativo de la instancia.
-
En Red principal, introduzca la siguiente información.
- Seleccione VCN de frontend.
- Seleccione la subred privada.
-
Asigne a la instancia una dirección IP privada
10.1.0.5
. -
Pegue la clave pública generada en la tarea 2.1.
-
Desplácese hacia abajo hasta el final de la página y haga clic en Mostrar opciones avanzadas.
-
Haga clic en Oracle Cloud Agent.
-
Seleccione el plugin Bastion, ya que utilizaremos Bastion para acceder a la instancia y hacer clic en Create.
-
La instancia informática FE-VM se ha creado correctamente.
Tarea 5.2: Creación de una instancia informática BE-VM
-
Haga clic en Instancia y en Crear instancia.
-
Introduzca un nombre para la instancia.
-
Seleccione Oracle Linux 8 como el sistema operativo de la instancia.
-
En Red principal, introduzca la siguiente información.
- Seleccione VCN de backend.
- Seleccione la subred privada.
-
Asigne a la instancia una dirección IP privada
10.2.0.5
. -
Pegue la clave pública generada en la tarea 2.1.
-
Desplácese hacia abajo hasta el final de la página y haga clic en Mostrar opciones avanzadas.
-
Haga clic en Oracle Cloud Agent.
-
Seleccione el plugin Bastion, ya que utilizaremos Bastion para acceder a la instancia y hacer clic en Create.
-
La instancia informática de BE-VM se ha creado correctamente.
-
Se ha completado la arquitectura.
Nota: En las tareas posteriores, probaremos varios escenarios y validaremos que la configuración funciona según lo esperado.
Tarea 6: Prueba y validación
Tarea 6.1: Acceso a la instancia informática FE-VM mediante Bastion y Test
-
La máquina cliente FE-VM debe poder resolver
be.orastage.com
.- Haga clic en Identidad y seguridad.
- Haga clic en Bastión.
-
Haga clic en Crear bastión.
-
Introduzca la siguiente información.
- Nombre de bastión: introduzca un nombre para el bastión.
- Configurar red: seleccione la VCN (VCN de frontend) y su subred.
- Lista de permitidos de bloques de CIDR es el rango permitido de IP desde las que debemos conectarnos al bastión. Aquí hemos utilizado
0.0.0.0/0
para esta implantación. Podemos ser más específicos si lo deseamos seleccionando la dirección IP pública desde la que nos estamos conectando. - Haga clic en Crear bastión.
-
Se crea el bastión. Tenemos que crear una sesión para conectarnos a un recurso de destino (FE-VM) durante un período de tiempo específico (el valor por defecto es 3 horas).
-
Introduzca la siguiente información.
- Tipo de sesión: seleccione Sesión SSH gestionada.
- Nombre de sesión: introduzca un nombre.
- Usuario: Introduzca el nombre de usuario. Para la instancia de Oracle Linux, el usuario por defecto es
opc
. - Instancia informática: seleccione la instancia de FE-VM creada en la tarea 5.
- Pegue la misma clave pública generada en la tarea 2.1.
- Haga clic en Crear sesión.
-
Después de crear la sesión, haga clic en los tres puntos y en el comando Copiar SSH.
El comando se debe parecer al siguiente:
ssh -i <privateKey> -o ProxyCommand="ssh -i <privateKey> -W %h:%p -p 22 ocid1.bastionsession.oc1.eu-milan-1.amaaaaaaldij5aiaskfyan4yj7yx3bmm57rckmvvawikppba5mxxzo2q7dka@host.bastion.eu-milan-1.oci.oraclecloud.com" -p 22 opc@10.1.0.5
- Abra Cloud Shell y navegue al directorio
.ssh
mediante el comandocd .ssh
. - Pegue el comando SSH y asegúrese de sustituir
<privateKey>
por el nombre de archivo de clave privadaid_rsa
. - Introduzca yes y haga clic en Intro.
- Abra Cloud Shell y navegue al directorio
-
Pruebe las consultas
orastage.com
de FE-VM abe.orastage.com
. Puede validar la configuración mediante diferentes métodos.- Ejecutar el comando
host
. - Ejecute el comando
ping
. - Ejecute el comando
dig
.
- Ejecutar el comando
Como se muestra en la prueba anterior, podemos recuperar la dirección IP del dominio BE-VM y el ping funciona con el nombre de host, lo que significa que la prueba se realizó correctamente.
Tarea 6.2: Acceso a la instancia informática de BE-VM mediante Bastion y Test
-
La máquina cliente BE-VM debe poder resolver
fe.orastage.com
.- Haga clic en Identidad y seguridad.
- Haga clic en Bastión.
-
Haga clic en Crear bastión.
-
Introduzca la siguiente información.
- Nombre de bastión: introduzca un nombre para el bastión.
- Configurar red: seleccione la VCN (VCN de backend) y su subred.
- Lista de permitidos de bloques de CIDR es el rango permitido de IP desde las que debemos conectarnos al bastión. Aquí hemos utilizado
0.0.0.0/0
para esta implantación. Podemos ser más específicos si lo deseamos seleccionando la dirección IP pública desde la que nos estamos conectando. - Haga clic en Crear bastión.
-
Se crea el bastión. Tenemos que crear una sesión para conectarnos a un recurso de destino (BE-VM) durante un período de tiempo específico (el valor por defecto es 3 horas).
-
Introduzca la siguiente información.
- Tipo de sesión: seleccione Sesión SSH gestionada.
- Nombre de sesión: introduzca un nombre.
- Usuario: Introduzca el nombre de usuario. Para la instancia de Oracle Linux, el usuario por defecto es
opc
. - Instancia informática: seleccione la instancia de BE-VM creada en el PASO 06.
- Pegue la misma clave pública generada en la tarea 2.1.
- Haga clic en Crear sesión.
-
Después de crear la sesión, haga clic en los tres puntos y en el comando Copiar SSH.
El comando se debe parecer al siguiente:
ssh -i <privateKey> -o ProxyCommand="ssh -i <privateKey> -W %h:%p -p 22 ocid1.bastionsession.oc1.eu-milan-1.amaaaaaaldij5aia73xclnp6h6i2mjnpsuer2bnz4cblejfemnr6uk7pafla@host.bastion.eu-milan-1.oci.oraclecloud.com" -p 22 opc@10.2.0.5
- Abra Cloud Shell y navegue al directorio
.ssh
mediante el comandocd .ssh
. - Pegue el comando SSH y asegúrese de sustituir
<privateKey>
por el nombre de archivo de clave privadaid_rsa
. - Introduzca yes y haga clic en Intro.
- Abra Cloud Shell y navegue al directorio
-
Pruebe las consultas
orastage.com
de BE-VM afe.orastage.com
. Puede validar la configuración mediante diferentes métodos.- Ejecutar el comando
host
. - Ejecute el comando
ping
. - Ejecute el comando
dig
.
- Ejecutar el comando
Como se muestra en la prueba anterior, podemos recuperar la dirección IP del dominio FE-VM y el ping funciona con el nombre de host, lo que significa que la prueba se realizó correctamente.
Pasos Siguientes
En este tutorial, hemos creado una pequeña arquitectura de DNS BIND9 con componentes básicos: configuración de clientes y servidores en Oracle Cloud Infrastructure. A lo largo de este segmento, obtuvo información sobre el enrutamiento y la seguridad de la red de OCI al tratar con diferentes componentes, como tablas de rutas, DRG, listas de seguridad, Bastion, etc. También ha aprendido a instalar y configurar un DNS BIND9 funcional en un entorno OCI.
En el siguiente tutorial: Tutorial 2: Implementación de alta disponibilidad en el sistema de nombres de dominio BIND9 en Oracle Cloud Infrastructure, mejoraremos esta configuración mediante la incorporación de la capa de alta disponibilidad en nuestra arquitectura, que es crucial para reducir el tiempo de inactividad y mejorar la experiencia del usuario.
Agradecimientos
- Autor: Anas abdallah (especialista en redes en la nube)
Más recursos de aprendizaje
Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de formación gratuita en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de Oracle Learning.
Para obtener documentación sobre el producto, visite Oracle Help Center.
Configure BIND9 Domain Name System in Oracle Cloud Infrastructure
G13016-03
Copyright ©2025, Oracle and/or its affiliates.