connman and nsswitch not working properly

  • LibreELEC 9.0.1 on RaspPi 3+

    (didn't work on 8.2.5 either so I upgraded to 9.0.1)

    updated hosts file via '/storage/.config/hosts.conf' rebooted

    name resolves using DNS provided by DHCP server. It "should" look at the hosts file first per the nsswitch.conf file:

    However, when I try to ping it, I get the DNS IP returned instead of what I set manually...


    Obviously names and IP's have been redacted to protect the innocent. ;)

    I would like to add 127.0.0.1 as a nameserver in my resolv.conf file but it gets overwritten every time I reboot. I'd also like to keep the other three nameservers it gets from DHCP as well.


    Any help on what else I can try or look at to get this thing to resolve the name from the hosts file properly?

    Tried removing the 'r' from connman.service that I saw in another thread for caching DNS but that didn't work for my case.

    TIA!

  • Connman gained the ability to ignore ntp from gateways (e.g. the dns/dhcp service in domestic routers) in these commits which LE includes

    connman/connman.git - Connection Manager

    connman/connman.git - Connection Manager

    connman/connman.git - Connection Manager

    but I recently noticed a typo which means it cannot work:

    connman/connman.git - Connection Manager

    Connman was version bumped to include this and other fixes in our master and 9.0 branches in the last couple of days, so assuming this is related to the issue, it should be resolved [sic] in the next LE update.

  • Thanks vpeter, I have already tried both suggestions with no luck. hosts.conf updates the hosts file correctly after reboot but a nslookup <host> shows it's using DNS for resolution instead of local hosts file. To add nameserver to LibreELEC settings I had to use static instead of DHCP but even though it still bypassed the local hosts file even when I did that. So frustrating...can't figure it out. It "should" work but just doesn't for some bizarre reason.

    Seems no matter what I do it bypasses the hosts file and only uses DNS for name resolution. I have an addon that requires specific name to IP resolution and the DNS my gateway uses (VPN) is not something I have any access to.

  • thanks for the tip mglae, I wasn't familiar with that command. I ran it and get the same results though unfortunately...

    # getent hosts <host1>
    <IP1> host1.subdomain.domain.com host1.com host1.domain.com

    The addon I use doesn't use that command (I believe) to resolve the name so even if it did work I don't think it would solve my problem with the addon reaching a specific IP based on the hostname...

    Going to backup all of my settings and so forth and try rebuilding from scratch...

  • OMG..I'm so freaking embarrassed... I transposed the hosts file and put the host name before the IP....

    I apologize to everyone for my ignorance, once I put the IP first in the hosts.conf file everything worked.

    Might take me awhile to pull my foot out of mouth.