Discussion:
Courier IMAPD gleichzeitig auf IPV4- und IPV6-Adresse binden
(zu alt für eine Antwort)
Franz Georg Koehler
2010-11-08 17:46:43 UTC
Permalink
Hallo allerseits,


ich versuche gerade vergebelich, den Courier IMAPD auf jeweils eine
IPV4- und IPV6-Adresse zu binden.

Was funktioniert, ist in der config-Datei ADDRESS= auf entweder IPV4
oder IPV6 zu setzen.

Sobald ich aber beide IP-Adressen angeben will, funktioniert es nicht
(sowohl TRennung per Komma, Semikolon und eckigen KLammern ist wohl
syntaktisch falsch)

Leider habe ich keine Infos dazu gefunden, wie die korrekte Syntax ist.

Hat hier vielleicht jemand einen Tip dazu?
Sven Hartge
2010-11-08 19:06:50 UTC
Permalink
Post by Franz Georg Koehler
ich versuche gerade vergebelich, den Courier IMAPD auf jeweils eine
IPV4- und IPV6-Adresse zu binden.
Was funktioniert, ist in der config-Datei ADDRESS= auf entweder IPV4
oder IPV6 zu setzen.
Sobald ich aber beide IP-Adressen angeben will, funktioniert es nicht
(sowohl TRennung per Komma, Semikolon und eckigen KLammern ist wohl
syntaktisch falsch)
Ich glaube fast, das geht gar nicht, weil ADDRESS als Parameter dem
couriertcpd im Init-Script übergeben wird.
Post by Franz Georg Koehler
Leider habe ich keine Infos dazu gefunden, wie die korrekte Syntax ist.
Hier braucht es wohl eine "MULTIPLE PORT LIST", siehe die man-page von
couriertcpd. Dazu müßte man dann aber wohl das init-Script verändern,
dann die Syntax anders ist.

Aber ehrlich gesagt: Ein Wechsel zu dovecot kommt nicht in Frage? Da
läßt sich das ganze wesentlich schmerzfreier konfigurieren.


--
Sig lost. Core dumped.
Franz Georg Koehler
2010-11-08 20:56:33 UTC
Permalink
Post by Sven Hartge
Ich glaube fast, das geht gar nicht, weil ADDRESS als Parameter dem
couriertcpd im Init-Script übergeben wird.
Post by Franz Georg Koehler
Leider habe ich keine Infos dazu gefunden, wie die korrekte Syntax ist.
Hier braucht es wohl eine "MULTIPLE PORT LIST", siehe die man-page von
couriertcpd. Dazu müßte man dann aber wohl das init-Script verändern,
dann die Syntax anders ist.
Aber ehrlich gesagt: Ein Wechsel zu dovecot kommt nicht in Frage? Da
läßt sich das ganze wesentlich schmerzfreier konfigurieren.
Hallo,


danke, dann weiß ich hier zumindest schonmal Bescheid....

Das Setup ist in dieser Form schon etwas älter. Ich hatte damals Courier
IMAPD (und POP3D inkl. Autentifizierung per courier-authd gegen MySQL)
gewählt, weil es ansonsten nicht viel gab, was IMAP vernünftig konnte.

Ich habe mit Dovecot in letzter Zeit wenig gemacht (läuft nur hier bei
mir als Mini POP3- und IMAP-Server für 5 User...), scheint sich aber in
den letzten Jahren ganz gut entwickelt zu haben.

Ich werde erstmal einen Blick auf aktuellen Dovecot werfen. Ist wohl
noch etwas Zeit, bis Zugriffe via IPV6 tatsächlich relevant werden :-)

Das Courier-Setup läuft ansonsten die letzten Jahre ganz gut durch (bis
auf einen etwas nervigen Fehler, der aber vermutlich eher an gamin, als
am Courier liegt, ganz sicher bin ich allerdings nicht:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=423875 ).



Beste Grüße,

