> > Okay, after some reading and hair pulling, I decided to give it a
> > shot, and made some progress. A few questions, please.
>
> It would be useful to post the outpuf of "postmulti -l" so we know what
> you're talking about.  And then the output of:
>
>     # for i in $(postmulti -l | awk '$3 == "y" {print $1}')
>       do
>         postmulti -i $i -x postconf multi_instance_name inet_interfaces 
> master_service_disable
>       done
>
> which will show the inet_interfaces and disabled services for each
> enabled instance.

I do believe I have made some progress after reading your comments and
working on it further. It's now listening on an external interface
because I believe I adjusted the $default_transport.

# postmulti -l
-               -               y         /etc/postfix
postfix-out     mta             y         /etc/postfix-out
postfix-in      mta             y         /etc/postfix-in

# for i in $(postmulti -l | awk '$3 == "y" {print $1}') ; do postmulti
-i $i -x postconf multi_instance_name inet_interfaces
master_service_disable; done
multi_instance_name =
inet_interfaces = localhost
master_service_disable = inet
multi_instance_name = postfix-out
inet_interfaces = localhost
master_service_disable =
multi_instance_name = postfix-in
inet_interfaces = 209.216.11.114
master_service_disable =

> > Is there a diagram that shows the flow of data from the internet
> > through to the first instance, content filter, then out?
>
> You've just described it.  Can you ask a more specific question?
> Each Postfix instance behaves like a full-blown independent MTA,
> they just happen to run on the same machine.  You can forward
> traffic between them via SMTP.

I should have added to just ask if that assumption was correct.

I may be unclear on the purpose of each. I would have assumed mail
would come in on postfix-in, filtered there, then sent out
postfix-out, but I'm a bit confused after reading some of your
comments below.

I think I'm still unclear about the "Setting up the content-filter
proxy" section - I'm assuming that means amavis in my case. Is this
configured in postfix-in or postfix-out? I interpreted the doc to mean
my amavis/clam/SA processing is done in postfix-out, but your comments
seem to indicate it should be done in postfix-in.

There's also no reference to any changes being necessary to be made in
master.cf for the postfix-in instance. Is that where I should be
incorporating the master.cf changes from my existing one-instance
postfix?

> For any given IP address and TCP port, at most one Postfix instance can
> listen on that IP and port, and if the port is used with a wildcard
> listener, then that generally precludes using it with specific IPs.

Okay, I think I understand. Certainly I understand that only one
process can listen on one port at a time.

> > I have an existing system that uses amavisd, clamav and spamassassin
> > using "content_filter = smtp-amavis:[127.0.0.1]:10024". Just to be
> > sure, this (along with my postscreen and smtpd_recipient_restrictions)
> > goes in postfix-in, correct?
>
> With multiple instances one you don't actually need a "content_filter",
> you can instead arrange for the transport table and/or local_transport,
> virtual_transport, relay_transport, default_transport (whichever are
> applicable) to hand mail off to the filter port.  But you can continue
> to use content_filter if you like.

I currently have a transport map set up in the form:

domain.com     smtp:1.2.3.4
.domain.com    smtp:1.2.3.4

(as a side-note, should it be "smtp:[1.2.3.4]" or is that just to
prevent DNS lookups, I think?)

This would be defined as:
transport_maps = hash:/etc/postfix/transport

There is no local delivery in this case, so I would think no
local_transport - any local delivery is handled by the null instance,
right?

I also have a virtual map set up as:
virtual_alias_maps = hash:/etc/postfix/virtual,
hash:/etc/postfix/virtual-segtravel

Would you also confirm where I should be putting my postscreen,
smtpd_helo_restrictions and smtpd_recipient_restrictions? Also in
postfix-out?

> > I don't understand what this from the MULTI_INSTANCE doc is for. Under
> > what circumstances do I need this? Should this instead be the
> > smtp-amavis service from my master.cf? Should I be able to drop in my
> > existing master.cf to use in postfix-in?
>
> Pretend you have 3 separate machines, one running "postfix-in", a
> second running amavis, and a third running "postfix-out".  Just
> arrange to pass mail through all three in the right sequence.

I thought the third instance included the null instance documented at
the top of the doc. I'm confused :-(

> >     # Replace default "smtp inet" entry with one listening on port 10026.
> >     127.0.0.1:10026     inet  n       -       n       -       -       smtpd
>
> Post-amavis mail would typically be received by postfix-out.

That makes sense and is currently set up in that way.

Reply via email to