2017-01-02 215 views
1

目前我無法遠程連接虛擬Ubuntu機器上的mongodb服務器。我無法與運行在我的Windows PC上運行vm的Robomongo客戶端連接。無法遠程連接到mongodb

下面是IP收受方兩個個

的Windows:

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

的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) 

感謝您的幫助提前。

+0

好,'127.0.0.1'不能源地址的主機之外的任何流量。您試圖從回送地址獲取服務器的源地址,而不是可以在服務器主機之外使用的地址。 –

回答

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