Drupal is a registered trademark of Dries Buytaert
cms 2.1.3 Update released for Drupal core (2.1.3)! drupal 10.5.11 Update released for Drupal core (10.5.11)! drupal 11.3.11 Update released for Drupal core (11.3.11)! drupal 11.2.13 Update released for Drupal core (11.2.13)! drupal 10.6.10 Update released for Drupal core (10.6.10)! cms 2.1.2 Update released for Drupal core (2.1.2)! drupal 11.1.10 Update released for Drupal core (11.1.10)! drupal 10.5.10 Update released for Drupal core (10.5.10)! drupal 10.4.10 Update released for Drupal core (10.4.10)! drupal 11.2.12 Update released for Drupal core (11.2.12)! drupal 11.3.10 Update released for Drupal core (11.3.10)! drupal 10.6.9 Update released for Drupal core (10.6.9)! drupal 10.6.8 Update released for Drupal core (10.6.8)! drupal 11.3.9 Update released for Drupal core (11.3.9)! drupal 11.3.8 Update released for Drupal core (11.3.8)! drupal 11.3.7 Update released for Drupal core (11.3.7)! drupal 11.2.11 Update released for Drupal core (11.2.11)! drupal 10.6.7 Update released for Drupal core (10.6.7)! drupal 10.5.9 Update released for Drupal core (10.5.9)! cms 2.1.1 Update released for Drupal core (2.1.1)!

dns

10 sites Security covered
View on drupal.org

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
1 month ago
Release cadence
1 day
Stability
0% stable

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