# This works fine
dig google.com @1.1.1.1
;; ANSWER SECTION:
google.com. 300 IN A 142.250.80.46 # Your domain? Radio silence or NXDOMAIN
dig lab.yourdomain.com @1.1.1.1
;; -weight: 500;">status: NXDOMAIN
# This works fine
dig google.com @1.1.1.1
;; ANSWER SECTION:
google.com. 300 IN A 142.250.80.46 # Your domain? Radio silence or NXDOMAIN
dig lab.yourdomain.com @1.1.1.1
;; -weight: 500;">status: NXDOMAIN
# This works fine
dig google.com @1.1.1.1
;; ANSWER SECTION:
google.com. 300 IN A 142.250.80.46 # Your domain? Radio silence or NXDOMAIN
dig lab.yourdomain.com @1.1.1.1
;; -weight: 500;">status: NXDOMAIN
# Same domain, different resolver — suddenly it resolves
dig lab.yourdomain.com @8.8.8.8
;; ANSWER SECTION:
lab.yourdomain.com. 300 IN A 192.168.1.50
# Same domain, different resolver — suddenly it resolves
dig lab.yourdomain.com @8.8.8.8
;; ANSWER SECTION:
lab.yourdomain.com. 300 IN A 192.168.1.50
# Same domain, different resolver — suddenly it resolves
dig lab.yourdomain.com @8.8.8.8
;; ANSWER SECTION:
lab.yourdomain.com. 300 IN A 192.168.1.50
# Check if your domain is listed on Spamhaus DBL
dig yourdomain.com.dbl.spamhaus.org # If you get a 127.0.1.x response, you're listed
# 127.0.1.2 = spam domain
# 127.0.1.4 = phishing domain
# 127.0.1.5 = malware domain
# NXDOMAIN = you're clean on this list
# Check if your domain is listed on Spamhaus DBL
dig yourdomain.com.dbl.spamhaus.org # If you get a 127.0.1.x response, you're listed
# 127.0.1.2 = spam domain
# 127.0.1.4 = phishing domain
# 127.0.1.5 = malware domain
# NXDOMAIN = you're clean on this list
# Check if your domain is listed on Spamhaus DBL
dig yourdomain.com.dbl.spamhaus.org # If you get a 127.0.1.x response, you're listed
# 127.0.1.2 = spam domain
# 127.0.1.4 = phishing domain
# 127.0.1.5 = malware domain
# NXDOMAIN = you're clean on this list
# Quick test across popular resolvers
for resolver in 1.1.1.1 8.8.8.8 9.9.9.9 208.67.222.222; do echo "--- $resolver ---" dig +short yourdomain.com @$resolver
done
# Quick test across popular resolvers
for resolver in 1.1.1.1 8.8.8.8 9.9.9.9 208.67.222.222; do echo "--- $resolver ---" dig +short yourdomain.com @$resolver
done
# Quick test across popular resolvers
for resolver in 1.1.1.1 8.8.8.8 9.9.9.9 208.67.222.222; do echo "--- $resolver ---" dig +short yourdomain.com @$resolver
done
# Example: Unbound local zone configuration
server: local-zone: "yourdomain.com." static local-data: "grafana.yourdomain.com. IN A 192.168.1.50" local-data: "gitea.yourdomain.com. IN A 192.168.1.50" local-data: "wiki.yourdomain.com. IN A 192.168.1.50"
# Example: Unbound local zone configuration
server: local-zone: "yourdomain.com." static local-data: "grafana.yourdomain.com. IN A 192.168.1.50" local-data: "gitea.yourdomain.com. IN A 192.168.1.50" local-data: "wiki.yourdomain.com. IN A 192.168.1.50"
# Example: Unbound local zone configuration
server: local-zone: "yourdomain.com." static local-data: "grafana.yourdomain.com. IN A 192.168.1.50" local-data: "gitea.yourdomain.com. IN A 192.168.1.50" local-data: "wiki.yourdomain.com. IN A 192.168.1.50"
# If you're using systemd-resolved
-weight: 600;">sudo resolvectl dns eth0 8.8.8.8 8.8.4.4 # Or edit /etc/resolv.conf directly (not ideal but works in a pinch)
nameserver 8.8.8.8
nameserver 8.8.4.4
# If you're using systemd-resolved
-weight: 600;">sudo resolvectl dns eth0 8.8.8.8 8.8.4.4 # Or edit /etc/resolv.conf directly (not ideal but works in a pinch)
nameserver 8.8.8.8
nameserver 8.8.4.4
# If you're using systemd-resolved
-weight: 600;">sudo resolvectl dns eth0 8.8.8.8 8.8.4.4 # Or edit /etc/resolv.conf directly (not ideal but works in a pinch)
nameserver 8.8.8.8
nameserver 8.8.4.4
# CoreDNS Corefile example for split-horizon
yourdomain.com { file /etc/coredns/yourdomain.com.zone log
} . { forward . 1.1.1.1 9.9.9.9 cache 30 log
}
# CoreDNS Corefile example for split-horizon
yourdomain.com { file /etc/coredns/yourdomain.com.zone log
} . { forward . 1.1.1.1 9.9.9.9 cache 30 log
}
# CoreDNS Corefile example for split-horizon
yourdomain.com { file /etc/coredns/yourdomain.com.zone log
} . { forward . 1.1.1.1 9.9.9.9 cache 30 log
}
#!/bin/bash
# Simple blocklist monitor — run via cron weekly
DOMAIN="yourdomain.com"
BLOCKLISTS=("dbl.spamhaus.org" "multi.surbl.org" "black.uribl.com") for bl in "${BLOCKLISTS[@]}"; do result=$(dig +short "$DOMAIN.$bl") if [ -n "$result" ]; then echo "WARNING: $DOMAIN is listed on $bl ($result)" | \ mail -s "DNS Blocklist Alert" [email protected] fi
done
#!/bin/bash
# Simple blocklist monitor — run via cron weekly
DOMAIN="yourdomain.com"
BLOCKLISTS=("dbl.spamhaus.org" "multi.surbl.org" "black.uribl.com") for bl in "${BLOCKLISTS[@]}"; do result=$(dig +short "$DOMAIN.$bl") if [ -n "$result" ]; then echo "WARNING: $DOMAIN is listed on $bl ($result)" | \ mail -s "DNS Blocklist Alert" [email protected] fi
done
#!/bin/bash
# Simple blocklist monitor — run via cron weekly
DOMAIN="yourdomain.com"
BLOCKLISTS=("dbl.spamhaus.org" "multi.surbl.org" "black.uribl.com") for bl in "${BLOCKLISTS[@]}"; do result=$(dig +short "$DOMAIN.$bl") if [ -n "$result" ]; then echo "WARNING: $DOMAIN is listed on $bl ($result)" | \ mail -s "DNS Blocklist Alert" [email protected] fi
done - You bought a previously-used domain. Someone before you used it for spam or phishing. The domain got flagged, dropped, and you picked it up cheap without knowing its history.
- Your registrar or DNS provider's IP range got flagged. Sometimes the whole neighborhood gets punished for one bad actor.
- Automated scanners flagged your setup. If you're running open services on your domain without proper configuration, scanners might flag it as suspicious.
- A wildcard DNS record is catching abuse. If you have *.yourdomain.com pointing somewhere, attackers can create phishing URLs like paypal-login.yourdomain.com and get your whole domain flagged. - Spamhaus: Has a web-based removal form. You'll need to explain what the domain is used for and what you've done to address the issue.
- SURBL: Similar process, though they can be slower to respond.
- Community lists: These vary wildly. Some have GitHub repos where you can open an issue. Others have email-based processes.