mongodb - Centos 7.2 上的防火墙配置

标签 mongodb centos7 robo3t firewalld

我已经在我的 CentOS 7.2 VPS 上安装了 MongoDB 并尝试从我的客户端通过 Robomongo 访问数据库。但是,当我尝试从 27017 端口连接服务器时,出现“网络无法访问”错误。

我已经在服务器上启用了firewalld 并为27017 端口添加了一个异常(exception)。

firewall-cmd --list-all

结果:

Result:

我在永久添加异常并通过 --reload 重新加载 firewalld 后得到了这个结果。

当我使用以下方式查询端口时:

firewall-cmd --query-port=27017/tcp

我从系统得到“”。但是,当我尝试通过 Robomongo 连接或通过类似 http://ping.eu/port-chk/ 的端口检查服务查询端口时我得到一个否定的结果。

您对我的案例有什么建议吗?

谢谢。

最佳答案

我有同样的问题,但在 Centos 7 Vm 中运行 mongod。

首先我必须用 firewall-cmd 打开 mongodb 端口:

 sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent

 sudo firewall-cmd --reload

然后我必须更改/etc/mongodb.conf 中的网络配置条目 另见:https://docs.mongodb.com/manual/reference/configuration-options/#net-options

我删除了 bindIp: 条目并添加了 bindIpAll: true

net:
  port: 27017
  bindIpAll: true

使用bindIp:根据文档需要输入:

mongos 和 mongod 应该监听客户端连接的 IP 地址和/或完整的 Unix 域套接字路径。您可以将 mongos 和 mongod 附加到任何接口(interface)。要绑定(bind)到多个地址,请输入逗号分隔值列表

默认是:

net:
  port: 27017
  bindIp: 127.0.0.1

这意味着 mongodb 只监听 localhost

关于mongodb - Centos 7.2 上的防火墙配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37586751/

相关文章:

mongodb - Robomongo 与 Meteor 的连接 mongodb

Mongodb查询返回字段值

javascript - 如何使用单个批处理文件或 javascript 导入或导出多个 mongo 集合

javascript - 对内部文档 mongodb 进行排序的 mapreduce

mongodb - mongo-connector 启动失败,出现以下错误 :

linux - 如何更改 Linux 中的组所有权?

python - 网络驱动程序异常 : Message: unknown error: Chrome failed to start: crashed

node.js - 停止防止应用程序终止的 Mongoose 连接

node.js - 在 mongodb 上每个集合使用多个模式

c# - Linux 单声道 C# 错误 : Cannot open assembly 'Bovine.csproj' : File does not contain a valid CIL image