[Dovecot] Listen on several (but not all) Interfaces

mouss mlist.only at free.fr
Sat Jun 9 00:14:47 EEST 2007


Dominik Schulz wrote:
> Hi,
> I'm using Dovecot 1.0rc15 from Debian stable/etch.
>
> I'd like to have Dovecot listen on more than one interface. It shall
> listen on one IPv4 Interface and on one IPv6 Interface.
> The comments in the sample configuration file say, that it's not
> possible to listen on more than one interface at a time.
> Sadly it's no option to me to listen on all interfaces.
>
> So I'd like to ask if there is a chance that Dovecot will support
> listening on several selected interfaces anytime soon?
>   

The BDS socket bind() only allows one address to be specified (0 meaning 
all IPs on the system). In short, a program that wants to listen on few 
IPs but not all needs to open multiple sockets, and manage them.  This 
adds some complexity because the program needs to know when it should 
read/write from each socket. This is easier in short request protocols 
like HTTP. it is not efficient in connected protocols.

The "common" practice in your case is to run multiple instances of the 
same program. This requires adding startup scripts and config files for 
each instance, but this is a one shot task. and an advantage of this is 
that you can chose completely different config parameters for each 
instance (including a "nice" level).

if your goal is to block access to few IPs, then consider doing this at 
a firewall level instead. if you have a NAT implementation on the 
system, you can even configure dovecot to listen on 127.0.0.1 and use 
your NAT to redirect whatever IPs to dovecot.


More information about the dovecot mailing list