mongodb仅侦听本地主机和lan ip

mongodb仅侦听本地主机和lan ip,mongodb,networking,Mongodb,Networking,我有一个安装了mongodb的Ubuntu服务器。是否可以将mongodb配置为仅使用本地主机及其LAN IP地址连接到它 默认mongo配置适用于使用localhost进行连接: bind_ip = 127.0.0.1 bind_ip = 10.10.10.10 如果更改为LAN IP,则只能使用该IP连接,而不能使用localhost: bind_ip = 127.0.0.1 bind_ip = 10.10.10.10 如果我尝试同时添加这两个选项,则会出现地址正在使用的错误,并且不

我有一个安装了mongodb的Ubuntu服务器。是否可以将mongodb配置为仅使用本地主机及其LAN IP地址连接到它

默认mongo配置适用于使用localhost进行连接:

bind_ip = 127.0.0.1
bind_ip = 10.10.10.10
如果更改为LAN IP,则只能使用该IP连接,而不能使用localhost:

bind_ip = 127.0.0.1
bind_ip = 10.10.10.10
如果我尝试同时添加这两个选项,则会出现
地址正在使用的错误,并且不会启动:

bind_ip = 127.0.0.1, 10.10.10.10
如果我删除bind_ip设置,那么两者都可以工作,但我也可以连接到服务器外部ip(我不需要)


那么,我如何告诉mongo在本地接口上侦听,但允许从本地主机及其LAN IP进行连接呢?

绑定到地址0.0.0.0这将允许它应答,而不管使用的IP地址是什么,甚至在具有多个IP地址不同的网卡的机器上,借助@wdberkeley的注释,我意识到问题在于绑定到的IP地址列表中的后空格。但是,这个问题似乎只影响旧的配置文件格式(而不是YAML)


对。该解决方案的唯一问题是,这意味着服务器也会侦听公共IP。当然,我可以使用防火墙解决这个问题,但我主要想知道是否有任何方法可以配置mongodb,使其按照我希望的方式运行。设置
bind\u ip=localhost,
是正确的mongodb设置。您可以从日志中包含完整的错误消息吗?此外,从配置文件中摘录所有网络设置可能会有所帮助。您使用的是什么版本的MongoDB?这很有趣。我试着用你的建议再次复制错误(只是为了确保)-结果它毫无问题地工作了。。。经过一系列的测试,我意识到了区别所在。注意我文章中逗号后的空格。这就是问题所在。移除空间它的工作方式正是我想要的。有趣。(顺便说一下,这是一个干净的2.6.6安装-没有其他配置更改)。这很不幸,因为我注意到了空间,并试图通过包含额外空间来重现问题。对我来说很好。我现在意识到,诀窍在于您使用的是旧的配置文件格式,而不是新的YAML格式。我使用了YAML格式。很高兴听到问题解决了。