title: InetAddress.getAllByName() does not work as advertised?
body: <p>The following snippet returns only a single InetAddress with my hostname and the loopback address 127.0.1.1:</p>
  
  <pre><code>InetAddress[] allAddresses = InetAddress.getAllByName(host);
  assert allAddresses.length == 1;
  assert allAddresses[0].isLoopbackAddress();
  </code></pre>
  
  <p>However, I can find my non-loopback IP like so:</p>
  
  <pre><code>Enumeration&lt;NetworkInterface&gt; networkInterfaces = NetworkInterface.getNetworkInterfaces();
  for (Enumeration&lt;NetworkInterface&gt; e = networkInterfaces; e.hasMoreElements();) {
    NetworkInterface networkInterface = e.nextElement();
    Enumeration&lt;InetAddress&gt; inetAddresses = networkInterface.getInetAddresses();
    for (Enumeration&lt;InetAddress&gt; eAddresses = inetAddresses; eAddresses.hasMoreElements();) {
      InetAddress address = eAddresses.nextElement();
      if (!address.isLoopbackAddress()) {
        return address;
      }
    }
  }
  </code></pre>
  
  <p>In addition, I'm able to resolve my host name to the non-loopback IP using nslookup.</p>
  
  <p>InetAddress.getAllByName() claims "given the name of a host, returns an array of its IP addresses, based on the configured name service on the system." Am I missing a configuration step?</p>