Mail-Server » Qmail

ID #1265 Qmail-Konfiguration

Fragen:

Qmail ein Buch mit sieben Siegeln? Nein, nicht wirklich.
Qmail ist kompliziert zu konfigurieren? Nein, nur dann wenn man nicht weiß wie es geht.
Aber wie kann ich dann Qmail steuern? Hier kommen die Antworten:

Konfigurationsdateien

Qmail hat keine zentrale Konfigurationsdatei wie Postfix oder Sendmail sondern jede Konfigurationsparameter wird ine einer seperaten Datei innerhalb von <code>/var/qmail/control/code> eingetragen.
Der Vorteil ist, daß einige Konfigurationen sogar zur Laufzeit ohne <code>reloadcode> oder <code>restartcode> von Qmail geändert werden können. (Beachtet hierzu auch das Qmail-Flußdiagramm.)

Kurze Anmerkung zum Format der Dateien:
Grundsätzlich handelt es sich um ein Unix-Format. Zeilen werden also mit einem einfachen Carrige-Return ("\n") umgebrochen.
Die letzte Zeile erfordert nicht zwangsweise einen CR.
Bei Zahlen-Werten wird immer nur die erste Zeile gelesen. Der Rest der Datei wird ignoriert.
Wenn bei "std.-Wert" "me" steht so ist damit die Datei <code>mecode> gemeint.

Grundeinstellung:

Datei std.-Wert Programm Zweck
<code>badmailfromcode> none <code>qmail-smtpdcode> Die schwarze Liste von Absenderadressen
<code>bouncefromcode> MAILER-DAEMON <code>qmail-sendcode> Benutzername des Bounce-Absenders
<code>bouncehostcode> me <code>qmail-sendcode> Hostname des bounce-Absenders
<code>defaultdeliverycode> none <code>/var/qmail/rccode> Standard-.qmail-Datei
<code>defaultdomaincode> me <code>qmail-injectcode> Standard-Domainname
<code>defaulthostcode> me <code>qmail-injectcode> Standard-Hostname
<code>doublebouncehostcode> me <code>qmail-sendcode> Hostname des Doppel-Bounce-Absenders
<code>doublebouncetocode> postmaster <code>qmail-sendcode> Benutzer, der die Doppel-Bounces empfangen soll
<code>envnoathostcode> me <code>qmail-sendcode> Standard-Domain für Adressen ohne "@"
<code>helohostcode> me <code>qmail-remotecode> Hostname, der im SMTP-HELO-Befehl benutzt wird
<code>idhostcode> me <code>qmail-injectcode> Hostname für Nachrichten-IDs
<code>localiphostcode> me <code>qmail-smtpdcode> Name, der durch lokale IP-Addresse ersetzt wird
<code>localscode> me <code>qmail-sendcode> Domains, die wir lokal beliefern
<code>mecode> FQDN various Full-Qualified-Domain-Name
<code>smtpgreetingcode> me <code>qmail-smtpdcode> SMTP-Grußbotschaft

Mail-Handling:

