Nacos 2.x 系列【18】多网卡 IP 配置
2025-03-18 09:08 ly772186472 阅读(556) 评论(0) 收藏 举报1. 前言
个人电脑或者服务器,存在多网卡环境时,Nacos 可能会存在IP不正确问题。
2. 服务端
Nacos 服务在启动的时候需要选择运行时使用的IP或者网卡,在启动时,可以看到打印了IP:

多网卡环境下,Nacos获取IP参考Spring Cloud设计,通过nacos.inetutils参数,可以指定使用的网卡和IP地址,在nacos\conf\application.properties配置文件中,可以看到支持的配置参数:
#*************** Network Related Configurations ***************# ### If prefer hostname over ip for Nacos server addresses in cluster.conf: # nacos.inetutils.prefer-hostname-over-ip=false ### Specify local server's IP: # nacos.inetutils.ip-address=
nacos.inetutils.prefer-hostname-over-ip 用于配置cluster.conf 里是否应该填 hostname ,nacos.inetutils.ip-address 直接配置 Nacos 的IP,示例:
nacos.inetutils.ip-address=10.11.105.155
重新启动查看控制台:

此外还支持其他配置,比如 nacos.inetutils.use-only-site-local-interfaces 参数可以让 Nacos 使用局域网 IP ,这个在 Nacos 部署的机器有多网卡时很有用:
nacos.inetutils.use-only-site-local-interfaces=true
nacos.inetutils.ignored-interfaces 支持配置网卡数组,可以让 Nacos 忽略多个网卡:
nacos.inetutils.ignored-interfaces[0]=eth0 nacos.inetutils.ignored-interfaces[1]=eth1
nacos.inetutils.preferred-networks 参数可以让 Nacos 优先选择匹配的 IP ,支持正则匹配和前缀匹配:
nacos.inetutils.preferred-networks[0]=30.5.124.
nacos.inetutils.preferred-networks[0]=30.5.124.(25[0-5]|2[0-4]\\d|((1d{2})|([1-9]?\\d))),30.5.124.(25[0-5]|2[0-4]\\d|((1d{2})|([1-9]?\\d)))
3. 客户端
在使用 API 或者 SDK 直接注册时,可以指定服务实例的 IP ,服务之间可以 IP 进行调用,在使用 Spring Cloud 时, Nacos 会自动注册实例 IP ,例如:

自动注册的实例 IP ,在多网卡环境下,获取的可能不是你想到的地址,这时可以使用 spring.cloud.nacos.discovery.ip 指定注册的 IP 地址:
spring:
  cloud:
    nacos:
      # 服务发现
      discovery:
        # 命名空间
        namespace: 0faa0970-1179-4143-8aa2-cac3ee6b42ec
        # 服务端地址,默认:127.0.0.1:8848
        server-addr: 192.168.7.63:8848
        # 注册的 IP 地址
        ip: 192.168.6.93
重新注册,查看IP :

                    
                
                
            
        
浙公网安备 33010602011771号