Zum Inhalt

OpenWrt-Dokumentation

Der zentrale Router steuert den Internetzugang via PPPoE, verwaltet das lokale Standard-Gateway (192.168.178.10), führt das Firewalling über nftables (fw4) durch und aktualisiert dynamische DNS-Einträge bei Netcup.

Überblick

Diese Seite dokumentiert die zentrale Routing- und Firewall-Umgebung des Heimnetzes. Sie beschreibt die wichtigsten Konfigurationsbereiche, Anbindungen und Wiederherstellungsmaßnahmen für die öffentliche Infrastruktur.

Schnellcheckliste

  • WAN-Status und PPPoE prüfen
  • DNAT- und Firewallregeln validieren
  • DNS und DynDNS prüfen
  • SMGW-Abgrenzung nicht verändern
  • vor Änderungen ein Backup anlegen

Verwandte Seiten

1. Router-Spezifikationen & Netzwerkinformationen

Parameter Wert / Konfiguration
Router LAN-IP 192.168.178.10
WAN-Protokoll PPPoE (dynamische öffentliche IPv4)
PPPoE-Interface pppoe-wan
LAN-Interface eth0
WAN-Interface eth1
Aktuelle öffentliche IP 149.224.183.96 (dynamisch via PPPoE)
DNS- & Gateway-Rolle Standard-Gateway für Mailcow (192.168.178.146) und Caddy (192.168.178.150)

Wichtige Sicherheitsabgrenzung: Smart Meter Gateway (SMGW) Das SMGW nutzt eine vollständig getrennte Netzwerk- und Firewall-Konfiguration (smgw_zone). Bei sämtlichen Firewall-, NAT- oder Routing-Arbeiten darf die smgw_zone unter keinen Umständen verändert werden.

2. Firewall & Portweiterleitungen (DNAT)

Eingehende Verbindungen aus dem Internet werden über das nftables-Regelwerk (fw4) gezielt an interne Systeme verteilt:

Dienst Quellport (WAN) Ziel-IP (LAN) Zielport Beschreibung
Mailcow SMTP TCP 25 192.168.178.146 25 Eingehender Mail-Empfang (Regel: Mailcow-SMTP-In)
Mailcow HTTP TCP 80 192.168.178.146 80 Mailcow Webzugriff / ACME
Caddy HTTPS TCP 443 192.168.178.150 443 Epping-Haus Website & DokuWiki

Prüfen der nftables- und UCI-Konfiguration

# Portweiterleitung in UCI prüfen
uci show firewall | grep -A12 -B2 'Mailcow-SMTP'

# nftables-DNAT-Regeln für WAN auflisten
nft list chain inet fw4 dstnat_wan

3. Netcup CloudDNS DynDNS-Automatisierung

Da der Internetanschluss eine dynamische öffentliche IPv4 nutzt, werden die A-Records für epping-haus.de und mail.epping-haus.de automatisch über die Netcup-CloudDNS-Schnittstelle aktualisiert.

Konfigurationsdatei /etc/netcup-ddns.conf

  • Berechtigung: chmod 600 (nur für root lesbar).
  • Enthält den geheimen Schlüssel NETCUP_DDNS_TOKEN.
  • Wichtig: Der DynDNS-Token darf niemals im Klartext in ungeschützten Logs oder Dokumenten geteilt werden.

DynDNS-Skript: /root/bin/netcup-mail-ddns

  • Berechtigung: chmod 700 (nur durch root ausführbar).
  • Liest die aktuelle WAN-IPv4 per ubus aus und aktualisiert beide FQDNs per Curl-Aufruf.
#!/bin/sh
CONFIG="/etc/netcup-ddns.conf"
LOGTAG="netcup-mail-ddns"
HOSTS="mail.epping-haus.de epping-haus.de"
URL="https://customercontrolpanel.de/wsDynDns.php"

if [ ! -r "$CONFIG" ]; then
    logger -t "$LOGTAG" "Konfigurationsdatei fehlt: $CONFIG"
    exit 1
fi
. "$CONFIG"

