Postfix not run - interface not found for ::1

postfix version 3.3.1-lp151.2.3.1
(be nice if the guys maintaining postfix put in a “–version” parm, I had to look this up in software management)

I have found references to various tweaks to /etc/postfix/main.cf. Nothing helped at all. Changes to “myhostname”, “mydomain”, “inet_interfaces” seem to have no affect on this problem. Tweaking /etc/hosts and /etc/hostname similarly did not help. I am starting from an upgrade using “dup” from 14.1, 14.2 to 15.1; I have never run postfix before and have not previously monkeyed with “main.cf”.

Standard MAPI email with T-bird and browsing works fine (cabled);
network printer works fine over wifi from the router;
tried enabling and disabling IP6; (Yast warms me that my using NetworkManager blocks some of its(Yast’s) functions, but checking back after
changes to the IP6 options show it “sticking”.

IOW, I see no obvious problems or solutions.

This is output from executing postfix directly:

PinkOfc:/home/rufus # postfix
postfix: warning: /etc/postfix/main.cf, line 696: overriding earlier entry: inet_interfaces=all
postfix: fatal: parameter inet_interfaces: no local interface found for ::1

This is output using systemctl:

PinkOfc:/home/rufus # systemctl status postfix.service
● postfix.service - Postfix Mail Transport Agent
   Loaded: loaded (/usr/lib/systemd/system/postfix.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Fri 2019-08-09 08:23:01 CDT; 50min ago
  Process: 3556 ExecStopPost=/etc/postfix/system/cond_slp deregister (code=exited, status=0/SUCCESS)
  Process: 3473 ExecStart=/usr/sbin/postfix start (code=exited, status=1/FAILURE)
      CPU: 187ms

Aug 09 08:22:58 PinkOfc.BigGrey update_postmaps[1392]: postalias: fatal: parameter inet_interfaces: no local interface found for ::1
Aug 09 08:22:58 PinkOfc.BigGrey postfix/postalias[3472]: fatal: parameter inet_interfaces: no local interface found for ::1
Aug 09 08:22:59 PinkOfc.BigGrey postfix[3473]: warning: /etc/postfix/main.cf, line 696: overriding earlier entry: inet_interfaces=all
Aug 09 08:22:59 PinkOfc.BigGrey postfix[3473]: fatal: parameter inet_interfaces: no local interface found for ::1
Aug 09 08:23:00 PinkOfc.BigGrey systemd[1]: postfix.service: Control process exited, code=exited status=1
Aug 09 08:23:00 PinkOfc.BigGrey cond_slp[3556]: /usr/sbin/postconf: warning: /etc/postfix/main.cf, line 696: overriding earlier entr>
Aug 09 08:23:00 PinkOfc.BigGrey cond_slp[3556]: /usr/sbin/postconf: fatal: parameter inet_interfaces: no local interface found for :>
Aug 09 08:23:01 PinkOfc.BigGrey systemd[1]: Failed to start Postfix Mail Transport Agent.
Aug 09 08:23:01 PinkOfc.BigGrey systemd[1]: postfix.service: Unit entered failed state.
Aug 09 08:23:01 PinkOfc.BigGrey systemd[1]: postfix.service: Failed with result 'exit-code'.

All the references to this problem I have found say mess with the “main.cf”. Done that. Would appreciate help.

Thanks,
Rufus

Hi
A simple fix if your not running ipv6, just edit the line in main.cf (around line 706);


inet_interfaces=all

to

inet_interfaces=ipv4

postfix installation is straight forward, but updating earlier configurations can be daunting. Thus I suggest to do a fresh install. Watch for changed files:

erlangen:~ # rpm -V postfix
S.5....T.  c /etc/postfix/main.cf
S.5....T.  c /etc/postfix/master.cf
S.5....T.  c /etc/postfix/sasl_passwd
S.5....T.  c /etc/postfix/sender_canonical
S.5....T.  c /etc/postfix/virtual
erlangen:~ # 

Delete postfix and all configuration files. Then reinstall and configure with YaST. To my experience this always works.

Malcolm

Thx for your prompt reply. I tried that and, unfortunately, is doesn’t change anything. Postfix won’t run, errors the same.

Karl

I’ll try R&R Postfix this weekend. Do you have any particular files in mind I should delete? I don’t know anything about this package. Obviously, /etc/postfix; but do you recall any other files? Are there suse configuration files that a postfix installation would have changed? Does postfix mess with /etc/hosts or any such files? Really don’t have a clue where all the tentacles lie. I’ll try as clean a remove/replace as I can and see what happens.

Thanks
Rufus

Hi
It’s the only thing that should need changing in the main.cf, as well as disabling ipv6 system wide if your not using ipv6.

Macolm

I used Yast to set ipv6 to “disabled” (after changing to Wicked and rebooting, since Yast disclaimed about not being able to control some options when NetworkManager is used). Edited main.cf; the other similar parms shown in that file have spaces around the “=” sign and I used that same syntax. Unless postfix is picky about it’s configuration syntax, I believe the parms are set as you indicated.

I wonder if it’s running off some other config file somewhere? Almost looks like that because nothing I have changed in the main.cf file has changed anything in the error messages. Oh well. Not going to worry about it until I’ve tried the R&R. Likely quicker that way.

Oh my. Thinking got me. Is there a parm in some file somewhere, or on line that starts postfix, that can point postfix to different config files? Well, I’ll look through the man page if I get that curious.

Cheers,
Rufus

Hi
It is picky… so that is the only change to main.cf now? Any other changes should be reverted to the default.

The disabling entry for ipv6 is in /etc/sysctl.conf and should be;


net.ipv6.conf.all.disable_ipv6 = 1

Just a few remarks:

  • postfix does not tinker with other configuration files, but it does complain with others tinkering with those files
  • Critical files are main.cf and master.cf. postfix maintains copies at /var/adm/backup/postfix
  • Turning off ipv6 causes lot of local problems with applications relying on it being there. You may have ipv6 enabled and disable it on a link basis only: https://en.opensuse.org/Systemd-networkd#Disabling_IPv6
  • Configuration files in /etc are treated in a special way. Upon install existing old versions modified prevent updating to a new version. So remove all
    files. Double check! - Beware of these:

erlangen:~ # rpmconfigcheck
Searching for unresolved configuration files
Please check the following files (see /var/adm/rpmconfigcheck):
    /etc/postfix/main.cf.rpmnew
    /etc/postfix/master.cf.rpmnew
    /etc/postfix/virtual.rpmnew
    /etc/pulse/client.conf.d/50-system.conf.rpmsave
erlangen:~ #

Malcolm

I checked the sysctl.conf file and the ipv6 parm was set disabled as per your example. Yast appears to working, doing as expected.

I changed the inet… parm in the main.cf file to remove spaces and make it like your example. No joy.

Karl

Thanks for that config file comment. Since I have no previous direct use of postfix, and thus, as far as I know, no local settings of my own to save, I will just get rid of all those files and the postfix directory before reinstalling.

However, I do have a Q which I guess I’ll find out the hard way: What’s the problem with ipv6? There s/b no problem, right? At least regarding postfix. (I have read last year that there was/is a gaping ipv6 security hole which led to recommendations to turn it off if I don’t actually require it. It’s been a while, don’t recall details very well, but I think the hole may have related to use of VPN’s, subverting their hoped for security value.)

Thank you both for your help. I’ll report back, but it’s pretty busy here at the moment, might be a few days.

Regards,
Rufus

There is some basic reading: https://thebestvpn.com/ipv4-vs-ipv6/

Should You Use IPv6?

Now that you’ve seen some of the benefits of IPv6 and how widespread it’s available, you might be wondering if you should use it. In short, yes, you should. The more widespread the adoption of the new technology, the better. If your ISP offers it, and you have a router capable of supporting it, it’s a good idea to turn it on.

IPv6 and VPNs

We’re all about VPNs here, so of course we’re going to talk about IPv6 and VPNs. If you’ve done much research on VPNs, you might have noticed that many providers disable IPv6 traffic over their VPN. This is because many VPN providers haven’t yet updated their servers and software to accommodate the new standard.

How to Turn IPv6 Off

If you’d rather not use IPv6 (and we recommend not using it if your VPN can’t protect your traffic), you can simply tell your computer not to use it.

Hi
It’s all off here and will be for the foreseeable future :wink: It’s the extra overhead, two lots of dns lookups, two extra clients running, two firewall rules… two of everything… and twice the chance of creating issue… as seen here…

@rlaggren

Can you check your /etc/hosts file, does the following entry exist?


# special IPv6 addresses
::1             localhost ipv6-localhost ipv6-loopback

If not, add it…

I don’t agree. Installed Arch Linux a week ago and went with both ipv4 and ipv6 manual configuration:

erlangen:~ # cat /ArchLinux/etc/hosts
127.0.0.1       localhost
::1             localhost
192.168.178.2   erlangen.fritz.box      erlangen
erlangen:~ # 

erlangen:~ # cat /ArchLinux/etc/resolv.conf 
nameserver 192.168.178.1
erlangen:~ # 
erlangen:~ # cat /ArchLinux/etc/systemd/network/20-wired.network 
[Match]
Name=enp0s31f6
[Network]
Address=192.168.178.2/24
Gateway=192.168.178.1
erlangen:~ # 

Disabled NetworkManager and enabled systemd-networkd. Done.