CNAME DNS setup

Tutoriel

Gardez votre DNS tel quel tout en utilisant Cloudflare

Transcription

Bonjour, Antoine, Solutions Engineer chez Cloudflare. Ensemble, aujourd'hui, on va voir comment mettre en place un CNAME DNS setup. C'est-à-dire qu'on va voir comment on peut utiliser Cloudflare sans héberger son DNS, sans héberger son serveur de nom sur Cloudflare. Donc, vous gérez vos DNS avec un provider. Ici, j'ai appelé MySortPartyDNS. Par exemple, ici, j'ai un AirRecord pour 3W. Et voilà, vous voulez tester Cloudflare ou juste ne pas utiliser les DNS de Cloudflare, mais utiliser les services. Donc, comment ça peut fonctionner ? Donc, on va utiliser ce système de Partial DNS, CNAME Setup. Donc, la façon dont ça va fonctionner, c'est qu'on va avoir notre utilisateur, ici, qui va appeler cette application, 3W.Antoine.Monster, qui va appeler notre SortPartyDNS. Et en fait, ce qu'on va faire, c'est qu'on va avoir dans notre DNS un CNAME pour l'application. Ici, 3W.Antoine.Monster.CDN.Cloudflare.net. Et cette adresse va résoudre vers des IP in fine, des IP Anycast. Donc, des IP du réseau Cloudflare. Donc, mon utilisateur va en fait vers une requête, ici, vers Cloudflare, avec comme hostname, 3W.Antoine.Monster, avec le SNI, etc. Et in fine, une adresse IP Cloudflare. Et donc, Cloudflare va matcher ça avec votre compte. Donc, c'est un petit peu moins flexible que d'avoir le DNS directement sur Cloudflare. Il y a plein de bénéficiaires sur Cloudflare. Mais voilà, c'est tout à fait possible de fonctionner avec ce setup. Et ce que je vais vous montrer aujourd'hui. Donc, on va voir en fait, comment on peut mettre cette partie en place. Et puis aussi, dans cette série de vidéos, comment mettre en place le WAF et le cache. Donc, dans mon exemple, je vais avoir mon application, mon origine hébergée sur Etzner avec cette adresse IPv4. Et on va faire le setup complet. Donc, on est parti. Donc, première chose que je vais faire, c'est prendre mon nom de domaine et l'ajouter dans Cloudflare. Donc, on va aller dans l'interface. Alors, me voilà dans l'interface. Et ce que je vais faire, c'est cliquer sur le bouton ici, Ajouter. Et j'ai cliqué sur Connecter un domaine. Et là, je vais mettre mon domaine. Donc, Antoine.monster. Je clique Continue. OK. Donc là, je vais choisir le plan. Donc, Enterprise. Donc, Enterprise. Là, je vais faire Continuer l'activation. Ajouter les enregistrements plus tard. Et ce qu'on va faire, c'est qu'on ne va pas faire ce setup. OK. Ce qu'on va faire à la place, c'est qu'on va aller dans Overview. OK. Et là, on va cliquer sur, ici à droite, Convertir to SynemDNS Setup. Donc, j'appuie sur Convertir. Êtes-vous sûr ? Oui. Convertir. Et alors là, je vais devoir ajouter un enregistrement texte pour vérifier que c'est moi qui contrôle bien ce domaine. Donc, on va faire ça. Donc, ce que je vais faire, c'est que je vais copier le nom de l'enregistrement. Là, c'est mon DNS. Mon serveur de DNS. Donc, je vais créer un enregistrement. Hop. C'est TXT. Donc, hop. TXT. Name. Name et le contenu pour vérifier, ici. Et donc, j'ajoute. Voilà. Donc là, on a bien notre enregistrement TXT qui a été ajouté. Et dans mon terminal, je vais pouvoir faire un NSLookup pour vérifier. OK. Donc là, j'ai bien la bonne valeur. Donc, tout est OK. Donc, si je reviens dans l'interface de Cloudflare, j'appuie sur Continue. OK. Et là, on est bon. Alors, maintenant, ce que je vais faire, c'est que je vais générer un certificat. Donc, je vais appuyer ici sur SSL TLS. Je vais cliquer sur Edge Certificate. Et là, je vais cliquer sur Order an Advanced Certificate. Donc, ici, cette partie Advanced Certificate me permet d'avoir un contrôle fin sur les certificats que je génère. Donc là, je vais générer un certificat spécifique pour 3w.antoine.monster. Donc, validation en 3 mois. Et après, j'ai différents types de validation. Donc là, je vais choisir la validation par TXT, puisque comme en Proximal Domaine, ça va être un peu plus compliqué de faire ça. Ou je pourrais le faire en modifiant mon application. Mais je vais utiliser le TXT. Donc, sauvegarder. Donc, maintenant, ce que je vais pouvoir faire, c'est aller ici et cliquer et faire de l'enregistrement. Donc, faire de la validation. Donc, je vais copier ici le nom. Je vais retourner dans mon DNS. Et donc, on était sur un TXT. Donc, TXT. Et là... Et donc, voilà. Mon certificat. Enfin, le nom et la valeur. Et que je vais mettre. Donc, du coup, ici. Et hop. J'ai pas besoin de ça. Cette partie-là. Ajouter. Et voilà. Donc là, on devrait être bon. Donc, maintenant, en fonction de la vitesse de propagation, on va passer de pending à générer, valider. Donc, bien sûr, ce qu'on peut faire, c'est lancer une commande NS. Après, une petite astuce, c'est d'aller sur le site DNS Checker. Et puis là, ce qu'on va pouvoir faire, c'est regarder la valeur ici. Donc, là, on commence à voir que c'est pas mal, pas mal propagé. Donc, on est bon, ici. Ce qui est pas mal, c'est le petit bouton refresh. Donc, ça va pas tarder à passer en mode validé. Donc, après, rapidement, on est passé en mode actif. Donc, il y a bien maintenant un certificat pour ce domaine valide sur Cloudflare. Alors, un petit test qu'on peut faire pour vérifier que tout fonctionne. C'est utilisé cette commande. Vous n'êtes pas du tout obligé. Mais ce que je vais faire, c'est que j'utilise cette commande curl. qui va faire plusieurs choses. Donc, on va la créer pour mon domaine. Donc, mon domaine, ici, je vais expliquer la commande. Donc, c'est 3w.antoine.monster. Deux points. Donc, le port 443. Donc, le port 443. Ici, c'est une IP Cloudflare V4 et Anycast. Donc, c'est-à-dire que ça va être routé avec cette IP au pop le plus proche. C'est in fine, en fait, ce que contient le CNAME. Et donc, comme URL, je vais mettre juste l'URL de la page d'accueil. Et donc, si je fais ça, et que je vais dans mon terminal. Voilà. Donc, I pour avoir juste les headers et V pour que ça soit en verbose. Et donc, là, on lui passe le domaine, le hostname et le IP. OK. Et donc, là, on voit que je récupère des headers, des response headers. Très bien. Et je peux voir ici qu'on a bien un certificat valide. OK. Par contre, on a une 1130. Vous voyez ? Puisque c'est tout à fait normal. Puisqu'aujourd'hui, là, pour l'instant, on n'a pas configuré cette partie ici. OK. Donc, ce qu'on va faire, ce qu'on va faire maintenant. Donc, maintenant, ce qu'on va faire, c'est qu'on va prendre cette adresse IP. Puis, on va retourner sur Cloudflare. Et on va aller dans la partie DNS. Enregistrement. Ajouter un enregistrement. Ici, c'est un enregistrement A. Et vers cette adresse IP. OK. Alors, ici, pour information, j'ajoute un enregistrement DNS. Mais ce n'est pas ça qui gère mon DNS. Mon DNS, il reste toujours géré ici pour le moment. C'est ce qui permet, en fait, de dire à Cloudflare, là, dans ce cas-là, il y a plusieurs solutions. Mais si l'application que vous utilisez ici, si votre application, là, utilise le même domaine. Enfin, le même hostname, ici, Antoine Monster, et le même SNI, on peut directement faire ça. Sinon, on peut créer ce qu'on appelle une origine rule, qui va, à ce niveau-là, réécrire, en fait, le SNI ou le hostname. Mais, dans un premier temps, voilà, le cas le plus simple, c'est qu'on va faire ça. Donc, je fais mon enregistrement, 3W. Je sauvegarde. Et là, on est tout bon. Maintenant, si je relance la même commande, je ne vais plus avoir une 530, mais je vais avoir une 200. Donc là, on voit bien qu'on est une 200, et que tout est OK. Que notre certificat est OK, et que le serveur répond OK. par contre, si je fais toujours un curl de 3W.Antoine.Monster, OK, là, on a toujours l'IPv4. Là, on ne passe pas par Cloudflare. On passe uniquement par Cloudflare, ici, pour l'instant, parce que je passe cette adresse IP, ici, une adresse IP Cloudflare. Donc, moi qui spécifie, c'est moi qui, je skip la partie DNS, je lui dis exactement, en fait, à quelle adresse IP il doit se connecter. Donc là, il y a bien, derrière cette adresse IP, Cloudflare et un certificat qui est valide pour nous. Ça, ça va être notre DNS, qui n'a pas bougé, qui va devoir, avec un CNAME, résoudre sur cette adresse IP. Donc, si on reprend notre schéma, donc pour l'instant, on a fait toute cette partie-là. Donc, en spécifiant nous-mêmes le hostname et l'adresse IP, on est capable de se connecter à Cloudflare avec un certificat valide, et on a fait toute cette chaîne-là. Donc, ce qu'on peut faire, maintenant, c'est tout à fait tester notre implémentation de Cloudflare en, par exemple, modifiant notre fichier host sur notre machine pour vérifier que tout fonctionne avant de toucher à notre serveur DNS et d'envoyer du trafic de production. Donc, c'est ce qu'on va faire, ce qui va être l'équivalent, en fait, de ce qu'on a fait avec Curl, mais cette fois, on va utiliser un baptisé Chrome. Donc, ce que je vais faire ici, c'est de faire aller dans mon fichier host, et donc, il ne me reste plus qu'à faire, je reviens ici dans mon schéma, de prendre mon domaine et l'IP, et donc, hop, je coupe, et je colle, et voilà. Super. Maintenant, c'est sauvegardé. et si maintenant, je vais dans Chrome et que j'ouvre une incognito window, et que je vais sur mon application, et que je regarde l'IP qui est résolue ici, network, j'ai bien, hop, si on zoom, notre adresse IP de Cloudflare, et là, c'est bien Cloudflare qui répond, mais pour l'instant, uniquement pour moi, puisque j'ai modifié dans mon fichier host. Donc maintenant, si je retourne sur Cloudflare, dans l'interface, et que je vais par exemple dans security, et je vais dans analytics, et que je vais dans trafic, par exemple, hop, je vais, hop, live data, en dernière minute, en fait, je me vois, je vois le trafic que j'ai, que j'ai généré. Donc ici, on va générer, on va générer pas mal de trafic, en rechargeant la page de manière répétée, et on va voir en fait, notre trafic. Voilà, on voit là maintenant, 91, ça a augmenté, ok, 180, voilà, on voit notre, on voit notre pic, on voit notre pic, et puis voilà, on se, on se voit, macOS X, etc., donc on voit que, que ça fonctionne, on voit bien le trafic. Alors, on a notre setup qui fonctionne bien. Maintenant, si on veut rajouter cette brique, ok, et de faire cette connexion, et dire que maintenant, on veut envoyer du trafic réel sur notre site, on va avoir besoin de faire cet enregistrement, et cet enregistrement, il fonctionne comment ? on va en fait créer un CNAME avec notre nom de domaine, .cdn.cloudflare.net, donc on va le faire ensemble. Donc, dans mon DNS, ce que je vais faire, c'est que je vais choisir CNAME, et comme valeur, ok, je vais mettre du coup mon nom de domaine, et mon nom de domaine, c'est 3w.antoine.monster.cdn.cloudflare.net, ok, et pour le nom, c'est juste 3w, donc je l'ajoute, voilà, j'en ai conflit avec celui-ci, celui-ci, je le supprime, et je l'ajoute, voilà, maintenant il est ajouté. Je n'ai plus qu'à faire le check, ici je vais sur DNS, DNS check, et on voit qu'il est quand même pas mal, pas mal propagé. Pour faire le test, je n'oublie pas de retourner dans mon fichier host et de commenter, ou l'enlever, puisque sinon ça, ça va toujours envoyer Cloudflare, mais ça sera par une résolution DNS classique. Mon mot de passe. Et donc après, un petit peu de temps, le temps de la propagation, vous allez voir que ça va être le bon sign name qui va répondre. Alors chez moi, le Chrome a eu du mal à prendre le nouveau enregistrement DNS, mais je vous montre sur une autre machine. voilà, j'ai bien une IP cloudflare et tout répond correctement. Donc là, on est bon pour notre setup. Alors j'espère que cette vidéo vous a été utile, n'hésitez pas à me poser des questions et puis on est parti dans une autre vidéo pour faire l'implémentation du WAF. Merci, à très vite. Merci. Merci,