rpcbind.socket failed to listen on sockets: Address family not supported by protocol

I got this error the other day while working on Red Hat Enterprise Linux 7.3 and after digging for a while I got to know there is a sort of a BUG in RHEL 7.3.

Error:

rpcbind service fails to start with below error message in /var/log/messages

rpcbind.socket failed to listen on sockets: Address family not supported by protocol

Analysis:

I found a BUG reported for this issue and I was facing the exact one.
https://bugzilla.redhat.com/show_bug.cgi?id=1402961

As explained by one of the engineers on the above page
"The problem is that if you disable ipv6 n sysctl.conf, it is not disabled from the beginning of the boot, but actually quite late in the boot process. Meanwhile systemd found out that ipv6 is enabled and scheduled a start of a socket, that would listen on ipv6."
Just to summarise if you have disabled ipv6 using your sysctl configurations then it is disabled only on kernel level but not via GRUB so it is not disabled completely hence systemd will attempt to make a connection on port 111 on any ipv6 address, [::]:111 during the boot up.

To know more on how to disable ipv6 follow below link

How to disable or enable ipv6 in Linux

Solution:

Rebuild the GRUB after disabling the IPv6 on your red hat node and perform a reboot for the OS to load from the updated GRUB.

You must have disabled ipv6 using
net.ipv6.conf.all.disable_ipv6 = 1 in /etc/sysctl.conf
hence after this execute to rebuild the initramfs.
# dracut -v -f
It is necessary to rebuild the initramfs when ever there are modifications made to /etc/sysctl.conf

Next reboot the node for the changes to affect and then attempt to start rpcbind service.
# systemctl start rpcbind

I hope the article was useful.

Leave a Comment

close button