Franz Georg Köhler
Sven Hartge
2010-11-08 21:28:50 UTC
Permalink
Post by Franz Georg Koehler
Das Setup ist in dieser Form schon etwas älter. Ich hatte damals
Courier IMAPD (und POP3D inkl. Autentifizierung per courier-authd
gegen MySQL) gewählt, weil es ansonsten nicht viel gab, was IMAP
vernünftig konnte.
Ja, das kenne ich. "Mein" bisheriges IMAP/POP-Setup basiert auch auf
Courier, weil es zu dem Zeitpunkt nur noch Cyrus (och nee), uw-imapd
(400MB mbox? nein danke) sowie eben Courier gab. Dovecot war noch nicht
so weit, als das man ihn hätte produktiv einsetzen können.

Also Courier. In der nächsten Iteration des Setups wird dann aber
Dovecot zum Einsatz kommen. Entweder auch wieder mit Maildir oder gar
mdbox. Mal sehen.
Post by Franz Georg Koehler
Ich werde erstmal einen Blick auf aktuellen Dovecot werfen. Ist wohl
noch etwas Zeit, bis Zugriffe via IPV6 tatsächlich relevant werden :-)
Auch aus dem Grund. Ob ich den Courier noch auf IPv6 trimme, weiss ich
nicht. Hängt von der Zeit ab, die ich habe.
Post by Franz Georg Koehler
Das Courier-Setup läuft ansonsten die letzten Jahre ganz gut durch
(bis auf einen etwas nervigen Fehler, der aber vermutlich eher an
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=423875 ).
Kenne den Bug. FAM und Gamin habe ich deswegen abgestellt. Muss der
Courier halt selbst Pollen für IMAP-IDLE. Zumindest diesem Server "hier"
macht dies keine Probleme, auch bei 12.000 Usern nicht.


--
Sig lost. Core dumped.
Franz Georg Koehler
2010-11-08 23:14:09 UTC
Permalink
Hallo,
Post by Sven Hartge
Also Courier. In der nächsten Iteration des Setups wird dann aber
Dovecot zum Einsatz kommen. Entweder auch wieder mit Maildir oder gar
mdbox. Mal sehen.
Interessant, kannte ich bisher noch nicht. Die Infos dazu halten sich
wohl auch in Grenzen. Hat jemand mit mdbox schon Erfahrungen gesammelt?
Gerade die Performance bei großen Mailboxen (<20.000 Mails) wäre
interessant.
Maildir läuft im aktuellen Setup seit 9 Jahren ziemlich streßfrei, wenn
aber die Zugriffszeiten auf große Mailboxen wie oben irgendwie nicht die
besten waren (mit XFS als Dateisystem und viel RAM gings dann einigermaßen).

Ich denke, ich werde einfach mal ein aktuelles Dovecot-Setup mit mdir
testen und dann nochmal berichten. Sympatisch ist er ja, der Dovecot :-)
Post by Sven Hartge
Kenne den Bug. FAM und Gamin habe ich deswegen abgestellt. Muss der
Courier halt selbst Pollen für IMAP-IDLE. Zumindest diesem Server "hier"
macht dies keine Probleme, auch bei 12.000 Usern nicht.
Ich hatte IMAP-IDLE komplett abgeschaltet im Courier. Ist aber halt
schon ein nettes Feature für die User (mit passendem Client)....
Sven Hartge
2010-11-08 23:21:22 UTC
Permalink
Post by Franz Georg Koehler
Post by Sven Hartge
Also Courier. In der nächsten Iteration des Setups wird dann aber
Dovecot zum Einsatz kommen. Entweder auch wieder mit Maildir oder gar
mdbox. Mal sehen.
Interessant, kannte ich bisher noch nicht. Die Infos dazu halten sich
wohl auch in Grenzen. Hat jemand mit mdbox schon Erfahrungen
gesammelt?
Das Feature ist ja neu in 2.0. Aber netterweise bietet diese Version ja
auch die Möglichkeit, verlustfrei zwischen den diversen Formaten
on-the-fly hin und her zu konvertieren.
Post by Franz Georg Koehler
Gerade die Performance bei großen Mailboxen (<20.000 Mails) wäre
interessant.
Ja, das interessiert mich auch. mdbox mit evtl. 1000 Mails pro Datei
könnte schon interessant sein.


