Skip to content

Configuration DNS

Gabrielle Cruz edited this page Aug 25, 2023 · 5 revisions

Arborescence

├─ Intra
|   ├─ soa
|   |   ├─ Dockerfile
|   |   ├─ named.conf
|   |   ├─ mmes-3.zone
|   ├─ resolver
|   |   ├─ Dockerfile
|   |   ├─ named.conf
|   ├─ docker-compose.yml
├─ Public
|   ├─ soa
|   |   ├─ Dockerfile
|   |   ├─ named.conf
|   |   ├─ db.mmes-3
├─ docker-compose.yml

Glue Record

Pour pouvoir gérer la zone mmes-3.ephec-ti.be, il nous faut au préalable, donner notre glue record aux professeurs:

tmes-3  IN NS ns.tmes-3.ephec-ti.be.
ns.tmes-3.ephec-ti.be. IN A 51.91.248.16

Grâce à cela, toutes les requêtes concernant notre zone mmes-3.ephec-ti.be arrivant sur le NS de ephec-ti.be sera délégué à notre SOA externe.

Docker Compose

Nous trouvons notre fichier Docker Compose ici. Ce fichier nous permet de lancer tous les containers qui se trouvent dans le dossier Intra.

Fichiers de configuration

Service Interne

SOA

Dockerfile
FROM ubuntu:latest

RUN apt update && apt full-upgrade -y && \
    apt install bind9 bind9utils dnsutils net-tools nano -y

COPY named.conf /etc/bind/named.conf
COPY mmes-3.zone /etc/bind/zones/mmes-3.zone


EXPOSE 53/udp
EXPOSE 53/tcp

VOLUME /etc/bind

CMD ["named", "-c", "/etc/bind/named.conf", "-g"]
mmes-3.zone
$TTL 604800      ; 1 day
$ORIGIN intra.mmes-3.ephec-ti.be.
@    IN    SOA  ns.intra.mmes-3.ephec-ti.be.  (
                                1          ; serial
                                3600       ; refresh
                                3000       ; retry
                                4619200    ; expire
                                604800     ; minimum
                                )

@    IN    NS   ns.intra.mmes-3.ephec-ti.be.

ns         IN       A        172.16.1.2
resolver   IN       A        172.16.1.3
mail       IN       A        172.16.0.4
web        IN       A        172.16.1.5
named.conf
options {
        directory "/etc/bind";

        listen-on { any; };
        listen-on-v6 { none; };

        allow-query {
                172.16.0.0/24;
                172.16.1.0/24;
                192.168.1.0/24;
        };

        allow-transfer {
                none;
        };

        pid-file "/var/run/named/named.pid";


        allow-recursion { none; };
        recursion no;
};

zone "intra.mmes-3.ephec-ti.be" IN {
    type master;
    file "/etc/bind/mmes-3.zone";
};

zone "0.16.172.in-addr.arpa" IN {
    type master;
    file "/etc/bind/reverse";
};

Resolver

Dockerfile
FROM ubuntu:latest

RUN apt update && apt full-upgrade -y && apt install bind9 bind9utils dnsutils net-tools nano -y

COPY named.conf /etc/bind/named.conf

CMD ["named", "-c", "/etc/bind/named.conf", "-g"]
named.conf
options {
        directory "/etc/bind";

        allow-query {
                172.16.0.0/24;
                172.16.1.0/24;
                192.168.0.0/24;
        };

        allow-recursion {
                172.16.0.0/24;
                172.16.1.0/24;
                192.168.0.0/24;
        };

        listen-on port 53 { any; };
        listen-on-v6 { none; };

        pid-file "/var/run/named/named.pid";

        allow-transfer { none; };
        forwarders {
                8.8.8.8;
                51.91.248.16;
         };
};

zone "localhost" IN {
        type master;
        file "pri/localhost.zone";
        allow-update { none; };
        notify no;
};

zone "127.in-addr.arpa" IN {
        type master;
        file "pri/127.zone";
        allow-update { none; };
        notify no;
};

zone "intra.mmes-3.ephec.ti.be" {
    type forward;
    forwarders { 172.16.1.2; };
    forward only;
};

zone "0.16.172.in-addr.arpa" IN {
    type forward;
    forwarders { 172.16.1.2; };
    forward only;
};

Service Public

Dockerfile

Ce fichier permet le démarrage du conteneur SOA externe de notre DNS.

FROM debian

RUN apt update && apt full-upgrade -y && \
    apt install bind9 bind9utils dnsutils net-tools nano -y

COPY named.conf /etc/bind/named.conf
COPY db.mmes-3 /etc/bind/db.mmes-3

EXPOSE 53/udp
EXPOSE 53/tcp
EXPOSE 953/udp
EXPOSE 953/tcp

VOLUME /etc/bind

CMD ["named", "-c", "/etc/bind/named.conf", "-g"]
db.mmes-3

Le fichier complèt se trouve ici, et l'extrait de SOA de base se trouve ci-dessous:

$TTL 604800
$ORIGIN mmes-3.ephec-ti.be.
@       IN      SOA     ns.mmes-3.ephec-ti.be. hostmaster.mmes-3.ephec-ti.be. (
                                1          ; serial
                                3600       ; refresh
                                3000       ; retry
                                4619200    ; expire
                                604800     ; minimum
                                )

; name serveur record
@       IN      NS      ns.mmes-3.ephec-ti.be.
@       IN      MX  10  mail
;ressource record
@       IN      A       51.91.248.16
ns      IN      A       51.91.248.16
named.conf
options {

  directory "/etc/bind";

    listen-on {
        any;
     };

    listen-on-v6 {
        none;
        };

    allow-query {
        any;
        };

    allow-transfer {
        none;
        };

    allow-update {
        none;
        };

    allow-recursion {
        none;
        };

    recursion no;

    pid-file "/var/run/named/named.pid";

    #Sécurisation
    dnssec-validation yes;
};

//zone du SOA publique
zone "mmes-3.ephec-ti.be" {
    type master;
    file "/etc/bind/db.mmes-3.signed";
};

Configuration de bind9

La configuration de bind9 est relativement simple; il suffit de créer une zone et d'y ajouter les informations nécessaires à celle-ci.

Dans le fichier /etc/bind/named.conf, il faut ajouter la zone mmes-3.ephec-ti.be.

Ensuite, il faut faire ce zone en créant un fichier nommé db.mmes-3. Ce fichier contient toutes les informations étant résolvables publiquement (Resource Record).

Après la création de ces 2 fichiers, nous devons redémarrer le service:

service named restart

et nous pouvons tester la résolution des noms avec ce commande:

dig ns.mmes-3.ephec-ti.be

Clone this wiki locally