【问题标题】:Firewalld Configuration on Centos 7.2Centos 7.2 上的防火墙配置
【发布时间】:2016-10-01 21:20:38
【问题描述】:

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

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

firewall-cmd --list-all

结果:

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

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

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

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

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

谢谢。

【问题讨论】:

  • mongd进程使用什么IP?
  • 本地地址:127.0.0.1:27017 国外地址:0.0.0.0:*
  • 对此有何建议?

标签: mongodb centos7 robo3t firewalld


【解决方案1】:

我遇到了同样的问题,但是在 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

【讨论】:

    【解决方案2】:

    在 VPS 支持团队的帮助下,我通过执行以下步骤解决了这个问题:

    执行,

    ss -plnt
    

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

    从结果可以看出 mongod 进程正在监听 27017 端口 only on 127.0.0.1 。为了配置该绑定,编辑 /etc/ 目录中的 mongod.conf 并注释掉该行

    bindIp: 127.0.0.1
    

    重启 mongodb 服务应该一切正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-12
      • 2015-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-24
      • 1970-01-01
      相关资源
      最近更新 更多