if [ -z "$NETCUP_DDNS_TOKEN" ]; then
    logger -t "$LOGTAG" "NETCUP_DDNS_TOKEN fehlt"
    exit 1
fi

IP="$(ubus call network.interface.wan status 2>/dev/null \
    | jsonfilter -e '@["ipv4-address"][0].address')"

case "$IP" in
    ''|*[!0-9.]*)
        logger -t "$LOGTAG" "Keine gültige WAN-IPv4 gefunden: $IP"
        exit 1
        ;;
esac

ERROR=0
for FQDN in $HOSTS; do
    RESPONSE="$(curl -fsS --connect-timeout 5 --max-time 15 \
        --get "$URL" \
        --data-urlencode "action=update" \
        --data-urlencode "token=$NETCUP_DDNS_TOKEN" \
        --data-urlencode "fqdn=$FQDN" \
        --data-urlencode "ipv4Address=$IP" 2>&1)"
    RC=$?
    if [ "$RC" -ne 0 ]; then
        logger -t "$LOGTAG" "Netcup API Fehler ($FQDN): $RESPONSE"
        ERROR=1
    else
        logger -t "$LOGTAG" "Update $FQDN -> $IP : $RESPONSE"
    fi
done
exit $ERROR

Cron-Automatisierung (/etc/crontabs/root)

# 0 4 * * * /sbin/ifdown wan && sleep 15 && /sbin/ifup wan
*/5 * * * * /root/bin/netcup-mail-ddns

Bekannter Fehler & Lösung (Kollision am 04.09.2026)

  • Ursache: Der tägliche PPPoE-Reconnect um 04:00 Uhr kollidierte mit dem 5-Minuten-DynDNS-Cronjob. Der DynDNS-Check lief ins Leere und hing bis zu 5 Minuten im Timeout.
  • Lösung:
  • Timeouts im Skript verankert (--connect-timeout 5 --max-time 15).
  • Der künstliche tägliche PPPoE-Reconnect um 04:00 Uhr wurde auskommentiert.

4. DNS-Sollzustand (Netcup Nameserver)

Record-Typ FQDN Ziel / Wert Zweck
MX epping-haus.de MX 10 mail.epping-haus.de Mailserver-Routing
A mail.epping-haus.de dynamische WAN-IPv4 Mailcow Serveradresse
A epping-haus.de dynamische WAN-IPv4 Basis-Domain
CNAME autoconfig.epping-haus.de mail.epping-haus.de. Automatische Mailclient-Konfiguration
CNAME autodiscover.epping-haus.de mail.epping-haus.de. Automatische Mailclient-Konfiguration
CNAME www.epping-haus.de epping-haus.de. Öffentliche Webpräsenz
CNAME wiki.epping-haus.de epping-haus.de. Internes DokuWiki

5. Diagnose- & Monitoringbefehle

DynDNS-Test

# Manuelle Ausführung und Logprüfung
/root/bin/netcup-mail-ddns
logread | grep netcup-mail-ddns | tail -5

Netzwerk- und Paketmitschnitte

# WAN-Mitschnitt auf Port 25
tcpdump -ni pppoe-wan tcp port 25

# LAN-Mitschnitt für Mailcow
tcpdump -ni eth0 host 192.168.178.146 and tcp port 25

# Conntrack-Verbindungstracking prüfen
conntrack -L -p tcp --dport 25 -o extended
conntrack -E -o id,extended

6. Backup-Vorschriften vor Änderungen

Vor jeder Änderung an der OpenWrt-Konfiguration ist zwingend ein Backup anzulegen:

# 1. Firewall vor Änderung sichern:
cp /etc/config/firewall /root/firewall.backup-before-change

# 2. Funktionierenden Zustand zeitgestempelt archivieren:
cp /etc/config/firewall /root/firewall.mailcow-working.$(date +%F-%H%M%S)

# 3. Gesamte OpenWrt-Konfiguration sichern (.tar.gz):
sysupgrade -b /root/openwrt-backup-mailcow-working-$(date +%F-%H%M%S).tar.gz

Dokumentationsstand: 04.09.2026 (verifiziert)

Webserver

Webserver-Netzwerk und Caddy DNAT