Datei std.-Wert Programm Zweck
<code>concurrencyincomingcode> none <code>tcpserver | (x)inetdcode> Maximum der gleichzeitig hereinkommenden SMTP-Verbindungen
Angriffspunkt für DoS-Angriffe.
<code>concurrencylocalcode> <code>10code> <code>qmail-sendcode> Maximum der gleichzeitigen lokalen Zustellungen.
Muß i.d.R. nicht verändert werden.
<code>concurrencyremotecode> 20 <code>qmail-sendcode> Maximum der gleichzeitigen Remote-Zustellungen
Eine höherer Wert erhöht den Output bei Newslettern. (Speicher und Sockets müssen aber ausreichend vorhanden sein.)
<code>databytescode> 0 <code>qmail-smtpdcode> Maximale Anzahl Bytes in einer Nachricht (0=kein Limit)
<code>queuelifetimecode> 604800 <code>qmail-sendcode> Anzahl Sekunden die eine Nachricht in der Warteschlange verbleiben kann.
7 Tage sind arg lang. 3-5 Tage sind normal.
<code>smtproutescode> none <code>qmail-remotecode> Um den Server in einen Smarthost zu verwandeln.
Siehe <code>man qmail-remotecode>.
<code>timeoutconnectcode> 60 <code>qmail-remotecode> Wieviel Sekunden wird auf eine SMTP-Verbindung gewartet.
Kann bei moderner Anbindung halbiert werden.
<code>timeoutremotecode> 1200 <code>qmail-remotecode> Wieviel Sekunden wird während einer SMTP-Verbindung bei ausgehender Verbindung auf Daten/Antwort gewartet.
5 Minuten sind hier deutlich zu lange und blockieren z.B. bei einem Newsletter-Versand den ganzen Server.
Empfohlener Wert: 30 Sekunden.
<code>timeoutsmtpdcode> 1200 <code>qmail-smtpdcode> Wieviel Sekunden wird während einer SMTP-Verbindung bei eingehender Verbindung auf Daten/Antwort gewartet.
5 Minuten sind hier deutlich zu lange und zu einer DoS-Blockade führen.
Empfohlener Wert: 30 Sekunden.

Domains und Adressen:

Datei std.-Wert Programm Zweck
<code>morercpthostscode> none <code>qmail-smtpdcode> Zweite rcpthosts-Datenbank
<code>percenthackcode> none <code>qmail-sendcode> Domains, die "%"-artige Weiterleitungen benutzen dürfen
<code>plusdomaincode> me <code>qmail-injectcode> Domain, die durch führendes "+" ersetzt wird
<code>rcpthostscode> none <code>qmail-smtpdcode> Domains, für die wir Mails akzeptieren
<code>virtualdomainscode> none <code>qmail-sendcode> Virtuelle Domains und Benutzer

Der Rest:

Datei std.-Wert Programm Zweck
<code>qmqpserverscode> none <code>qmail-qmqpccode> IP-Adressen der QMQP-Server
Unwichtig geworden...

Fazit:

Um die oben genannten Empfehlungen als Änderungen einzusetzen kann man folgende Zeilen verwenden:

echo 10 > /var/qmail/control/concurrencyincoming
echo 30 > /var/qmail/control/concurrencyremote
echo 345600 > /var/qmail/control/queuelifetime
echo 30 > /var/qmail/control/timeoutconnect
echo 30 > /var/qmail/control/timeoutremote
echo 30 > /var/qmail/control/timeoutsmtpd

 

sozial Bookmarking
Bookmarken bei YIGG Bookmarken bei Mister-Wong Bookmarken bei Icio Bookmarken bei del.icio.us Bookmarken bei Technorati Bookmarken bei Furl Bookmarken bei Spurl Bookmarken bei Yahoo Bookmarken bei Google

vom 2007-10-15 22:08, zuletzt 2007-11-15 15:11     Artikel ausdrucken Artikel weiterempfehlen Als PDF-Datei anzeigen

Dieser Inhalt ist unter der Creative-Commons Lizenz lizensiert.

Probleme bitte im Server-Support-Forum diskutieren.

überflüssig 1 2 3 4 5 wertvoll  
Durchschnittliche Bewertung:   4.56 von 5 (9 Bewertungen)

Artikel kommentieren

Kommentar von pcss (2007-11-14 15:36:14):
Danke an Huschi für die ausführlichen Infos betr. qMail!

Habe die Zeilen beim Fazit betrachtet und festgestellt, dass da wohl noch ein Zeichen fehlt:

es heisst
---------
echo 345600 /var/qmail/control/queuelifetime

es sollte wohl heissen
----------------------

echo 345600 > /var/qmail/control/queuelifetime

und so weiter für die übrigen Zeilen.

Gruss und besten Dank
pcss