On Sat, Jun 18, 2022 at 06:44:55PM -0600, James Feeney wrote:
> Running postfix on Linux in a Network Namespace, and then running
> postfix sendmail from "outside" that Network Namespace, gives an
> error:
>
> postfix/sendmail[606899]: fatal: parameter inet_interfaces: no local
> interface found for <network_namespace_interface_IP_address>
The common Postfix initialisation code that consumes main.cf and sets
the core parameter values also initialises "inet_interfaces". Sure,
sendmail does not generally do much with this setting, but you could
then set "inet_interfaces = loopback-only" if nothing else suitable
is available.
> Obviously postfix sendmail is communicating with postfix running in
> the network namespace, but why is postfix sendmail then looking for an
> IP interface address "inside" the network namespace, instead of simply
> passing the message to postdrop, as shown in the diagram?
The sendmail(1) program runs into the issue while performing basic
common initialisation that, includes among other things, setting up
inet_interfaces.
> Is postfix sendmail actually running over network layer 3 IP?
No. It is mostly just a wrapper around postdrop(1). Though its
emulation of some other Sendmail features includes
- Starting postfix: "sendmail -bd" or "sendmail -bl"
- Receving SMTP messages: "sendmail -bs"
The first is implemented by executing "postfix start", so there's no
network use directly in sendmail(1) itself.
The second is implemented by executing "smtpd -S", so again there's
no network use directly in sendmail(1).
--
Viktor.