12

对于 mongoDB 4.0.3,无法在 bindIp 中添加多个 ip

以下配置适用于本地主机

net:
   port:27017
   bindIp:127.0.0.1

以下适用于从其他 ip 登录:

net:
       port:27017
       bindIp:0.0.0.0

以下不起作用

   bindIp:127.0.0.1 10.0.0.10
   bindIp:127.0.0.1,10.0.0.10
   bindIp:"127.0.0.1,10.0.0.10"
   bindIp:"127.0.0.1 10.0.0.10"
   bindIp:[127.0.0.1,10.0.0.10]
   bindIp:[127.0.0.1, 10.0.0.10]

0.0.0.0 或 127.0.0.1 以外的任何 ip 都会导致 bindIP 出错

如果我尝试以下:

bindIp:10.0.0.10
ERROR: child process failed, exited with error number 48

这个MongoDB Doc没有帮助

任何帮助将不胜感激。

4

3 回答 3

6

利用 ; 我在 Mongo 4.2.2 版本中使用

 net:
   port: 27017
   bindIp: 127.0.0.1;10.0.1.149
于 2021-02-12T16:57:07.710 回答
6

您链接的文档实际上确实对此有答案。如果你去这里,你会看到指示:

要绑定到多个地址,请输入逗号分隔值的列表。

例子

本地主机,/tmp/mongod.sock

我在我的环境中应用了这个,可以看到 mongod 正在侦听本地和指定的 IP。

root@aqi-backup:~# netstat -pano | grep 27017
tcp        0      0 10.0.1.149:27017        0.0.0.0:*               LISTEN      12541/mongod         off (0.00/0/0)
tcp        0      0 127.0.0.1:27017         0.0.0.0:*               LISTEN      12541/mongod         off (0.00/0/0)

这是我的 mongod.conf 文件(相关部分)。

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1,10.0.1.149
于 2018-10-25T18:16:31.217 回答
1

我发现的唯一方法是在 MongoDB 上对所有人开放,并通过防火墙控制 IP 到特定的 ip。网络:端口:27017 bindIp:0.0.0.0

于 2021-01-20T18:57:06.880 回答