【问题标题】:Binding MongoDB to IPv6将 MongoDB 绑定到 IPv6
【发布时间】:2015-12-07 09:32:04
【问题描述】:

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

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

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

【问题讨论】:

  • 你确定IP是正确的吗?
  • @malyy 是的。我将它用于 postgres,它可以工作
  • 如果您使用 IPv6 并使用
    : 格式,则必须将地址和端口组合的部分括在括号中(例如 [
    ]),请参阅 docs.mongodb.org/manual/reference/program/mongo
  • @Jaco 你的意思是我应该像这样使用它 --bind_ip 2004:c000:302::2:27017 ?
  • 你需要使用 [2004:c000:302::2] 或 [2004:c000:302::2]:[27017]

标签: mongodb ipv6


【解决方案1】:

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

mongod --dbpath ~/mongoDB --ipv6

【讨论】:

  • 但这并不能解决问题。我仍然无法对 IP 设置约束。
【解决方案2】:

从 v3.0 开始,不需要 --ipv6,默认支持 ipv6,要绑定到特定地址,请在配置文件中用net.bindIp 指定地址,例如:

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

刚刚使用 mongodb v3.4(社区)在 linux 机器(ubuntu 16)上进行了测试:

$ 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 $

【讨论】:

    【解决方案3】:

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

    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/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-20
      • 2015-02-02
      • 1970-01-01
      • 2021-11-15
      相关资源
      最近更新 更多