Commit e9eff470 authored by Alyssa Ross's avatar Alyssa Ross
Browse files

nixos/networking: don't add extra names to ::1

From hosts(5):

> For each host a single line should be present with the following
> information:
>
>               IP_address canonical_hostname [aliases...]

With lines like "::1 localhost ahost.adomin ahost", we were saying
that the canonical name for "ahost" was "localhost", the opposite of a
canonical name.  This is why a second loopback address (127.0.0.2) is
used for hostnames with IPv4 — if they were put after "localhost" on
the 127.0.0.1 line, the same thing would happen.  With IPv6 we can't
do the same thing as there's only a single loopback address, so
instead the right thing to do is to simply not list the hostnames in
/etc/hosts, and rely on the myhostname NSS plugin, which will handle
this correctly.

(Note that the examples in hosts(5) also do not include IPv6 FQDN or
hostname entries.)
parent 4c43880b
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -163,8 +163,6 @@ in
        ++ lib.optional (cfg.hostName != "") cfg.hostName; # Then the hostname (without the domain)
    in {
      "127.0.0.2" = hostnames;
    } // lib.optionalAttrs cfg.enableIPv6 {
      "::1" = hostnames;
    };

    networking.hostFiles = let
+2 −0
Original line number Diff line number Diff line
@@ -62,6 +62,8 @@ let
            fqdn_and_host_name
            == machine.succeed("getent hosts 127.0.0.2 | awk '{print $2,$3}'").strip()
        )

        assert "${fqdn}" == machine.succeed("getent hosts ${hostName} | awk '{print $2}'").strip()
      '';
    };