--
Sig lost. Core dumped.
Matthias Hanft
2010-11-09 08:44:56 UTC
Permalink
Post by Sven Hartge
Ich glaube fast, das geht gar nicht, weil ADDRESS als Parameter dem
couriertcpd im Init-Script übergeben wird.
Wie erklärt sich dann folgendes: Ich verwende IPv6 derzeit noch nicht
aktiv (nix konfiguriert, nix geroutet etc.), aber seit ich Courier-IMAP
mit "ipv6" compiliert habe (Gentoo Linux), erscheint im mail.log immer
eine IPv6-Adresse, die über diese Konvertierungsregeln (wie heißen die?
6to4? oder 4in6?) erzeugt wurde:

Nov 9 09:35:01 fileserver imapd: LOGIN, user=mh, ip=[::ffff:127.0.0.1], port=[40340], protocol=IMAP

Gestartet wird er mit ADDRESS=0, d.h. er lauscht vermutlich einfach
auf *allen* Adressen, und in

fileserver ~ # netstat -l |grep imap
tcp6 0 0 [::]:imaps [::]:* LISTEN
tcp6 0 0 [::]:imap [::]:* LISTEN

steht gar keine IPv4-Adresse mehr - erreichbar ist er natürlich trotzdem
über IPv4 und zeigt dann eben [::ffff:1.2.3.4] an, wenn die IPv4-Adresse
1.2.3.4 einloggt.

Also zumindest die IPv4-/IPv6-Dualität funktioniert damit anscheinend; es
darf Dich halt nur nicht stören, daß er damit auf _allen_ Adressen lauscht...

