2017-08-08 146 views
0

我试图解决这个问题几个小时了,我不知道为什么它不工作。我设置了mongod无法远程连接到MongoDB(即使bindIp未设置)

mongod --dbpath /some/path 

因此bind_ip没有设置(mongod正在监听所有接口)。 我将所有的iptables的政策接受并刷新所有规则(所以我可以肯定的iptables不会阻止任何东西) - iptables的-S:

-P INPUT ACCEPT 
-P FORWARD ACCEPT 
-P OUTPUT ACCEPT 
-N DOCKER 
-N DOCKER-ISOLATION 
-N FORWARD_IN_ZONES 
-N FORWARD_IN_ZONES_SOURCE 
-N FORWARD_OUT_ZONES 
-N FORWARD_OUT_ZONES_SOURCE 
-N FORWARD_direct 
-N FWDI_public 
-N FWDI_public_allow 
-N FWDI_public_deny 
-N FWDI_public_log 
-N FWDO_public 
-N FWDO_public_allow 
-N FWDO_public_deny 
-N FWDO_public_log 
-N INPUT_ZONES 
-N INPUT_ZONES_SOURCE 
-N INPUT_direct 
-N IN_public 
-N IN_public_allow 
-N IN_public_deny 
-N IN_public_log 
-N OUTPUT_direct 

我再三地检查了我的服务器的公网IP,它的100%正确。但无论我做什么,当我尝试连接从我的本地机器一起MONGO:

mongo <servers_ip> 

我得到

MongoDB shell version: 2.6.11 
connecting to: servers_ip/test 
2017-08-08T18:18:30.689+0200 warning: Failed to connect to servers_ip:27017, reason: errno:113 No route to host 
2017-08-08T18:18:30.690+0200 Error: couldn't connect to server servers_ip:27017 (servers_ip), connection attempt failed at src/mongo/shell/mongo.js:148 
exception: connect failed 

没有人有任何想法还有什么我可以做,以使这项工作?编辑: netstat -tanp的输出| grep mongod:

tcp  0  0 0.0.0.0:27017   0.0.0.0:*    LISTEN  4302/mongod
+1

服务器是否可以通过端口“27017”访问?也许端口不是由路由器转发的。 – nadavvadan

+0

请添加'netstat -tanp |的输出grep mongod' –

+0

@MarkusWMahlberg编辑 –

回答

0

好吧,所以从我这边看来,一切都很好。这是我的VPS提供商 - OVH - 阻止了端口,我无法对此做任何事情,但将mongod端口更改为更低的值。感谢@nadavvadan的建议。

+0

很高兴你已经设法修复它。 – nadavvadan