领事代理只能绑定到 127.0.0.1

consul agent could only bind to 127.0.0.1

在 Debian virtualbox VM 上安装 consul 后,我 运行 "consul agent -dev" 启动代理。标准输出看起来不错。

然后我在另一个终端输入 "consul members",发现它正在监听 127.0.0.1:8301 而不是非环回地址。

root@debian02:/home/steven# consul members
Node      Address         Status  Type    Build  Protocol  DC   Segment
debian02  127.0.0.1:8301  alive   server  1.0.1  2         dc1  <all>

我可以 运行 另一个可以侦听所有地址的程序,因此网络配置应该适合 VM。

有什么问题吗?

这是 ip 地址的输出:

root@debian02:/home/steven# ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:9d:a7:7e brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.4/24 brd 10.0.2.255 scope global dynamic enp0s3
       valid_lft 812sec preferred_lft 812sec
    inet6 fe80::a00:27ff:fe9d:a77e/64 scope link 
       valid_lft forever preferred_lft forever

netstat 的输出:

root@debian02:/home/steven# netstat -lntu
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 127.0.0.1:8302          0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:8500          0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:8600          0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:8300          0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:8301          0.0.0.0:*               LISTEN     
tcp6       0      0 ::1:631                 :::*                    LISTEN     
udp        0      0 0.0.0.0:631             0.0.0.0:*                          
udp        0      0 0.0.0.0:5353            0.0.0.0:*                          
udp        0      0 0.0.0.0:1900            0.0.0.0:*                          
udp        0      0 0.0.0.0:47046           0.0.0.0:*                          
udp        0      0 0.0.0.0:68              0.0.0.0:*                          
udp        0      0 127.0.0.1:8301          0.0.0.0:*                          
udp        0      0 127.0.0.1:8302          0.0.0.0:*                          
udp        0      0 127.0.0.1:8600          0.0.0.0:*                          
udp6       0      0 :::52337                :::*                               
udp6       0      0 :::5353                 :::*          

谢谢,

史蒂文

你读过文档了吗? https://www.consul.io/docs/agent/options.html#_client

它会默认绑定到 127.0.0.1 并且它是可变的。你可以使用 0.0.0.0