DNS Favorites

Bulk Operations

Bulk Lookup

# Bulk DNS lookup with formatted output
for host in vault-01 ise-01 home-dc01 kvm-01 nas-01 bind-01; do
  ip=$(host "${host}.inside.domusdigitalis.dev" 10.50.1.90 2>/dev/null | awk '/has address/{print $4}')
  printf "%-20s %s\n" "$host" "${ip:-NOT FOUND}"
done

PTR Verification

# Reverse DNS verification
for ip in 10.50.1.{1,10,20,40,50,60,70,90,99,100}; do
  ptr=$(dig +short -x "$ip" @10.50.1.90 2>/dev/null)
  printf "%-15s %s\n" "$ip" "${ptr:-(no PTR)}"
done

Zone Operations

Zone Transfer (AXFR)

# Zone transfer (AXFR) for audit
dig @10.50.1.90 inside.domusdigitalis.dev AXFR | \
  awk '/^[^;]/ && NF>4 {print $1, $4, $5}'

Active Directory SRV Records

# Active Directory SRV record check
for srv in _ldap._tcp _kerberos._tcp _gc._tcp; do
  echo "=== $srv ==="
  dig +short "${srv}.inside.domusdigitalis.dev" SRV @10.50.1.90
done

pfSense DNS

Add DNS Override

# Add DNS override via netapi
dsource d000 dev/network
netapi pfsense dns add -h k3s-worker-01 -d inside.domusdigitalis.dev -i 10.50.1.123 --descr "k3s worker node 1"

nsupdate Commands

Add A Record

sudo nsupdate -l << 'EOF'
zone inside.domusdigitalis.dev
update add grafana.inside.domusdigitalis.dev. 3600 A 10.50.1.120
send
EOF

Add PTR Record

sudo nsupdate -l << 'EOF'
zone 1.50.10.in-addr.arpa
update add 120.1.50.10.in-addr.arpa. 3600 PTR grafana.inside.domusdigitalis.dev.
send
EOF

Quick Reference

Pattern Purpose

dig +short A hostname

Quick IP lookup

dig @10.50.1.90 hostname

Query specific server

dig +trace hostname

Full resolution path

dig -x 10.50.1.50

Reverse lookup

dig ANY hostname

All record types

dig SOA zone +short

SOA serial check