将 MongoDB 绑定到 IPv6

Binding MongoDB to IPv6

所有 MongoDB 程序和进程默认禁用 IPv6 支持,我已经尝试使用以下命令绑定 IPv6 但它不起作用:

mongod --dbpath ~/mongoDB --ipv6 --bind_ip 2004:c000:302::2

如何在 MongoDB 中启用 IPv6?以及如何将 MongoDB 绑定到 IPv6?

最后通过删除 --bind_ip 启用 IPv6,如下所示:

mongod --dbpath ~/mongoDB --ipv6

从 v3.0 开始 --ipv6 不是必需的,它默认支持 ipv6,要绑定到特定地址,您可以在配置文件中使用 net.bindIp 指定地址,例如:

  bindIp: 2004:c000:302::2,192.168.0.1

刚刚在 linux 盒子(ubuntu 16)上用 mongodb v3.4(社区)测试了这个:

$ sudo netstat -tulpn Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 192.168.0.1:27017 0.0.0.0:* LISTEN 16440/mongod tcp6 0 0 2004:c000:302::2:27017 :::* LISTEN 16440/mongod tcp6 0 0 :::22 :::* LISTEN 1385/sshd tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1385/sshd $

以下配置指定了对我有用的所需设置:

https://docs.mongodb.com/v2.4/reference/configuration-options/

基本上我所做的更改是在“--config”文件中指定以下内容

bind_ip = 0::0  # I prefer this over :: as it sometimes causes parsing errors
ipv6 = true

[这是2.4格式,新的YAML格式也有类似的设置:https://docs.mongodb.com/manual/reference/configuration-options/