Centos 7.2上的Firewalld配置

时间:2016-06-02 08:40:21

标签: mongodb centos7 robo3t firewalld

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

我在服务器上启用了 firewalld ,并为 27017 端口添加了例外。

firewall-cmd --list-all

结果:

Result:

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

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

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

我得到了一个" "来自系统。但是当我尝试通过Robomongo连接或通过像http://ping.eu/port-chk/这样的端口检查服务查询端口时,我得到了否定的结果。

你对我的案子有什么建议吗?

谢谢。

2 个答案:

答案 0 :(得分:3)

我有同样的问题,但在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:Entry并添加了bindIpAll:true

net:
  port: 27017
  bindIpAll: true

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

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

默认为:

net:
  port: 27017
  bindIp: 127.0.0.1

这意味着mongodb只侦听localhost

答案 1 :(得分:1)

我能够通过执行以下步骤在VPS支持团队的帮助下解决问题:

执行,

ss -plnt

查看套接字统计信息。我的输出如下:

Socket Statistics

从结果中可以看出 mongod 进程仅在127.0.0.1 上侦听 27017 端口。要配置该绑定,请编辑 / etc / 目录中的 mongod.conf 并注释掉该行

bindIp: 127.0.0.1

重启mongodb服务,一切都会好的。