最近重装了系统（Linux系统）后，发现dubbo在注册中心注册的地址为180.168.41.175，介于之前组内其他人也出现过dubbo所获取的IP为180.168.41.175的问题，于是翻了翻源码，找到了获得IP的出处：InetAddress.getLocalHost()。而Java的这个方法依赖于本地的hostname和hosts文件。而我的系统默认的hosts文件中并不存在hostname所对应的记录，结果InetAddress.getLocalHost()就解析成了180.168.41.175。
我看到QA(http://dubbo.io/faq.html) 中有条和我的情况类似的（第17条，说是Dubbo1.0.7以上版本不会出现这个问题，但是我这里出现了，虽然不是127.0.0.1）。
我有个不成熟的小建议，可否优化一下IP获取的方式，让其更加精准；或则增加一个明显一点的配置说明。毕竟不同的Linux发行版有不同的hosts配置，出现这种问题让新手很是蒙蔽。。
望大神回复。
*/
                MetadataReportService metadataReportService = null;
                if ((metadataReportService = getMetadataReportService()) != null) {
                    metadataReportService.publishProvider(url);
                }
            }
        }
        this.urls.add(url);
    }
    @SuppressWarnings({"unchecked", "rawtypes"})
    private void exportLocal(URL url) {
        if (!Constants.LOCAL_PROTOCOL.equalsIgnoreCase(url.getProtocol())) {
            URL local = URL.valueOf(url.toFullString())
                    .setProtocol(Constants.LOCAL_PROTOCOL)
                    .setHost(LOCALHOST_VALUE)
                    .setPort(0);
            Exporter<?> exporter = protocol.export(
                    proxyFactory.getInvoker(ref, (Class) interfaceClass, local));
            exporters.add(exporter);
            logger.info("Export dubbo service " + interfaceClass.getName() + " to local registry");
        }
    }
    protected Class getServiceClass(T ref) {
        return ref.getClass();
    }
    /**
     * Register & bind IP address for service provider, can be configured separately.
     * Configuration priority: environment variables -> java system properties -> host property in config file ->
     * /etc/hosts -> default network address -> first available network address
     *