InetAddress.getAllByName() does not work as advertised?
<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>