Gruß Matthias.
Sven Hartge
2010-11-09 08:50:54 UTC
Permalink
Post by Matthias Hanft
Post by Sven Hartge
Ich glaube fast, das geht gar nicht, weil ADDRESS als Parameter dem
couriertcpd im Init-Script übergeben wird.
Wie erklärt sich dann folgendes: Ich verwende IPv6 derzeit noch nicht
aktiv (nix konfiguriert, nix geroutet etc.), aber seit ich Courier-IMAP
mit "ipv6" compiliert habe (Gentoo Linux), erscheint im mail.log immer
eine IPv6-Adresse, die über diese Konvertierungsregeln (wie heißen die?
Nov 9 09:35:01 fileserver imapd: LOGIN, user=mh, ip=[::ffff:127.0.0.1], port=[40340], protocol=IMAP
Du übergibst ja keine Adresse, d.h. der couriertcpd lauscht an allem,
was verfügbar ist. Das ist etwas anderes, wie Franz Georg haben wollte.
Er wollte, dass sich der couriertcpd an eine bestimmte IPv4 und an eine
bestimmte IPv6 bindet. Und das geht wohl nicht ganz so einfach.
Post by Matthias Hanft
Also zumindest die IPv4-/IPv6-Dualität funktioniert damit anscheinend;
es darf Dich halt nur nicht stören, daß er damit auf _allen_ Adressen
lauscht...
Richtig, aber genau das war ja das Problem.

Nicht, das IPv6 nicht funktionieren würde.


--
Sig lost. Core dumped.
Matthias Hanft
2010-11-09 14:01:31 UTC
Permalink
Post by Sven Hartge
Du übergibst ja keine Adresse, d.h. der couriertcpd lauscht an allem,
was verfügbar ist. Das ist etwas anderes, wie Franz Georg haben wollte.
Er wollte, dass sich der couriertcpd an eine bestimmte IPv4 und an eine
bestimmte IPv6 bindet. Und das geht wohl nicht ganz so einfach.
Da bin ich eben nicht sicher. Er schreibt ja "ich versuche gerade vergeblich,
den Courier IMAPD auf jeweils eine IPV4- und IPV6-Adresse zu binden". Kommt
drauf an, ob er "jeweils genau eine" oder "jeweils mindestens eine" meint.

Ansonsten könnte man ja möglicherweise Verbindungen zu den IMAP-Ports der
unerwünschten IP-Adressen auch anders unterbinden (von außen Firewall,
sonst evtl. iptables, kenne mich da aber auch nicht ernsthaft damit aus).
Außer natürlich, das LISTEN selbst ist schon ein Problem. Da fiele mir
aber spontan kein Grund ein (außer unterschiedliche IMAP-Server-Instanzen
auf unterschiedlichen Adressen lauschen zu lassen - falls das überhaupt
geht und sinnvoll ist).

Gruß Matthias.
Franz Georg Koehler
2010-11-09 15:36:55 UTC
Permalink
Post by Matthias Hanft
Post by Sven Hartge
Du übergibst ja keine Adresse, d.h. der couriertcpd lauscht an allem,
was verfügbar ist. Das ist etwas anderes, wie Franz Georg haben wollte.
Er wollte, dass sich der couriertcpd an eine bestimmte IPv4 und an eine
bestimmte IPv6 bindet. Und das geht wohl nicht ganz so einfach.
Da bin ich eben nicht sicher. Er schreibt ja "ich versuche gerade vergeblich,
den Courier IMAPD auf jeweils eine IPV4- und IPV6-Adresse zu binden". Kommt
drauf an, ob er "jeweils genau eine" oder "jeweils mindestens eine" meint.
Doch, das ist schon richtig.

Der entsprechende Server hat mehrere IP-Adressen für verschiedene
Services und ich wollte nach Möglichkeit den entsprechenden Service nur
an die jeweils zuständige IP binden.
Momentan lauscht der Courier an allen IPs (ADDRESS=0), das funktioniert.
Post by Matthias Hanft
Ansonsten könnte man ja möglicherweise Verbindungen zu den IMAP-Ports der
unerwünschten IP-Adressen auch anders unterbinden (von außen Firewall,
sonst evtl. iptables, kenne mich da aber auch nicht ernsthaft damit aus).
Außer natürlich, das LISTEN selbst ist schon ein Problem. Da fiele mir
aber spontan kein Grund ein (außer unterschiedliche IMAP-Server-Instanzen
auf unterschiedlichen Adressen lauschen zu lassen - falls das überhaupt
geht und sinnvoll ist).
Ist natürlich auch eine Option. Ich wollte allerdings dem Courier direkt
die entsprechenden IPs angeben, da ich alle Setups möglichst simpel
halten und iptables-Regeln auf den Servern nach Möglichkeit vermeiden will.
Es ist nun auch keine Katastrophe, wenn Courier auf den anderen IPs noch
erreichbar ist, es wäre eben nur m.E. "schöner", wenn das nicht der Fall
wäre.



Beste Grüße,

Franz Georg
Matthias Hanft
2010-11-09 16:38:59 UTC
Permalink
Post by Franz Georg Koehler
Es ist nun auch keine Katastrophe, wenn Courier auf den anderen IPs noch
erreichbar ist, es wäre eben nur m.E. "schöner", wenn das nicht der Fall
wäre.
Ok, dann funktioniert der laufende Betrieb ja wenigstens erst mal. Das
mit dem "schön" denke ich mir bei manchen Anwendungen auch manchmal,
aber ich habe das auch nicht immer und überall hinbekommen.

Im Prinzip habe ich Dein Problem ja auch, aber zu einem Umstieg auf
Dovecot konnte ich mich noch nicht durchringen - never change running
systems, und nur "hört auf allen IP-Adressen" wiegt noch nicht schwer
genug :-)

Gruß Matthias.
Robert Grimm
2010-12-08 17:25:15 UTC
Permalink
Post by Sven Hartge
Du übergibst ja keine Adresse, d.h. der couriertcpd lauscht an allem,
was verfügbar ist. Das ist etwas anderes, wie Franz Georg haben wollte.
Er wollte, dass sich der couriertcpd an eine bestimmte IPv4 und an eine
bestimmte IPv6 bindet. Und das geht wohl nicht ganz so einfach.
Nachdem ich jetzt auch so tolle neue ipv6 Adressen habe, habe ich mich
auch an diesen Thread errinnert und muss sagen: doch, das geht so
einfach. Zumindest auf Debian reicht (Beispiel):

# ADDRESS=
PORT=2001:0DB8::100.143,192.168.0.100.143

Rob
--
When they kick at your front door - how you gonna come?
With your hands on your head - or on the trigger of your gun?
-- The Clash "The Guns of Brixton"
Loading...