无法远程连接到mongodb

时间:2017-01-02 18:08:41

标签: mongodb ubuntu networking firewall robo3t

目前我无法在虚拟Ubuntu计算机上远程连接mongodb服务器。我无法连接到运行vm的Windows PC上运行的Robomongo客户端。

以下是两个电脑的IP收件人

视窗:

Ethernet adapter Ethernet:
Connection-specific DNS Suffix  . :
IPv4 Address. . . . . . . . . . . : 192.168.1.137
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.1.1

Ubuntu的:

enp0s3 Link encap:Ethernet  HWaddr 08:00:27:6c:fc:9c
      inet addr:192.168.1.134  Bcast:192.168.1.255  Mask:255.255.255.0
      inet6 addr: fe80::9785:55d7:130:6618/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:5021 errors:0 dropped:0 overruns:0 frame:0
      TX packets:465 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:1231057 (1.2 MB)  TX bytes:45237 (45.2 KB)

我在Windows上显示的错误无法连接: enter image description here

显示mongo正在运行的Netstat:

netstat -tulpn | grep 27017
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp        0      0 127.0.0.1:27017         0.0.0.0:*               LISTEN      3611/mongod

从这一点开始,我尝试将本地连接到服务器,它可以正常工作:

mongo --port 27017
MongoDB shell version: 2.6.10
connecting to: 127.0.0.1:27017/test

然后我尝试将端口27017添加到ufw并仍然无法连接:

sudo ufw status
To                         Action      From
--                         ------      ----
27017                      ALLOW       Anywhere                  
27017 (v6)                 ALLOW       Anywhere (v6)

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

发现问题。这是因为我的mongodb.conf中的bind_ip标志被设置为127.0.0.1。这就是为什么我只能在本地连接到mongodb服务器。

解决方法是注释掉bind_ip标志,这样它就不会列出IP地址列表。

Mongodb.conf

# mongodb.conf



# Where to store the data.

dbpath=/home/<username>/mongodb



#where to log

logpath=/home/<username>/mongodb/logs/mongodb.log



logappend=true



#bind_ip = 127.0.0.1

port = 27017



# Enable journaling, http://www.mongodb.org/display/DOCS/Journaling

journal=true



# Enables periodic logging of CPU utilization and I/O wait

#cpu = true



# Turn on/off security.  Off is currently the default

#noauth = true

#auth = true



# Verbose logging output.

#verbose = true



# Inspect all client data for validity on receipt (useful for

# developing drivers)

#objcheck = true



# Enable db quota management

#quota = true



# Set oplogging level where n is

#   0=off (default)

#   1=W

#   2=R

#   3=both

#   7=W+some reads

#oplog = 0



# Diagnostic/debugging option

#nocursors = true



# Ignore query hints

#nohints = true



# Disable the HTTP interface (Defaults to localhost:27018).

#nohttpinterface = true



# Turns off server-side scripting.  This will result in greatly limited

# functionality

#noscripting = true



# Turns off table scans.  Any query that would do a table scan fails.

#notablescan = true



# Disable data file preallocation.

#noprealloc = true



# Specify .ns file size for new databases.

# nssize = <size>



# Accout token for Mongo monitoring server.

#mms-token = <token>



# Server name for Mongo monitoring server.

#mms-name = <server-name>



# Ping interval for Mongo monitoring server.

#mms-interval = <seconds>



# Replication Options



# in replicated mongo databases, specify here whether this is a slave or master

#slave = true

#source = master.example.com

# Slave only: specify a single database to replicate

#only = master.example.com

# or

#master = true

#source = slave.example.com



# Address of a server to pair with.

#pairwith = <server:port>

# Address of arbiter server.

#arbiter = <server:port>

# Automatically resync if slave data is stale

#autoresync

# Custom size for replication operation log.

#oplogSize = <MB>

# Size limit for in-memory storage of op ids.

#opIdMem = <bytes>



# SSL options

# Enable SSL on normal ports

#sslOnNormalPorts = true

# SSL Key file and password

#sslPEMKeyFile = /etc/ssl/mongodb.pem

#sslPEMKeyPassword = pass