最近重装了系统（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配置，出现这种问题让新手很是蒙蔽。。
望大神回复。
} else if (isInvalidLocalHost(hostToRegistry)) {
            throw new IllegalArgumentException("Specified invalid registry ip from property:" + Constants.DUBBO_IP_TO_REGISTRY + ", value:" + hostToRegistry);
        }
        map.put(Constants.REGISTER_IP_KEY, hostToRegistry);
        ref = createProxy(map);
        ApplicationModel.initConsumerModel(getUniqueServiceName(), buildConsumerModel(attributes));
    }
    private ConsumerModel buildConsumerModel(Map<String, Object> attributes) {
        Method[] methods = interfaceClass.getMethods();
        Class serviceInterface = interfaceClass;
        if (interfaceClass == GenericService.class) {
            try {
                serviceInterface = Class.forName(interfaceName);
                methods = serviceInterface.getMethods();
            } catch (ClassNotFoundException e) {
                methods = interfaceClass.getMethods();
            }
        }
        return new ConsumerModel(getUniqueServiceName(), serviceInterface, ref, methods, attributes);
    }
    @SuppressWarnings({"unchecked", "rawtypes", "deprecation"})
    private T createProxy(Map<String, String> map) {
        URL tmpUrl = new URL("temp", "localhost", 0, map);
        final boolean isJvmRefer;
        if (isInjvm() == null) {
            if (url != null && url.length() > 0) { // 
                isJvmRefer = false;
            } else {
                // 
                isJvmRefer = InjvmProtocol.getInjvmProtocol().isInjvmRefer(tmpUrl);