zone.tx 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. $TTL 300
  2. @ IN SOA <: $post.domain :>. soa.<: $post.domain :>. (
  3. <: $post.version :> ; Serial
  4. 10800 ; Refresh
  5. 3600 ; Retry
  6. 604800 ; Expire
  7. 10800 ) ; Minimum
  8. ; NS Records
  9. : for $post.nameservers -> $ns {
  10. <: $post.domain :>. IN NS <: $ns :>.
  11. : }
  12. ; A Records
  13. <: $post.domain :>. IN A <: $ip :>
  14. <: $post.domain :>. IN AAAA <: $ip6 :>
  15. : for $post.subs => $sub {
  16. <: $sub.name :>.<: $post.domain :>. IN A <: $sub.ip :>
  17. <: $sub.name :>.<: $post.domain :>. IN AAAA <: $sub.ip6 :>
  18. : }
  19. ; CNAME records
  20. : for $post.cnames => $cname {
  21. <: $cname :>.<: $post.domain :>. IN CNAME <: $post.domain :>.
  22. : }
  23. ; MX & SRV records
  24. . IN MX 0 mail.<: $post.domain :>.
  25. _smtps._tcp.mail IN SRV 10 5 587 .
  26. _imaps._tcp.mail IN SRV 10 5 993 .
  27. _pop3s._tcp.mail IN SRV 10 5 995 .
  28. ; SPF, DKIM, DMARC
  29. _dmarc.<: $post.domain :>. IN TXT "v=DMARC1; p=reject; rua=mailto:postmaster@<: $post.domain :>; ruf=mailto:postmaster@<: $post.domain :>"
  30. mail._domainkey.<: $post.domain :>. IN TXT "v=DKIM1; h=sha256; k=rsa; t=y; p=<: $dkim_pkey :>"
  31. <: $post.domain :>. IN TXT "v=spf1 +mx +a +ip4:<: $ip :> +ip6:<: $ip :> ~all"
  32. ; Indexer verification
  33. <: $post.domain :>. IN TXT "google-site-verification=<: $post.gsv_string :>"
  34. ; LetsEncyst
  35. _acme-challenge.<: $post.domain :>. IN TXT "<: $acme_challenge :>"
  36. <: $post.domain :> IN CAA 0 issue letsencrypt.org