buluma.dns

Rôle Ansible dns

Installez et configurez le DNS sur votre système.

GitHub Version Problèmes Demande de tirage Téléchargements
github Version Issues PullRequests Ansible Role

Exemple de Playbook

Cet exemple est tiré de molecule/default/converge.yml et est testé à chaque push, demande de tirage et publication.

---
- name: Convergence
  hosts: all
  become: true
  gather_facts: true

  roles:
    - role: buluma.dns
      dns_port: 5353

La machine doit être préparée. Dans CI, cela se fait en utilisant molecule/default/prepare.yml:

---
- name: Préparation
  hosts: all
  gather_facts: false
  become: true

  roles:
    - role: buluma.bootstrap
    - role: buluma.core_dependencies

Voir aussi une explication complète et un exemple sur la façon d'utiliser ces rôles.

Variables de Rôle

Les valeurs par défaut des variables sont définies dans defaults/main.yml:

---
# fichier de valeurs par défaut pour le dns

# Le port d'écoute.
dns_port: 53

# Le serveur DNS doit-il être un serveur DNS de cache ?
dns_caching_dns: true

# Une liste de zones et de propriétés par zone.
dns_zones:
  - name: localhost
    soa: localhost
    serial: 1
    refresh: 604800
    retry: 86400
    expire: 2419200
    ttl: 604800
    records:
      - name: "@"
        type: NS
        value: localhost.
      - name: "@"
        value: "127.0.0.1"
      - name: "@"
        type: AAAA
        value: "::1"

  - name: "127.in-addr.arpa"
    ttl: 604800
    records:
      - name: "@"
        type: NS
        value: localhost.
      - name: "1.0.0"
        type: PTR
        value: localhost.

  - name: "0.in-addr.arpa"
    records:
      - name: "@"
        type: NS
        value: localhost.

  - name: "255.in-addr.arpa"
    records:
      - name: "@"
        type: NS
        value: localhost.

  - name: example.com
    ttl: 604800
    ns:
      - name: dns1.example.com.
      - name: dns2.example.com.
    mx:
      - name: mail1.example.com.
        priority: 10
      - name: mail2.example.com.
        priority: 20
    records:
      - name: dns1
        value: "127.0.0.1"
      - name: dns2
        value: "127.0.0.1"
      - name: www
        value: "127.0.0.1"
      - name: dns1
        value: "127.0.0.1"
      - name: dns2
        value: "127.0.0.1"
      - name: mail1
        value: "127.0.0.1"
      - name: mail2
        value: "127.0.0.1"

  - name: forwarded.example.com
    type: forward
    dns_zone_forwarders:
      - "1.1.1.1"
      - "8.8.8.8"

# Une liste optionnelle de ACLs pour permettre la récursion. ("any" et "none" sont toujours disponibles.)
dns_allow_recursion:
  - none

# Une liste optionnelle d'IPv4 sur laquelle le serveur DNS écoutera. ("any" et "none" sont toujours disponibles.)
dns_options_listen_on:
  - any

# Une liste optionnelle d'IPv6 sur laquelle le serveur DNS écoutera. ("any" et "none" sont toujours disponibles.)
dns_options_listen_on_v6:
  - any

# Une liste optionnelle d'IP qui sont autorisées à interroger le serveur. ("any" et "none" sont toujours disponibles.)
# Par défaut : "any"
# dns_options_allow_query:
#  - any
#  - "127.0.0.1"

# Une liste optionnelle d'IP qui sont autorisées à exécuter une requête AXFR. ("any" et "none" sont toujours disponibles.)
# Par défaut : "none"
# dns_options_allow_transfer:
#   - none
#   - "172.16.0.1"

# Un paramètre optionnel pour configurer le chemin où le fichier pid sera créé.
dns_pid_file: /run/named/named.pid

# Un paramètre optionnel pour transférer le trafic vers d'autres serveurs DNS.
# dns_options_forwarders:
#   - "1.1.1.1"
#   - "8.8.8.8"

# Un autre exemple grâce à @blaisep.
# dns_zones:
#   - name: lab.controlplane.info
#     ttl: 600
#     ns:
#       - name: ns.lab.controlplane.info.
#     mx:
#       - name: mail1.lab.controlplane.info.
#         priority: 10
#       - name: mail2.lab.controlplane.info.
#         priority: 20
#     records:
#       - name: ns
#         value: "192.168.254.27"
#       - name: git
#         value: "192.168.254.19"
#       - name: dl380
#         value: "192.168.254.27"
#       - name: mail1
#         value: "192.168.123.123"
#       - name: mail2
#         value: "192.168.123.123"
#   - name: forwarded.lab.controlplane.info
#     ns:
#       - name: forwarded.lab.controlplane.info.
#     records:
#       - name: ns
#         value: "192.168.254.27"
#       - name: "@"
#         value: "192.168.123.123"
#     dns_zone_forwarders:
#       - "9.9.9.9"
#       - "8.8.8.8"

Exigences

État des rôles utilisés

Les rôles suivants sont utilisés pour préparer un système. Vous pouvez préparer votre système d'une autre manière.

Exigence GitHub Version
buluma.bootstrap Ansible Molecule Version
buluma.core_dependencies Ansible Molecule Version

Contexte

Ce rôle fait partie de nombreux rôles compatibles. Consultez la documentation de ces rôles pour plus d'informations.

Voici un aperçu des rôles liés :

dépendances

Compatibilité

Ce rôle a été testé sur ces images de conteneurs:

container tags
Alpine tous
Amazon Candidate
EL 8
Debian tous
Fedora tous
Ubuntu tous

La version minimale d'Ansible requise est 2.12, des tests ont été effectués pour :

  • La version précédente.
  • La version actuelle.
  • La version de développement.

Si vous trouvez des problèmes, veuillez les signaler sur GitHub

Journal des modifications

Historique du Rôle

Licence

Apache-2.0

Informations sur l'auteur

Shadow Walker

À propos du projet

Install and configure dns on your system.

Installer
ansible-galaxy install buluma.dns
Licence
apache-2.0
Téléchargements
8.9k
Propriétaire
DevOps Engineer