Drupal is a registered trademark of Dries Buytaert
Search API Solr 4.4.0 Minor update available for module search_api_solr (4.4.0). Page Manager 8.x-4.0 Major update available for module page_manager (8.x-4.0). Trash 3.1.0-beta2 New beta version released for module trash (3.1.0-beta2). Commerce AutoSKU 3.0.1 Minor update available for module commerce_autosku (3.0.1). Custom Field 4.0.10 Minor update available for module custom_field (4.0.10). Alternative login ID & display names 2.0.12 Minor update available for module alt_login (2.0.12). EntityReference UUID 3.0.1 Minor update available for module entity_reference_uuid (3.0.1). LocalGov Publications Importer 1.1.1 Minor update available for module localgov_publications_importer (1.1.1). Configuration Override Warn 8.x-1.6 Module config_override_warn updated after 10 months of inactivity (8.x-1.6). Table Alternate Rows Module table_altrow crossed 1,000 active installs.

DNS

10 sites Security covered
View on drupal.org

This module allows you to manage DNS zones and records directly within Drupal using content entities. It supports common and modern record types, Unicode domains, and granular access control among collaborators.

Manage DNS zones and records directly in Drupal.

The DNS module provides a modern, extensible system for defining and managing DNS data using Drupal content entities. It supports common and modern record types, strict validation, and a plugin-based architecture for future extensions and provider integrations.

Full documentation is available at project.pages.drupalcode.org/dns, including user guides, developer documentation, and migration instructions.

✨ Features

  • Zone management
    • Create, edit, and delete DNS zones
    • Unicode (IDN) support with automatic Punycode normalization
    • Clean, canonical URLs based on zone names
    • Per-zone collaborator delegation with fine-grained capabilities (view/edit/delete zone, CRUD records)
  • Record management
    • Full CRUD for DNS records within each zone
    • Built-in support for common and modern record types:
      • A, AAAA, CNAME, NS, MX, TXT, PTR, CAA, SRV, HTTPS, SVCB
    • Validation based on DNS RFCs (including CNAME exclusivity rules)
  • Modern Drupal architecture
    • Zones and records are content entities
    • Works with Views, REST, JSON:API, and other entity-based systems
    • Plugin-based record type system for extensibility
  • Views integration
    • Built-in admin listing for records
    • Zone pages include embedded record listings
    • Custom Views fields for record data
  • IDN-aware
    • Enter domains like mΓΌnchen.de
    • Stored internally as Punycode
    • Displayed to users in Unicode
  • Migration from Drupal 7
    • Built-in Migrate support for dns_zones and dns_records
    • Tolerant handling of imperfect legacy data with logged review output
  • Tested and CI-enabled
    • Extensive unit, kernel, and functional test coverage
    • Drupal.org CI (phpcs, phpstan, phpunit, etc.)

πŸ” Access model

DNS uses a two-layer access system:

  • Site-wide permissions (roles) control general capabilities (create zones, administer DNS)
  • Per-zone delegation allows assigning fine-grained capabilities to specific users via collaborators

Records inherit access from their parent zone.

🚧 Project status

This is a complete rewrite of the legacy Drupal 7 DNS module.

  • Current branch: 2.x
  • Status: alpha
  • Suitable for testing and early adoption; review before using for production-critical DNS workflows

The 2.x branch is a new architecture, not an in-place upgrade of the 7.x codebase.

⚠️ Current limitations

  • No DNS provider integration yet
    • Support for Cloudflare, Route 53, PowerDNS, etc. is planned
  • Specialty record types in optional module
    • Additional DNS types (DNAME, TLSA, SSHFP, etc.) are provided via the optional dns_extras module

🧩 Extensibility

The module is designed to be extended:

  • Add new DNS record types via plugins:
    #[RecordType(
      id: "my_type",
      label: "My record type"
    )]
  • Future provider modules will:
    • Implement DNS APIs
    • Add provider-specific record types or extensions

πŸ›£ Roadmap

  • DNS provider integration (Cloudflare, Route 53, etc.)
  • SPF builder/validator for TXT records
  • IANA TLD validation
  • DNS drift detection (compare stored vs live DNS)

πŸ“¦ Requirements

  • Drupal 10.3+, 11.x
    (Drupal 12 compatibility is tracked but not yet guaranteed)

πŸ”„ Drupal 7 users

  • The 7.x-1.x branch remains available for Drupal 7 sites
  • Use the built-in migration path when upgrading to 2.x

πŸ“š Documentation

Comprehensive documentation is available at project.pages.drupalcode.org/dns, including:

  • User guides and concepts
  • Migration instructions from Drupal 7
  • Developer documentation and extension points

πŸ’¬ Feedback

Bug reports, feature requests, and architecture feedback are welcome in the project issue queue.

🧠 Why this module?

  • DNS-aware validation and correctness
  • Modern Drupal architecture (entities + plugins)
  • Extensibility for record types and future providers
  • Real-world usability (Views, APIs, IDN handling)

Activity

Total releases
4
First release
Apr 2026
Latest release
2 months ago
Releases (12 mo)
4 ▲ from 0
Maintenance
Active

Release Timeline

Releases

Version Type Release date
2.0.0-alpha3 Pre-release Apr 29, 2026
2.0.0-alpha2 Pre-release Apr 28, 2026
2.x-dev Dev Apr 27, 2026
2.0.0-alpha1 Pre-release Apr 27, 2026