SKIP_PROTOCOL_DNS
This commit is contained in:
@@ -5,15 +5,22 @@
|
|||||||
# Setzt mail/imap/smtp/pop Subdomains für domain-spezifischen Mailserver-Zugang
|
# Setzt mail/imap/smtp/pop Subdomains für domain-spezifischen Mailserver-Zugang
|
||||||
#
|
#
|
||||||
# MIGRATIONS-FLAGS:
|
# MIGRATIONS-FLAGS:
|
||||||
# SKIP_CLIENT_DNS=true → Abschnitt 8 (imap/smtp/pop/webmail) + 10 (SRV) überspringen
|
# SKIP_CLIENT_DNS=true → Abschnitt 8 (mail/imap/smtp/pop/webmail) überspringen
|
||||||
# Nutzen: Client-Subdomains bleiben beim alten Provider
|
# Nutzen: Client-Subdomains bleiben komplett beim alten Provider
|
||||||
|
# SKIP_PROTOCOL_DNS=true → nur imap/smtp/pop überspringen, aber mail + webmail setzen
|
||||||
|
# Nutzen: Webmail/Autodiscover vorbereiten, Mailclients bleiben beim alten Provider
|
||||||
# SKIP_DMARC=true → Abschnitt 7 (DMARC) überspringen
|
# SKIP_DMARC=true → Abschnitt 7 (DMARC) überspringen
|
||||||
# Nutzen: Bestehenden DMARC-Record nicht anfassen
|
# Nutzen: Bestehenden DMARC-Record nicht anfassen
|
||||||
#
|
#
|
||||||
# Typischer Migrations-Ablauf:
|
# Typischer Migrations-Ablauf:
|
||||||
# Phase 0 (Vorbereitung): SKIP_CLIENT_DNS=true SKIP_DMARC=true → nur SES + SPF
|
# Phase 0a (Vorbereitung, Client-Records bleiben alt):
|
||||||
# Phase 1 (MX Cutover): MX umstellen (manuell)
|
# SKIP_CLIENT_DNS=true SKIP_DMARC=true → nur SES + SPF/DKIM/MailFrom
|
||||||
# Phase 2 (Client Switch): ohne SKIP Flags → alle Records setzen
|
# Phase 0b (Webmail vorbereiten, imap/smtp/pop bleiben alt):
|
||||||
|
# SKIP_CLIENT_DNS=false SKIP_PROTOCOL_DNS=true SKIP_DMARC=false
|
||||||
|
# Phase 1 (MX Cutover):
|
||||||
|
# MX manuell umstellen
|
||||||
|
# Phase 2 (Client Switch):
|
||||||
|
# SKIP_CLIENT_DNS=false SKIP_PROTOCOL_DNS=false → alle Client-Records setzen
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
@@ -23,6 +30,7 @@ DRY_RUN=${DRY_RUN:-"false"}
|
|||||||
|
|
||||||
# Migrations-Flags (NEU)
|
# Migrations-Flags (NEU)
|
||||||
SKIP_CLIENT_DNS=${SKIP_CLIENT_DNS:-"false"}
|
SKIP_CLIENT_DNS=${SKIP_CLIENT_DNS:-"false"}
|
||||||
|
SKIP_PROTOCOL_DNS=${SKIP_PROTOCOL_DNS:-"false"}
|
||||||
SKIP_DMARC=${SKIP_DMARC:-"false"}
|
SKIP_DMARC=${SKIP_DMARC:-"false"}
|
||||||
|
|
||||||
# IP des Mailservers - PFLICHT wenn keine CNAME-Kette gewünscht
|
# IP des Mailservers - PFLICHT wenn keine CNAME-Kette gewünscht
|
||||||
@@ -50,7 +58,8 @@ echo " 🌍 Region: $AWS_REGION"
|
|||||||
echo " 📬 Mail-Server Target: $TARGET_MAIL_SERVER"
|
echo " 📬 Mail-Server Target: $TARGET_MAIL_SERVER"
|
||||||
[ -n "$MAIL_SERVER_IP" ] && echo " 🖥️ Server IP: $MAIL_SERVER_IP"
|
[ -n "$MAIL_SERVER_IP" ] && echo " 🖥️ Server IP: $MAIL_SERVER_IP"
|
||||||
[ "$DRY_RUN" = "true" ] && echo " ⚠️ DRY RUN MODE - Keine Änderungen!"
|
[ "$DRY_RUN" = "true" ] && echo " ⚠️ DRY RUN MODE - Keine Änderungen!"
|
||||||
[ "$SKIP_CLIENT_DNS" = "true" ] && echo " ⏭️ SKIP: Client-Subdomains (imap/smtp/pop/webmail/SRV)"
|
[ "$SKIP_CLIENT_DNS" = "true" ] && echo " ⏭️ SKIP: alle Client-Subdomains (mail/imap/smtp/pop/webmail)"
|
||||||
|
[ "$SKIP_PROTOCOL_DNS" = "true" ] && echo " ⏭️ SKIP: Protokoll-Subdomains imap/smtp/pop bleiben unverändert"
|
||||||
[ "$SKIP_DMARC" = "true" ] && echo " ⏭️ SKIP: DMARC Record"
|
[ "$SKIP_DMARC" = "true" ] && echo " ⏭️ SKIP: DMARC Record"
|
||||||
echo "============================================================"
|
echo "============================================================"
|
||||||
|
|
||||||
@@ -292,11 +301,12 @@ echo ""
|
|||||||
echo "--- 8. Mailclient Subdomains (A + CNAME) ---"
|
echo "--- 8. Mailclient Subdomains (A + CNAME) ---"
|
||||||
if [ "$SKIP_CLIENT_DNS" = "true" ]; then
|
if [ "$SKIP_CLIENT_DNS" = "true" ]; then
|
||||||
echo " ⏭️ Übersprungen (SKIP_CLIENT_DNS=true)"
|
echo " ⏭️ Übersprungen (SKIP_CLIENT_DNS=true)"
|
||||||
echo " ℹ️ imap/smtp/pop/webmail bleiben beim alten Provider."
|
echo " ℹ️ mail/imap/smtp/pop/webmail bleiben beim alten Provider."
|
||||||
echo " ℹ️ Setze SKIP_CLIENT_DNS=false nach MX-Cutover + Client-Umstellung."
|
echo " ℹ️ Setze SKIP_CLIENT_DNS=false nach MX-Cutover + Client-Umstellung."
|
||||||
else
|
else
|
||||||
if [ -n "$MAIL_SERVER_IP" ]; then
|
if [ -n "$MAIL_SERVER_IP" ]; then
|
||||||
# A-Record für mail.<domain> direkt auf Server-IP
|
# A-Record für mail.<domain> direkt auf Server-IP
|
||||||
|
# Wichtig: mail muss DNS-only bleiben; Cloudflare Proxy funktioniert nicht für SMTP/IMAP/POP.
|
||||||
ensure_record "A" "mail.$DOMAIN_NAME" "$MAIL_SERVER_IP" false
|
ensure_record "A" "mail.$DOMAIN_NAME" "$MAIL_SERVER_IP" false
|
||||||
else
|
else
|
||||||
# CNAME auf externen Ziel-Host (nur wenn verschieden)
|
# CNAME auf externen Ziel-Host (nur wenn verschieden)
|
||||||
@@ -305,11 +315,19 @@ else
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# imap, smtp, pop, webmail → CNAME auf mail.<domain>
|
# Webmail kann bereits vorbereitet werden, auch wenn imap/smtp/pop noch beim alten Provider bleiben.
|
||||||
|
ensure_record "CNAME" "webmail.$DOMAIN_NAME" "mail.$DOMAIN_NAME" false
|
||||||
|
|
||||||
|
if [ "$SKIP_PROTOCOL_DNS" = "true" ]; then
|
||||||
|
echo " ⏭️ Überspringe imap/smtp/pop (SKIP_PROTOCOL_DNS=true)"
|
||||||
|
echo " ℹ️ imap/smtp/pop bleiben unverändert beim alten Provider."
|
||||||
|
else
|
||||||
|
# imap/smtp/pop → CNAME auf mail.<domain>
|
||||||
|
# Wichtig: diese Records müssen DNS-only bleiben; Cloudflare Proxy funktioniert nicht für Mail-Protokolle.
|
||||||
ensure_record "CNAME" "imap.$DOMAIN_NAME" "mail.$DOMAIN_NAME" false
|
ensure_record "CNAME" "imap.$DOMAIN_NAME" "mail.$DOMAIN_NAME" false
|
||||||
ensure_record "CNAME" "smtp.$DOMAIN_NAME" "mail.$DOMAIN_NAME" false
|
ensure_record "CNAME" "smtp.$DOMAIN_NAME" "mail.$DOMAIN_NAME" false
|
||||||
ensure_record "CNAME" "pop.$DOMAIN_NAME" "mail.$DOMAIN_NAME" false
|
ensure_record "CNAME" "pop.$DOMAIN_NAME" "mail.$DOMAIN_NAME" false
|
||||||
ensure_record "CNAME" "webmail.$DOMAIN_NAME" "mail.$DOMAIN_NAME" false
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ------------------------------------------------------------------
|
# ------------------------------------------------------------------
|
||||||
@@ -327,7 +345,12 @@ if [ "$SKIP_CLIENT_DNS" = "true" ]; then
|
|||||||
echo ""
|
echo ""
|
||||||
echo " ⚠️ Client-Subdomains wurden NICHT geändert."
|
echo " ⚠️ Client-Subdomains wurden NICHT geändert."
|
||||||
echo " Nach MX-Cutover + Worker-Validierung erneut ausführen mit:"
|
echo " Nach MX-Cutover + Worker-Validierung erneut ausführen mit:"
|
||||||
echo " SKIP_CLIENT_DNS=false SKIP_DMARC=false ./cloudflareMigrationDns.sh"
|
echo " SKIP_CLIENT_DNS=false SKIP_PROTOCOL_DNS=false SKIP_DMARC=false ./cloudflareMigrationDns.sh"
|
||||||
|
elif [ "$SKIP_PROTOCOL_DNS" = "true" ]; then
|
||||||
|
echo ""
|
||||||
|
echo " ⚠️ imap/smtp/pop wurden NICHT geändert."
|
||||||
|
echo " Für den finalen Client-Cutover erneut ausführen mit:"
|
||||||
|
echo " SKIP_CLIENT_DNS=false SKIP_PROTOCOL_DNS=false SKIP_DMARC=false ./cloudflareMigrationDns.sh"
|
||||||
fi
|
fi
|
||||||
echo ""
|
echo ""
|
||||||
echo " Mailclient-Konfiguration für Kunden:"
|
echo " Mailclient-Konfiguration für Kunden:"
|
||||||
|
|||||||
Reference in New Issue
Block a user