Note :
- Ce tutoriel nécessite l'accès à Oracle Cloud. Pour vous inscrire à un compte gratuit, voir Démarrer avec le niveau gratuit d'Oracle Cloud Infrastructure.
- Il utilise des exemples de valeurs pour les données d'identification, la location et les compartiments d'Oracle Cloud Infrastructure. À la fin de votre laboratoire, remplacez ces valeurs par celles qui sont propres à votre environnement en nuage.
Configurer le système de noms de domaine BIND9 dans Oracle Cloud Infrastructure
Présentation
OraStage est une entreprise leader dans le secteur de l'énergie, spécialisée dans les solutions d'énergie renouvelable et les technologies d'énergie innovantes, la société a annoncé une décision stratégique de migrer ses charges de travail vers Oracle Cloud Infrastructure (OCI) afin d'améliorer la performance, l'évolutivité et la sécurité.
Compte tenu des besoins et conditions spécifiques que OraStage a décrits, l'entreprise a besoin d'une solution hybride de système de noms de domaine (DNS) dans le nuage, et par hybride ici signifie : utiliser leur propre système DNS Berkeley Internet Name Domain version 9 (BIND9) en plus du service DNS OCI, où l'architecture finale qu'ils cherchent à créer est affichée dans l'image suivante.
OraStage Exigences relatives au DNS :
-
La société dispose de plusieurs domaines et sous-domaines internes. Tous doivent être résolus par leur DNS BIND9 dans OCI, où OraStage gérera toutes les zones et tous les enregistrements connexes. L'un de ces domaines est
orastage.com
que nous allons utiliser dans ce tutoriel. Ainsi, toute interrogation àorastage.com
doit être transmise à BIND9. -
Ils doivent toujours résoudre les domaines natifs OCI (
oraclevcn.com
,oraclecloud.com
, etc.) dans certains cas, et cela se fera à l'aide de composants DNS privés OCI : vues privées, transfert de points d'extrémité et de règles, et points d'extrémité d'écoute. -
Toutes les interrogations doivent être inspectées par une instance de pare-feu pfSense.
-
Pour éviter un point de défaillance unique, OraStage prévoit d'utiliser un autre serveur DNS et d'exploiter l'équilibreur de charge OCI pour répartir les interrogations entre le DNS principal et le DNS secondaire.
Cette série de tutoriels vous guidera étape par étape pour atteindre les exigences décrites ci-dessus, en construisant l'ensemble de la solution à partir de zéro. Vous pouvez facilement accéder à chaque tutoriel à partir de la liste ci-dessous :
-
Tutoriel 1 : Configurer le DNS BIND9 dans OCI. Voyez comment installer et configurer BIND9 sur une instance de calcul, ce qui en fait le serveur DNS local pour deux environnements de test dans OCI. Ces environnements seront constitués de serveurs "Frontend" et "Backend", chacun hébergé dans un réseau satellite distinct. Le serveur BIND9 traitera toutes les interrogations DNS dirigées vers
orastage.com
. -
Tutoriel 2 : Mettre en oeuvre la haute disponibilité dans le scénario DNS BIND9 dans OCI. Ce tutoriel porte sur l'ajout d'un serveur BIND9 secondaire et la configuration d'un équilibreur de charge de réseau (NLB) pour répartir le trafic DNS entre les deux serveurs. Les interrogations DNS vers
orastage.com
seront dirigées vers l'adresse IP de l'équilibreur de charge de réseau, qui permettra d'équilibrer la charge entre les serveurs BIND9 principal et secondaire. Si un serveur devient indisponible, la résolution DNS se poursuivra sans interruption de service. -
Tutoriel 3 : Utiliser le DNS OCI pour résoudre les domaines natifs. Se concentrant uniquement sur un cas d'utilisation spécifique, où nous utilisons des composants DNS natifs dans OCI, au cas où il serait nécessaire de résoudre des domaines natifs tels que
oraclevcn.com
etoraclecloud.com
. Le DNS BIND9 n'est pas utilisé dans ce tutoriel. -
Tutoriel 4 : Ajout de la sécurité à l'architecture DNS à l'aide du pare-feu pfSense. Mettre l'accent sur l'installation d'un pare-feu pfSense dans le VCN central dans OCI et effectuer la configuration réseau requise pour acheminer tout le trafic Est-Ouest, y compris les interrogations DNS (effectuées dans les précédents tutoriels) au moyen du pare-feu à inspecter.
Aperçu de BIND9
BIND9 (Berkeley Internet Name Domain version 9) est l'un des progiciels de serveur DNS (Domain Name System) les plus utilisés et les plus matures au monde. Il est développé et maintenu par l'Internet Systems Consortium (ISC). BIND9 sert de base à une grande partie de l'infrastructure DNS d'Internet, fournissant des services DNS robustes et fiables pour les déploiements à petite et à grande échelle.
La flexibilité, la robustesse et les fonctionnalités étendues de BIND9 le rendent adapté à un large éventail d'applications DNS, des petits réseaux internes aux plus grands services DNS publics sur Internet.
Principales fonctionnalités de BIND9
-
Prise en charge du protocole DNS : Prend en charge toutes les fonctions et protocoles DNS principaux, notamment IPv4 et IPv6, DNSSEC (DNS Security Extensions) et TSIG (Transaction SIGnature).
-
DNSSEC (DNS Security Extensions) : Fournit des fonctions de sécurité avancées pour protéger l'intégrité et l'authenticité des données DNS, empêchant ainsi les attaques telles que l'empoisonnement de la mémoire cache et l'usurpation d'identité.
-
Extensibilité et performance : Convient aux déploiements DNS de petite à très grande taille, avec des capacités pour gérer efficacement les charges d'interrogation élevées et les zones volumineuses.
-
Flexibilité et personnalisation :
- Hautement configurable avec des options étendues pour ajuster le comportement du DNS, la gestion des zones et le traitement des interrogations.
- Prend en charge différents types de zones, y compris les zones maître (primaire), esclave (secondaire) et talon.
-
DNS dynamique : Prend en charge le DNS dynamique (DDNS), ce qui permet les mises à jour en temps réel des enregistrements DNS sans redémarrer le serveur.
-
Contrôle d'accès et sécurité :
- Implémente des listes de contrôle d'accès (LCA) pour restreindre l'accès aux services DNS et gérer qui peut interroger ou mettre à jour les zones.
- Prend en charge les vues pour fournir différentes réponses aux interrogations DNS en fonction de la source de l'interrogation.
-
Journalisation et surveillance :
- Fonctions étendues de journalisation pour le suivi des interrogations, des mises à jour et des performances du serveur.
- Intégration avec des outils de surveillance pour assurer une haute disponibilité et un dépannage rapide.
-
Mise en mémoire cache : Fournit des mécanismes de mise en mémoire cache robustes pour améliorer la performance et réduire la charge sur les serveurs DNS faisant autorité en mettant en mémoire cache les réponses DNS.
-
Transferts de zone : Prend en charge les transferts de zone sécurisée entre serveurs DNS à l'aide d'AXFR (transfert de zone complète) et d'IXFR (transfert de zone incrémentiel).
Cas d'utilisation courants de BIND9
-
Serveur DNS faisant autorité : Héberge des enregistrements DNS pour les domaines, fournissant des réponses faisant autorité aux interrogations DNS.
-
Serveur DNS récursif : Résout les interrogations DNS pour les clients en interrogeant récursivement d'autres serveurs DNS.
-
Transfert d'un serveur DNS : Transmet les interrogations DNS à d'autres serveurs DNS, souvent utilisés en conjonction avec la mise en mémoire cache.
-
Serveur DNS secondaire (esclave) : Permet de tenir à jour les copies des données de zone à partir d'un serveur principal, ce qui assure la redondance et l'équilibrage de charge.
Installation et configuration de BIND9
-
Installation : BIND9 peut être installé sur divers systèmes d'exploitation, notamment Linux, UNIX et Windows. Il est disponible via les gestionnaires de paquets sur la plupart des distributions Linux ou peut être compilé à partir d'une source.
-
Configuration : Le fichier de configuration principal est
named.conf
, où les administrateurs définissent des zones, des contrôles d'accès, des options de journalisation et d'autres paramètres. Les fichiers de zone contiennent les enregistrements DNS réels pour chaque domaine.
Utiliser BIND9 sur OCI
Il existe plusieurs raisons pour lesquelles certains clients peuvent choisir d'utiliser et de gérer leur propre DNS (comme BIND9) au lieu d'utiliser les services DNS gérés pour Oracle Cloud Infrastructure (OCI) :
-
Personnalisation et flexibilité :
-
Configurations avancées : Les solutions DNS personnalisées telles que BIND9 offrent une grande configurabilité, ce qui permet aux clients d'adapter leurs paramètres DNS pour répondre à des exigences particulières qui ne peuvent pas être prises en charge par les services gérés.
-
Fonctions spécialisées : Certaines organisations ont besoin de fonctions avancées telles que la journalisation des interrogations spécifiques, le contrôle d'accès détaillé ou les enregistrements DNS personnalisés que les services gérés peuvent ne pas fournir.
-
-
Considérations relatives aux coûts :
-
Gestion des coûts : Un DNS autogéré peut être plus rentable, en particulier pour les organisations qui ont un trafic DNS important, car il permet d'éviter les coûts variables associés aux services gérés.
-
Frais prévisibles : L'exploitation de leurs propres serveurs DNS peut entraîner des coûts plus prévisibles, car ils n'ont qu'à gérer les coûts d'infrastructure plutôt que de payer pour l'utilisation du DNS géré.
-
-
Contrôle et sécurité :
-
Contrôle total : Les organisations peuvent préférer avoir un contrôle complet sur leur infrastructure DNS, notamment la possibilité de mettre en oeuvre des politiques de sécurité personnalisées, une journalisation détaillée et des contrôles d'accès détaillés.
-
Confidentialité des données : Pour les environnements hautement sensibles ou réglementés, le maintien du trafic DNS interne à son propre réseau peut être une exigence de sécurité pour assurer la confidentialité des données et la conformité aux réglementations.
-
-
Performance et fiabilité :
-
Optimisation des performances : Un DNS autogéré permet aux organisations d'optimiser la performance en configurant la mise en mémoire cache, l'équilibrage de charge et les réponses DNS propres à la géolocalisation, adaptées à leurs besoins.
-
Fiabilité : En gérant leurs propres serveurs DNS, les organisations peuvent mettre en oeuvre des configurations à haute disponibilité et des mesures de redondance qui s'alignent sur leurs exigences de fiabilité spécifiques.
-
-
Intégration à une infrastructure existante :
-
Systèmes existants : Les organisations qui utilisent des systèmes existants peuvent avoir une infrastructure DNS existante profondément intégrée à leurs autres systèmes et processus, ce qui facilite la gestion de leur propre DNS.
-
Intégrations personnalisées : Un DNS autogéré permet une intégration transparente à d'autres applications personnalisées ou de tierce partie qui nécessitent des configurations ou des interactions DNS spécifiques.
-
-
Exigences réglementaires et de conformité :
- Besoins de conformité : Certaines industries ont des exigences réglementaires rigoureuses qui nécessitent le contrôle de tous les aspects de leur infrastructure informatique, y compris le DNS, pour se conformer aux normes juridiques et de conformité.
-
Apprentissage et expertise :
- Développement des compétences : Certaines organisations préfèrent disposer d'une expertise et de connaissances internes sur la gestion du DNS, ce qui peut s'avérer utile pour le dépannage et l'optimisation de l'infrastructure informatique globale.
-
Évitement de verrouillage du fournisseur :
- Éviter le verrouillage : En gérant leur propre DNS, les organisations peuvent éviter d'être verrouillées dans l'écosystème d'un fournisseur particulier, ce qui leur donne plus de flexibilité pour changer de fournisseur ou migrer des charges de travail sans reconfiguration importante.
Bien que les services de DNS gérés d'OCI offrent facilité d'utilisation, évolutivité et réduction des frais généraux de gestion, ces facteurs mettent en évidence la raison pour laquelle certaines organisations peuvent choisir de gérer leur propre infrastructure de DNS.
Objectifs de configuration de BIND9 dans OCI
-
Présentation de BIND9 et d'OCI
- Découvrez ce qu'est BIND9 et son rôle dans la gestion DNS.
- Obtenez un aperçu d'Oracle Cloud Infrastructure (OCI) et de ses composants clés pertinents pour cette configuration.
-
Préalables et configuration initiale
- Sert à définir et à regrouper les préalables nécessaires à la configuration.
- Configurez une instance OCI (machine virtuelle) pour héberger le serveur BIND9.
-
Configuration de l'environnement OCI
- Configurer les paramètres réseau de base dans OCI, c'est-à-dire les règles de routage et les passerelles pour établir une communication appropriée entre tous les serveurs et clients connexes, et les listes de sécurité pour autoriser le trafic DNS.
-
Installation de BIND9 sur l'instance OCI
- Accédez à l'instance OCI au moyen de SSH.
- Installez les ensembles et dépendances nécessaires pour BIND9.
-
Configuration de BIND9
- Configurez les fichiers de configuration BIND9 principaux (
named.conf
). - Configurer des fichiers de zone pour les consultations DNS de transfert.
- Configurez les fichiers de configuration BIND9 principaux (
-
Démarrage et gestion du service BIND9
- Démarrez le service BIND9 et configurez-le pour démarrer au démarrage.
- Vérifiez que le service BIND9 s'exécute correctement.
-
Test du serveur DNS
- Utilisez des outils de ligne de commande (p. ex., dig, host) pour tester la résolution DNS.
- Assurez-vous que les consultations de transfert sont correctement configurées et opérationnelles.
-
Sécurisation du serveur BIND9
- Mettre en oeuvre les meilleures pratiques pour sécuriser le serveur BIND9, y compris les contrôles d'accès.
-
Conclusion et ressources supplémentaires
- Résumez ce qui est fait.
- Fournir des ressources et des références supplémentaires pour un apprentissage ultérieur.
Objectifs
-
À la fin de ce tutoriel, vous disposerez d'un serveur DNS fonctionnel BIND9 s'exécutant sur Oracle Cloud Infrastructure (OCI). Vous comprendrez les bases du DNS et le fonctionnement de BIND9, ce qui vous permet de configurer, de gérer et de sécuriser un serveur BIND9 dans un environnement en nuage. En outre, vous serez doté des connaissances nécessaires pour dépanner et tenir à jour votre configuration DNS BIND9 dans OCI. Ce tutoriel vous aidera également à améliorer vos compétences en matière d'exploitation de divers composants OCI dans les services de réseau et de calcul.
-
L'objectif principal de ce tutoriel est d'activer FE-VM (
fe.orastage.com
) pour interroger BE-VM (be.orastage.com
), et vice versa, avec Primary-DNS (primary-dns.orastage.com
) agissant en tant que serveur DNS faisant autorité.
Architecture finale
Préalables
-
Accès à une location OCI et autorisations pour gérer le réseau et les services de calcul requis.
-
Comprendre de base le routage et la sécurité du réseau OCI et leurs fonctionnalités : réseau en nuage virtuel (VCN), table de routage, passerelle de routage dynamique (DRG), liste de sécurité et hôte bastion.
-
Compréhension de base de Ubuntu Linux et DNS en général.
-
Trois réseaux en nuage virtuels sont requis avec un sous-réseau privé dans chacun.
- DNS-VCN : Hébergera le serveur DNS principal. En plus d'un DNS secondaire et d'un équilibreur de charge de réseau.
- Frontend-VCN : L'un des clients sera hébergé. En plus d'un transmetteur DNS OCI.
- Backend-VCN : L'autre client sera hébergé. En plus d'un transmetteur DNS OCI.
Tâche 1 : Configurer les composants de routage et de réseau de sécurité
Tâche 1.1 : Créer des réseaux en nuage virtuels
-
Assurez-vous que les réseaux en nuage virtuels suivants sont déjà créés.
- DNS-VCN (
10.0.0.0/16
) contenant DNS-Private-Subnet (10.0.0.0/24
). - Frontend-VCN (
10.1.0.0/16
) contenant FE-Private-Subnet (10.1.0.0/24
). - Backend-VCN (
10.2.0.0/16
) contenant BE-Private-Subnet (10.2.0.0/24
).
- DNS-VCN (
-
Cliquez sur le menu hamburger (≡) dans le coin supérieur gauche.
- Cliquez sur Réseau.
- Cliquez sur Réseaux en nuage virtuels.
-
Nous pouvons voir les réseaux en nuage virtuels en place, chaque réseau VCN n'a qu'un seul sous-réseau privé, et la table de routage par défaut et la liste de sécurité y sont attachées.
Tâche 1.2 : Créer une passerelle de routage dynamique (DRG)
DRG est un routeur virtuel qui fournit un chemin pour le trafic privé d'un VCN à un autre, ou entre un VCN et un réseau sur place, ou même un VCN avec d'autres réseaux d'environnement en nuage. Il s'agit donc d'un composant puissant et critique pour chaque environnement réseau OCI. Dans ce tutoriel, nous allons l'utiliser pour établir une connectivité entre plusieurs réseaux en nuage virtuels dans la même région.
-
Cliquez sur le menu hamburger (≡) dans le coin supérieur gauche.
- Cliquez sur Réseau.
- Cliquez sur Passerelle de routage dynamique.
-
Cliquez sur Créer une passerelle de routage dynamique.
- Entrez un nom pour la passerelle DR.
- Cliquez sur Créer une passerelle de routage dynamique.
-
La passerelle DRG a été créée.
Tâche 1.3 : Attacher des réseaux en nuage virtuels à la passerelle DRG
-
Dans la page des détails de la passerelle DRG, créez des attachements de réseau en nuage virtuel. Pour créer, cliquez sur Créer un attachement de réseau en nuage virtuel.
-
Attachement de DNS-VCN :
-
Attachement Frontend-VCN :
-
Attachement du réseau dorsal-VCN :
-
-
Tous les réseaux en nuage virtuels ont été attachés. Par défaut, ces attachements utiliseront la table de routage DRG générée automatiquement qui permet à chaque attachement d'apprendre dynamiquement les routes vers d'autres réseaux en nuage virtuels.
-
Tous les réseaux en nuage virtuels doivent pouvoir se connecter. Nous devons donc faciliter la communication entre eux en utilisant certaines règles de route et de sécurité. Dans la tâche 1.4, la tâche 1.5 et la tâche 1.6, nous allons :
- Autorisez l'accès SSH pour que nous puissions nous connecter aux instances.
- Autoriser le trafic DNS là où il est nécessaire.
- Le trafic Ping doit être autorisé là où il est nécessaire.
- Fournir un accès Internet sortant là où il est nécessaire.
- Assurez-vous que chaque instance de calcul doit être en mesure d'atteindre l'autre au moyen de la passerelle DRG.
Tâche 1.4 : Configurer le routage et la sécurité pour le DNS-VCN
-
Cela doit être fait au niveau du sous-réseau. Naviguez jusqu'à la page Réseaux en nuage virtuels et cliquez sur DNS-VCN.
-
Cliquez sur le sous-réseau privé.
-
Cliquez sur Table de routage qui est une table de routage affectée.
-
Assurez-vous d'ajouter les règles suivantes.
0.0.0.0/0
- Passerelle NAT : Pour avoir un accès unidirectionnel à Internet, installez des ensembles/correctifs si nécessaire. Dans ce tutoriel, nous avons besoin de cet accès pour installer l'ensemble BIND9 sur le serveur Principal-DNS.10.1.0.0/16
- DRG : Achemine le trafic destiné à Frontend-VCN vers la passerelle DRG.10.2.0.0/16
- DRG : Achemine le trafic destiné au réseau dorsal-VCN vers la passerelle DRG.
-
Si aucune passerelle NAT n'est créée, suivez les étapes pour en créer une avant d'ajouter la règle de routage à l'étape ci-dessus.
- Allez à la page des détails du DNS-VCN et cliquez sur Passerelles NAT.
- Cliquez sur Créer une passerelle NAT.
-
Entrez les informations suivantes .
- Entrez un nom pour une passerelle NAT.
- Sélectionnez Adresse IP publique éphémère.
- Cliquez sur Créer une passerelle NAT.
La passerelle NAT a été créée.
-
Comme nous avons terminé la partie de routage pour le sous-réseau DNS-VCN, faisons la sécurité maintenant. Allez à la page Détails du sous-réseau et cliquez sur la liste de sécurité affectée.
-
Assurez-vous d'autoriser le trafic entrant.
- Trafic SSH depuis n'importe où (port 22).
- Trafic DNS depuis Frontend-VCN et Backend-VCN (TCP/port 53 et UDP/port 53).
-
Assurez-vous d'autoriser tout le trafic sortant.
Tâche 1.5 : Configurer le routage et la sécurité pour le VCN frontal
-
Cela doit être fait au niveau du sous-réseau. Naviguez jusqu'à la page Réseaux en nuage virtuels et cliquez sur Frontend-VCN.
-
Cliquez sur le sous-réseau privé.
-
Cliquez sur Table de routage qui est une table de routage affectée.
-
Assurez-vous d'ajouter les règles suivantes.
0.0.0.0/0
- Passerelle NAT : Pour avoir un accès unidirectionnel à Internet, nous en avons besoin ici pour que FE-VM** puisse utiliser le service d'hôte bastion OCI, l'utilisation de la passerelle de service peut également effectuer la tâche.10.0.0.0/16
- DRG : Achemine le trafic destiné au DNS-VCN vers la passerelle DRG.10.2.0.0/16
- DRG : Achemine le trafic destiné au réseau dorsal-VCN vers la passerelle DRG.
-
Si aucune passerelle NAT n'est créée, suivez les étapes de la tâche 1.4 pour en créer une avant d'ajouter la règle de routage à l'étape ci-dessus.
-
Comme nous avons terminé la partie de routage pour Frontend-VCN, faisons la sécurité maintenant. Allez à la page Détails du sous-réseau et cliquez sur la liste de sécurité affectée.
-
Assurez-vous d'autoriser le trafic entrant.
- Trafic SSH depuis n'importe où (port 22).
- Trafic ping depuis Backend-VCN (ICMP, type 8), nous aurons besoin de cette règle à la phase de test.
-
Assurez-vous d'autoriser tout le trafic sortant.
Tâche 1.6 : Configurer le routage et la sécurité pour le VCN dorsal
-
Cela doit être fait au niveau du sous-réseau. Naviguez jusqu'à la page Réseaux en nuage virtuels et cliquez sur Backend-VCN.
-
Cliquez sur le sous-réseau privé.
-
Cliquez sur Table de routage qui est une table de routage affectée.
-
Assurez-vous d'ajouter les règles suivantes.
0.0.0.0/0
- Passerelle NAT : Pour avoir un accès unidirectionnel à Internet, nous en avons besoin ici pour que BE-VM puisse utiliser le service d'hôte bastion OCI, l'utilisation de la passerelle de service peut également effectuer la tâche.10.0.0.0/16
- DRG : Achemine le trafic destiné au DNS-VCN vers la passerelle DRG.10.1.0.0/16
- DRG : Achemine le trafic destiné à Frontend-VCN vers la passerelle DRG.
-
Si aucune passerelle NAT n'est créée, suivez les étapes de la tâche 1.4 pour en créer une avant d'ajouter la règle de routage à l'étape ci-dessus.
-
Comme nous avons terminé la partie de routage pour Backend-VCN, faisons la sécurité maintenant. Allez à la page Détails du sous-réseau et cliquez sur la liste de sécurité affectée.
-
Assurez-vous d'autoriser le trafic entrant.
- Trafic SSH depuis n'importe où (port 22).
- Trafic ping depuis Frontend-VCN (ICMP, type 8), nous aurons besoin de cette règle lors de la phase de test.
-
Assurez-vous d'autoriser tout le trafic sortant.
-
Les composants de réseau de base sont maintenant prêts (réseaux en nuage virtuels, sous-réseaux, tables de routage, passerelle DRG et listes de sécurité). Maintenant, l'architecture doit ressembler à celle illustrée dans l'image suivante.
Tâche 2 : Provisionner une instance de calcul OCI
Provisionnez une instance de calcul dans laquelle BIND9 sera configuré.
Tâche 2.1 : Générer une paire de clés SSH
Cela doit être fait avant de créer l'instance. Les clés SSH seront utilisées pour l'authentification auprès des instances de calcul Linux. Vous pouvez générer les clés à l'aide de l'outil PuTTYgen sur un ordinateur Windows ou de l'utilitaire ssh-keygen sur n'importe quel ordinateur. Dans ce tutoriel, nous allons utiliser ssh-keygen dans Cloud Shell pour OCI.
-
Cliquez sur Cloud Shell.
-
Exécutez la commande
ssh-keygen
pour générer une paire de clés. -
Naviguez jusqu'au répertoire
.ssh
par défaut à l'aide de la commandecd .ssh
et copiez le contenu du fichier de clé publiqueid_rsa.pub
. Nous l'utiliserons dans la tâche 2.2.
Tâche 2.2 : Provisionner une instance de calcul DNS principale
-
Cliquez sur le menu hamburger (≡) dans le coin supérieur gauche.
- Cliquez sur Calculer.
- Cliquez sur Instances.
-
Cliquez sur Créer une instance.
-
Entrez un nom pour l'instance.
-
Sélectionnez Ubuntu 20.04 comme système d'exploitation de l'instance.
-
Dans Réseau principal, entrez les informations suivantes.
- Sélectionnez DNS-VCN.
- Sélectionner un sous-réseau privé.
-
Affectez à l'instance une adresse IP privée
10.0.0.10
. -
Collez la clé publique générée dans la tâche 2.1.
-
Faites défiler la page vers le bas jusqu'à la fin et cliquez sur Afficher les options avancées.
-
Cliquez sur Oracle Cloud Agent.
- Sélectionnez le plugiciel d'hôte bastion, car nous utiliserons l'hôte bastion plus tard pour accéder à l'instance.
- Cliquez sur Créer.
-
L'instance de calcul Primary-DNS a été créée.
-
L'architecture doit se présenter comme indiqué dans l'image suivante.
Dans les tâches ultérieures, nous installerons et configurerons BIND9 dans l'instance Primary-DNS.
Tâche 3 : Installer et configurer BIND9
Tâche 3.1 : Accéder à l'instance de calcul DNS principale à l'aide de l'hôte bastion
-
Tout d'abord, nous devons établir l'accès au moyen de SSH à l'instance de calcul pour installer et configurer BIND9. Toutefois, comme nous avons créé l'instance dans un sous-réseau privé, nous ne pouvons pas y accéder directement à partir de n'importe où, car elle n'a pas d'adresse IP publique, et pour cela, nous utiliserons un autre service OCI.
OCI Bastion est un service géré qui agit comme intermédiaire et qui permet un accès sécurisé aux ressources d'un réseau privé. Il est particulièrement utile pour une utilisation administrative qui nécessite l'accès à des ressources qui ne sont pas exposées au réseau Internet public. Vous pouvez le considérer comme un serveur de saut en tant que service.
- Cliquez sur Identité et sécurité.
- Cliquez sur Hospital.
-
Cliquez sur Créer un hôte bastion.
-
Entrez les informations suivantes .
- Entrez un nom d'hôte bastion.
- Sélectionnez le VCN (DNS-VCN) et son sous-réseau.
- La liste d'autorisation des blocs CIDR est l'intervalle autorisé d'adresses IP que nous devons connecter à l'hôte bastion. Ici, nous avons utilisé
0.0.0.0/0
pour cette mise en oeuvre. Si vous le souhaitez, nous pouvons être plus précis en choisissant l'adresse IP publique à partir de laquelle nous sommes connectés. - Cliquez sur Créer un hôte bastion.
-
Hôte bastion créé. Nous devons créer une session qui nous permet de nous connecter à une ressource cible (Primary-DNS) pendant une période spécifique (la valeur par défaut est de 3 heures).
-
Entrez les informations suivantes .
- Type de session : Sélectionnez Session SSH gérée.
- Nom de session : Entrez un nom pour la session.
- Nom d'utilisateur : Entrez le nom d'utilisateur. Pour l'instance Ubuntu Linux, le nom d'utilisateur par défaut est ubuntu.
- Instance de calcul : Sélectionnez l'instance Primary-DNS créée dans la tâche 2.2.
- Collez la même clé publique que celle générée dans la tâche 2.1.
- Cliquez sur Créer une session.
-
Une fois la session créée, cliquez sur les trois points et sur Copier la commande SSH.
La commande doit ressembler à ceci :
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
-
Ouvrez OCI Cloud Shell.
- Naviguez jusqu'au répertoire
.ssh
à l'aide de la commandecd .ssh
. - Collez la commande SSH. Veillez à remplacer
<privateKey>
par le nom de fichier de clé privéeid_rsa
.
- Naviguez jusqu'au répertoire
-
La connexion a été établie avec succès.
Tâche 3.2 : Installer BIND9
Après avoir accédé à l'instance, nous allons installer BIND9 et nous assurer qu'elle est en cours d'exécution.
-
Exécutez les commandes suivantes.
sudo apt update sudo apt install bind9 bind9utils bind9-doc bind9-host
-
Exécutez la commande
sudo systemctl status named
pour vérifier le statut du service BIND9. Il est actif (en cours d'exécution). -
Exécutez la commande
sudo systemctl enable named
pour activer le service afin qu'il démarre automatiquement après le redémarrage.
Tâche 3.3 : Modifier le nom de domaine complet de l'instance
-
Pour modifier le nom de domaine complet de l'instance, accédez au fichier d'hôtes à l'aide de la commande
sudo vi /etc/hosts
et ajoutez la ligne suivante.10.0.0.10 primary-dns.orastage.com primary-dns
-
Pour vérifier la modification, exécutez la commande
hostname -f
pour voir le nouveau nom de domaine complet.
Tâche 3.4 : Configurer le fichier named.conf.options
-
Ajoutez la configuration.
-
Ajoutez les lignes suivantes à la fin du fichier
/etc/bind/named.conf.options
et enregistrez le fichier.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; };
-
Redémarrez le service BIND9.
-
Vérifier le statut du service.
-
Tâche 3. 5 : Utiliser netstat
pour afficher le statut des ports TCP/UDP
net-tools est un ensemble d'utilitaires de ligne de commande qui fournissent une collection d'outils réseau essentiels pour le système d'exploitation Linux.
-
Exécutez la commande
sudo apt install net-tools
pour installer net-tools. Cela est nécessaire pour pouvoir utiliser la commandenetstat
. -
Exécutez la commande
sudo netstat -antu
pour vérifier les ports/protocoles que l'instance écoute. Comme vous pouvez le voir dans l'image suivante, pour l'adresse IP10.0.0.10
, TCP/port 53 et UDP/port 53 doivent être ouverts.
Tâche 3.6 : Configurer le fichier named.conf.local
-
Ajoutez les lignes suivantes à la fin du fichier
/etc/bind/named.conf.local
.zone "orastage.com" { type master; allow-transfer { any; }; file "/var/lib/bind/db.orastage.com"; };
Tâche 3.7 : Configurer le fichier db.orastage.com
-
Le fichier
db.orastage.com
n'existe pas encore. Pour créer, exécutez la commandesudo vi /var/lib/bind/db.orastage.com
et ajoutez le contenu suivant au fichier.$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
Tâche 3.8 : Configurer le fichier 50-cloud-init.yaml
-
Accédez au fichier
/etc/netplan/50-cloud-init.yaml
et ajoutez les lignes suivantes.nameservers: addresses: [10.0.0.10] search: [orastage.com]
-
Exécutez la commande
sudo netplan apply
pour que les modifications puissent prendre effet.
Tâche 3.9 : Désactiver le pare-feu iptables
-
Nous allons désactiver temporairement iptables uniquement pour ce tutoriel afin d'éviter tout problème de connectivité pendant la phase de test.
-
Exécutez la commande
sudo su
pour passer à l'utilisateur racine. -
Pour enregistrer une sauvegarde des règles de pare-feu existantes, exécutez la commande
iptables-save > /root/firewall_rules.backup
. -
Exécutez la commande suivante pour effacer toutes les règles et autoriser tout le trafic à travers le pare-feu.
iptables -F iptables -X iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT
-
Une fois la tâche 6 terminée, exécutez la commande
iptables-restore < /root/firewall_rules.backup
pour restaurer les règles de pare-feu. -
Après avoir effacé les règles, nous devons nous assurer que cette modification sera persistante après le redémarrage. Exécutez donc la commande
apt install iptables-persistent
pour installer l'ensemble. -
Exécutez la commande
iptables-save > /etc/iptables/rules.v4
. -
Pour voir les règles iptables, exécutez la commande
iptables -L
, elle doit être vide.
-
Tâche 3.10 : Redémarrer BIND9
-
Exécutez la commande suivante pour redémarrer le service.
sudo systemctl restart named
Tâche 3.11 : Test
-
Effectuez plusieurs tests où nous interrogeons les noms de domaine que nous avons ajoutés au fichier
db.orastage.com
et vérifiez s'il répond localement à l'interrogation.-
Domaine
orastage.com
:host -a orastage.com
. -
Domaine
Primary-DNS
:host -a primary-dns.orastage.com
. -
Domaine
FE-VM
:host -a fe.orastage.com
. -
Domaine
BE-VM
:host -a be.orastage.com
.
-
Tâche 4 : Configurer les points d'extrémité et les règles de transmission OCI
Chaque VCN OCI comporte un résolveur par défaut qui peut être utilisé pour résoudre des noms d'hôte dans le même VCN, différents réseaux en nuage virtuels, des réseaux sur place ou même des noms d'hôte publiés publiquement sur Internet. Dans cette tâche, nous allons utiliser deux composants dans le résolveur pour répondre à nos besoins de transmission des interrogations à l'instance BIND9 Primary-DNS, qui sont les suivants :
- Point d'extrémité de transfert : Permet au résolveur DNS d'interroger un DNS distant tel que défini dans les règles de transfert.
- Règle de transfert : Permet de contrôler le traitement des interrogations DNS lorsque les vues privées du résolveur ne répondent pas à l'interrogation. Vers quel serveur DNS distant les interrogations vers
orastage.com
seront-elles transférées vers et à l'aide de quel point d'extrémité de transfert?
Tâche 4.1 : Configurer le point d'extrémité et la règle de transmission pour le VCN frontal
Créez un point d'extrémité et une règle de transfert dans Frontend-VCN pour pointer les interrogations orastage.com
de FE-VM vers l'instance Primary-DNS.
-
Naviguez jusqu'à Frontend-VCN et cliquez sur Résolveur DNS.
-
Cliquez sur Créer un point d'extrémité.
-
Entrez les informations suivantes .
- Nom : Entrez un nom pour le point d'extrémité.
- Sous-réseau : Sélectionnez le sous-réseau privé du VCN.
- Type de point d'extrémité : Sélectionnez Transfert.
- Adresse IP de transfert : Entrez
10.1.0.6
. - Cliquez sur Créer un point d'extrémité.
-
Le point d'extrémité de transfert (FWD) a été créé.
-
Cliquez sur Règles et sur Gérer les règles.
-
Entrez les informations suivantes .
- Condition de règle : Sélectionnez Domaines.
- Domaines : Entrez le domaine
orastage.com
. - Point d'extrémité source : Sélectionnez le point d'extrémité de transfert.
- Adresse IP de destination : Entrez l'adresse IP de l'instance BIND9
10.0.0.10
.
-
La règle de transfert a été créée.
Tâche 4.2 : Configurer le point d'extrémité et la règle de transmission pour le VCN dorsal
Créez un point d'extrémité et une règle de transfert dans Backend-VCN pour pointer les interrogations orastage.com
de BE-VM vers l'instance Primary-DNS.
- Naviguez jusqu'au réseau dorsal-VCN et cliquez sur Résolveur DNS.
-
Cliquez sur Créer un point d'extrémité.
-
Entrez les informations suivantes .
- Nom : Entrez un nom pour le point d'extrémité.
- Sous-réseau : Sélectionnez le sous-réseau privé du VCN.
- Type de point d'extrémité : Sélectionnez Transfert.
- Adresse IP de transfert : Entrez
10.2.0.6
. - Cliquez sur Créer un point d'extrémité.
-
Le point d'extrémité de transfert (FWD) a été créé.
-
Cliquez sur Règles et sur Gérer les règles.
-
Entrez les informations suivantes .
- Condition de règle : Sélectionnez Domaines.
- Domaines : Entrez le domaine
orastage.com
. - Point d'extrémité source : Sélectionnez le point d'extrémité de transfert.
- Adresse IP de destination : Entrez l'adresse IP de l'instance BIND9
10.0.0.10
.
-
La règle de transfert a été créée.
-
L'architecture doit se présenter comme indiqué dans l'image suivante.
Tâche 5 : Provisionner les instances de client pour effectuer des interrogations DNS
Tâche 5.1 : Créer une instance de calcul FE-VM
-
Cliquez sur le menu hamburger (≡) dans le coin supérieur gauche.
- Cliquez sur Calculer.
- Cliquez sur Instances.
-
Cliquez sur Créer une instance.
-
Entrez un nom pour l'instance.
-
Sélectionnez Oracle Linux 8 comme système d'exploitation de l'instance.
-
Dans Réseau principal, entrez les informations suivantes.
- Sélectionnez Frontend-VCN.
- Sélectionnez le sous-réseau privé.
-
Affectez à l'instance une adresse IP privée
10.1.0.5
. -
Collez la clé publique générée dans la tâche 2.1.
-
Faites défiler la page vers le bas jusqu'à la fin et cliquez sur Afficher les options avancées.
-
Cliquez sur Oracle Cloud Agent.
-
Sélectionnez le plugiciel d'hôte bastion, car nous utiliserons l'hôte bastion pour accéder à l'instance et cliquerons sur Créer.
-
L'instance de calcul FE-VM a été créée.
Tâche 5.2 : Créer une instance de calcul BE-VM
-
Cliquez sur Instance et sur Créer une instance.
-
Entrez un nom pour l'instance.
-
Sélectionnez Oracle Linux 8 comme système d'exploitation de l'instance.
-
Dans Réseau principal, entrez les informations suivantes.
- Sélectionnez Backend-VCN.
- Sélectionnez le sous-réseau privé.
-
Affectez à l'instance une adresse IP privée
10.2.0.5
. -
Collez la clé publique générée dans la tâche 2.1.
-
Faites défiler la page vers le bas jusqu'à la fin et cliquez sur Afficher les options avancées.
-
Cliquez sur Oracle Cloud Agent.
-
Sélectionnez le plugiciel d'hôte bastion, car nous utiliserons l'hôte bastion pour accéder à l'instance et cliquerons sur Créer.
-
L'instance de calcul BE-VM a été créée.
-
L'architecture est terminée.
Note : Dans les tâches ultérieures, nous testerons plusieurs scénarios et validerons que la configuration fonctionne comme prévu.
Tâche 6 : Tester et valider
Tâche 6.1 : Accéder à l'instance de calcul FE-VM à l'aide de l'hôte bastion et du test
-
L'ordinateur client FE-VM doit pouvoir résoudre
be.orastage.com
.- Cliquez sur Identité et sécurité.
- Cliquez sur Hospital.
-
Cliquez sur Créer un hôte bastion.
-
Entrez les informations suivantes .
- Nom de l'hôte bastion : Entrez le nom de l'hôte bastion.
- Configurer le réseau : Sélectionnez le VCN (Frontend-VCN) et son sous-réseau.
- La liste d'autorisation des blocs CIDR est l'intervalle autorisé d'adresses IP que nous devons connecter à l'hôte bastion. Ici, nous avons utilisé
0.0.0.0/0
pour cette mise en oeuvre. Pour plus de détails, choisissez l'adresse IP publique à partir de laquelle nous sommes connectés. - Cliquez sur Créer un hôte bastion.
-
Hôte bastion créé. Nous devons créer une session pour nous connecter à une ressource cible (FE-VM) pendant une durée spécifique (la valeur par défaut est de 3 heures).
-
Entrez les informations suivantes .
- Type de session : Sélectionnez Session SSH gérée.
- Nom de session : Entrez un nom.
- Nom d'utilisateur : Entrez le nom d'utilisateur. Pour l'instance Oracle Linux, l'utilisateur par défaut est
opc
. - Instance de calcul : Sélectionnez l'instance FE-VM créée dans la tâche 5.
- Collez la même clé publique générée dans la tâche 2.1.
- Cliquez sur Créer une session.
-
Une fois la session créée, cliquez sur les trois points et sur Copier la commande SSH.
La commande doit ressembler à ceci :
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
- Ouvrez l'interpréteur de commandes en nuage et naviguez jusqu'au répertoire
.ssh
à l'aide de la commandecd .ssh
. - Collez la commande SSH et veillez à remplacer
<privateKey>
par le nom de fichier de clé privéeid_rsa
. - Entrez oui et cliquez sur Entrée.
- Ouvrez l'interpréteur de commandes en nuage et naviguez jusqu'au répertoire
-
Testez les interrogations
orastage.com
de FE-VM àbe.orastage.com
. Vous pouvez valider la configuration à l'aide de différentes méthodes.- Exécutez la commande
host
. - Exécutez la commande
ping
. - Exécutez la commande
dig
.
- Exécutez la commande
Comme indiqué dans le test ci-dessus, nous pouvons extraire l'adresse IP du domaine BE-VM et le ping fonctionne à l'aide du nom d'hôte, ce qui signifie que le test a réussi.
Tâche 6.2 : Accéder à l'instance de calcul BE-VM à l'aide de l'hôte bastion et du test
-
L'ordinateur client BE-VM doit pouvoir résoudre
fe.orastage.com
.- Cliquez sur Identité et sécurité.
- Cliquez sur Hospital.
-
Cliquez sur Créer un hôte bastion.
-
Entrez les informations suivantes .
- Nom de l'hôte bastion : Entrez le nom de l'hôte bastion.
- Configurer le réseau : Sélectionnez le VCN (Backend-VCN) et son sous-réseau.
- La liste d'autorisation des blocs CIDR est l'intervalle autorisé d'adresses IP que nous devons connecter à l'hôte bastion. Ici, nous avons utilisé
0.0.0.0/0
pour cette mise en oeuvre. Pour plus de détails, choisissez l'adresse IP publique à partir de laquelle nous sommes connectés. - Cliquez sur Créer un hôte bastion.
-
Hôte bastion créé. Nous devons créer une session pour nous connecter à une ressource cible (BE-VM) pendant une durée spécifique (la valeur par défaut est de 3 heures).
-
Entrez les informations suivantes .
- Type de session : Sélectionnez Session SSH gérée.
- Nom de session : Entrez un nom.
- Nom d'utilisateur : Entrez le nom d'utilisateur. Pour l'instance Oracle Linux, l'utilisateur par défaut est
opc
. - Instance de calcul : Sélectionnez l'instance BE-VM créée à l'étape 06.
- Collez la même clé publique générée dans la tâche 2.1.
- Cliquez sur Créer une session.
-
Une fois la session créée, cliquez sur les trois points et sur Copier la commande SSH.
La commande doit ressembler à ceci :
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
- Ouvrez l'interpréteur de commandes en nuage et naviguez jusqu'au répertoire
.ssh
à l'aide de la commandecd .ssh
. - Collez la commande SSH et veillez à remplacer
<privateKey>
par le nom de fichier de clé privéeid_rsa
. - Entrez oui et cliquez sur Entrée.
- Ouvrez l'interpréteur de commandes en nuage et naviguez jusqu'au répertoire
-
Testez les interrogations
orastage.com
de BE-VM àfe.orastage.com
. Vous pouvez valider la configuration à l'aide de différentes méthodes.- Exécutez la commande
host
. - Exécutez la commande
ping
. - Exécutez la commande
dig
.
- Exécutez la commande
Comme indiqué dans le test ci-dessus, nous pouvons extraire l'adresse IP du domaine FE-VM et le ping fonctionne à l'aide du nom d'hôte, ce qui signifie que le test a réussi.
Étapes suivantes
Dans ce tutoriel, nous avons créé une petite architecture DNS BIND9 avec des composants de base : configuration de serveur et de client dans Oracle Cloud Infrastructure. Tout au long de ce segment, vous avez obtenu des informations sur le routage et la sécurité du réseau OCI, en traitant différents composants tels que les tables de routage, la passerelle DRG, les listes de sécurité, l'hôte bastion, etc. Vous avez également appris à installer et configurer un DNS fonctionnel BIND9 dans un environnement OCI.
Dans le tutoriel suivant : Tutoriel 2 : Mettre en oeuvre la haute disponibilité sur le système de noms de domaine BIND9 dans Oracle Cloud Infrastructure, nous allons améliorer cette configuration en intégrant la couche de haute disponibilité à notre architecture, qui est essentielle pour réduire les temps d'arrêt et améliorer l'expérience utilisateur.
Remerciements
- Auteur - Anas abdallah (spécialiste du réseau en nuage)
Autres ressources d'apprentissage
Explorez d'autres laboratoires sur le site docs.oracle.com/learn ou accédez à plus de contenu d'apprentissage gratuit sur le canal Oracle Learning YouTube. De plus, visitez education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.
Pour obtenir la documentation sur le produit, visitez Oracle Help Center.
Configure BIND9 Domain Name System in Oracle Cloud Infrastructure
G13017-03
Copyright ©2025, Oracle and/or its affiliates.