summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Paśnikowski <marek@marekpasnikowski.pl>2025-12-19 18:02:33 +0100
committerMarek Paśnikowski <marek@marekpasnikowski.pl>2025-12-19 20:17:39 +0100
commit9855c97c425decfccf163df8b5a03e8312f528ba (patch)
treed97f1bd3d2dc810b82eb3bfbad6ed56b109bc202
parent41a7b68680c3a36671fd1c9326cdd1d57e6cec80 (diff)
aisaka: clean up the DNS configuration
The current DNS configuration is in an old style. Before attempting to point an MX record at a new IP address it is a good idea to bring the configuration up to a current style standard. * deployment/systems/aisaka.scm (ip-multimedia): define a variable to store the current static address. * deployment/systems/aisaka.scm (spf-value): construct an SPF record using the ip-multimedia variable. * deployment/systems/aisaka.scm (ttl): define a variable for DNS TTL values. * deployment/systems/aisaka.scm (marekpasnikowski.pl.zone): rename to marekpasnikowski.pl-entries; align elements in columns; utilize the new ip-multimedia, spf-value and ttl variables to remove code repetition and improve clarity. * deployment/systems/aisaka.scm (marekpasnikowski.pl-zone): define the zone-file record in a new variable; update the serial number. * deployment/systems/aisaka.scm (master-zone): use the new marekpasnikowski.pl-zone variable to configure the zone field.
-rw-r--r--deployment/systems/aisaka.scm67
1 files changed, 39 insertions, 28 deletions
diff --git a/deployment/systems/aisaka.scm b/deployment/systems/aisaka.scm
index 6aa4168..f6200b7 100644
--- a/deployment/systems/aisaka.scm
+++ b/deployment/systems/aisaka.scm
@@ -24,38 +24,49 @@
#:use-module ((users id1000) #:prefix users:id1000:)
#:use-module ((users vmail) #:prefix users:vmail:))
-(gnu:services:dns:define-zone-entries marekpasnikowski.pl.zone
- ("@" "3600" "IN" "A" "81.190.248.246")
- ("@" "3600" "IN" "NS" "ns.marekpasnikowski.pl.")
- ("ns" "3600" "IN" "A" "81.190.248.246")
- ("@" "3600" "IN" "NS" "ns1.marekpasnikowski.pl.")
- ("ns1" "3600" "IN" "A" "81.190.248.246")
- ("@" "3600" "IN" "MX" "10 mx1.forwardemail.net.")
- ("@" "3600" "IN" "MX" "10 mx2.forwardemail.net.")
- ("@" "3600" "IN" "TXT" "\"forward-email-port=49152\"")
- ("@" "3600" "IN" "TXT" "\"forward-email=marekpasnikowski.pl\"")
- ("@" "3600" "IN" "TXT" "\"v=spf1 ip4:81.190.248.246 -all\"")
- ("_caldavs._tcp" "3600" "IN" "SRV" "10 0 443 radicale.marekpasnikowski.pl")
- ("_carddavs._tcp" "3600" "IN" "SRV" "10 0 443 radicale.marekpasnikowski.pl")
- ("_dmarc" "3600" "IN" "TXT" "\"v=DMARC1; p=reject; sp=reject; pct=100; aspf=s; adkim=s; fo=1; rua=mailto:abuse@marekpasnikowski.pl; ruf=mailto:abuse@marekpasnikowski.pl\"")
- ("dkim._domainkey" "3600" "IN" "TXT" "\"v=DKIM1; d=marekpasnikowski.pl; t=s; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAo/b/WV5EUxqAhBgJ4v5K3sP8QI+IwziRJ/F9SDO3p3QOMjZd9AGVt2/AztZ4EmcOJnTlbQnLE/DKCOq4HAdxSZjIqj5AXyMddvWiO78+ugdame/flV0tjdDGNflx65Twap3qgJ9jzhvJfZ1BDuh2WC06fn2pyFl1TCETEGp6ZDkI41FW5GH8l9Jk7hhCmr+Mau0EpE7V42lBdireItOA1e7jQcub50584QATme4rYxA7WR4AeIsknOkUo4q8vkVrssoP11nSg/sNM9RGn1QDfVMJRX0twtgGnJ8N5QE4Ia9DvXL4Y0PNMC0/frp13pB6m1VQP/Z4jfDy+TQzEdSRaQIDAQAB\"")
- ("git" "3600" "IN" "A" "81.190.248.246")
- ("radicale" "3600" "IN" "A" "81.190.248.246")
- ("schron" "3600" "IN" "A" "81.190.248.246")
- ("sejf" "3600" "IN" "A" "81.190.248.246")
- ("test" "3600" "IN" "A" "81.190.248.246")
- ("www" "3600" "IN" "A" "81.190.248.246"))
+(define ip-multimedia "81.190.248.246")
+
+(define spf-value
+ (string-append "\"v=spf1 ip4:"
+ ip-multimedia
+ " -all\""))
+
+(define ttl "60")
+
+(gnu:services:dns:define-zone-entries marekpasnikowski.pl-entries
+ ("@" ttl "IN" "A" ip-multimedia)
+ ("@" ttl "IN" "NS" "ns.marekpasnikowski.pl.")
+ ("ns" ttl "IN" "A" ip-multimedia)
+ ("@" ttl "IN" "NS" "ns1.marekpasnikowski.pl.")
+ ("ns1" ttl "IN" "A" ip-multimedia)
+ ("@" ttl "IN" "MX" "10 mx1.forwardemail.net.")
+ ("@" ttl "IN" "MX" "10 mx2.forwardemail.net.")
+ ("@" ttl "IN" "TXT" "\"forward-email-port=49152\"")
+ ("@" ttl "IN" "TXT" "\"forward-email=marekpasnikowski.pl\"")
+ ("@" ttl "IN" "TXT" spf-value)
+ ("_caldavs._tcp" ttl "IN" "SRV" "10 0 443 radicale.marekpasnikowski.pl")
+ ("_carddavs._tcp" ttl "IN" "SRV" "10 0 443 radicale.marekpasnikowski.pl")
+ ("_dmarc" ttl "IN" "TXT" "\"v=DMARC1; p=reject; sp=reject; pct=100; aspf=s; adkim=s; fo=1; rua=mailto:abuse@marekpasnikowski.pl; ruf=mailto:abuse@marekpasnikowski.pl\"")
+ ("dkim._domainkey" ttl "IN" "TXT" "\"v=DKIM1; d=marekpasnikowski.pl; t=s; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAo/b/WV5EUxqAhBgJ4v5K3sP8QI+IwziRJ/F9SDO3p3QOMjZd9AGVt2/AztZ4EmcOJnTlbQnLE/DKCOq4HAdxSZjIqj5AXyMddvWiO78+ugdame/flV0tjdDGNflx65Twap3qgJ9jzhvJfZ1BDuh2WC06fn2pyFl1TCETEGp6ZDkI41FW5GH8l9Jk7hhCmr+Mau0EpE7V42lBdireItOA1e7jQcub50584QATme4rYxA7WR4AeIsknOkUo4q8vkVrssoP11nSg/sNM9RGn1QDfVMJRX0twtgGnJ8N5QE4Ia9DvXL4Y0PNMC0/frp13pB6m1VQP/Z4jfDy+TQzEdSRaQIDAQAB\"")
+ ("git" ttl "IN" "A" ip-multimedia)
+ ("radicale" ttl "IN" "A" ip-multimedia)
+ ("schron" ttl "IN" "A" ip-multimedia)
+ ("sejf" ttl "IN" "A" ip-multimedia)
+ ("test" ttl "IN" "A" ip-multimedia)
+ ("www" ttl "IN" "A" ip-multimedia))
+
+(define marekpasnikowski.pl-zone
+ (gnu:services:dns:zone-file
+ (entries marekpasnikowski.pl-entries)
+ (origin "marekpasnikowski.pl")
+ (ns "ns.marekpasnikowski.pl.")
+ (mail "marek.marekpasnikowski.pl.")
+ (serial 2025121900)))
(define master-zone
(gnu:services:dns:knot-zone-configuration
(domain "marekpasnikowski.pl")
- (zone
- (gnu:services:dns:zone-file
- (entries marekpasnikowski.pl.zone)
- (origin "marekpasnikowski.pl")
- (ns "ns.marekpasnikowski.pl.")
- (mail "marek.marekpasnikowski.pl.")
- (serial 2025072600)))))
+ (zone marekpasnikowski.pl-zone)))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;