【问题标题】:Mongodb no route to host while running mongo on a local machine在本地机器上运行 mongo 时,Mongodb 没有到主机的路由
【发布时间】:2014-07-08 10:35:29
【问题描述】:

我已经按照this 教程和this 教程在本地机器上安装了 MongoDB。我使用了我的本地用户(在所有命令中使用 sudo),然后我这样做了:

sudo service mongod start

上面写着start: Job is already running: mongod。然后当我运行这个命令时

sudo mongo

我明白了

MongoDB 外壳版本:2.6.0 连接到:测试 2014-07-08T12:33:40.360+0200 警告:无法连接到 127.0.0.1:27017,原因:errno:113 没有到主机的路由 2014-07-08T12:33:40.361+0200 错误:无法连接到服务器 127.0.0.1:27017 (127.0.0.1),连接尝试在 src/mongo/shell/mongo.js:146 失败 异常:连接失败

这也是netstat -tpln的输出

(No info could be read for "-p": geteuid()=1000 but you should be root.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp 

   0      0 0.0.0.0:27017           0.0.0.0:*               LISTEN      -

这也是sudo /sbin/iptables -L -n的输出

Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:22
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:80
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:5432
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:8080
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:8443
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:3306
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0            icmptype 255
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
REJECT     all  --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited
ACCEPT     tcp  --  127.0.0.1            0.0.0.0/0            tcp dpt:27017 state NEW,ESTABLISHED
ACCEPT     tcp  --  127.0.0.1            0.0.0.0/0            tcp dpt:27017 state NEW,ESTABLISHED
ACCEPT     tcp  --  127.0.0.1            0.0.0.0/0            tcp dpt:27017 state NEW,ESTABLISHED

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  0.0.0.0/0            127.0.0.1            tcp spt:27017 state ESTABLISHED
ACCEPT     tcp  --  0.0.0.0/0            127.0.0.1            tcp spt:27017 state ESTABLISHED
ACCEPT     tcp  --  0.0.0.0/0            127.0.0.1            tcp spt:27017 state ESTABLISHED

我遵循了几个建议的解决方案,但从未工作过。有什么建议吗?

我遵循了几个建议的解决方案,但从未工作过。有什么建议吗?

【问题讨论】:

  • 首先,你不应该需要sudo 来使用mongo。请将netstat -tpln 的输出添加到您的问题中。
  • @M-T-A 你试过mongo localhost:27017吗?
  • @naimdjon 是的,它也不起作用:(
  • @xlembouras 我也添加了。请看一看。
  • 尝试丢失sudo

标签: mongodb


【解决方案1】:

这很可能是您的发行版中的防火墙问题。根据iptables 的输出,mongod 进程在那里侦听27017 端口,但您需要摆脱此防火墙规则:

REJECT     all  --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

这似乎是问题的原因。要了解它,请刷新 iptables (-F) 中的规则和/或在 ubuntu 中禁用 ufw 可能会解决此问题。

【讨论】:

  • 我在远程连接到 mongodb 时遇到问题。这个提示解决了我的问题,这是由于防火墙问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-12
  • 1970-01-01
  • 2019-03-08
  • 2017-08-03
相关资源
最近更新 更多