2017-01-02 1 views
1

Actuellement, j'ai des problèmes pour connecter à distance un serveur mongodb sur ma machine virtuelle Ubuntu. Je suis incapable de me connecter avec avec le client Robomongo qui fonctionne sur mon PC Windows qui exécute également le vm.Impossible de se connecter à distance à mongodb

Voici les IP pour les destinataires PC

Fenêtres:

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) 

L'erreur que je reçois sur les fenêtres qui montrent qu'il ne peut pas se connecter: enter image description here

netstat qui montre mongo est en cours d'exécution:

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 

De ce point j'ai essayé de se connecter localement au serveur et cela fonctionne:

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

Alors j'ai essayé d'ajouter le port 27017 à la ufw et encore incapable de se connecter:

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

Merci pour l'aide à l'avance.

+0

Eh bien, '127.0.0.1' ne peut pas être l'adresse de source pour tout le trafic extérieur de l'hôte. Vous essayez de source le serveur à partir de l'adresse de bouclage, pas une adresse qui peut être utilisée en dehors de l'hôte du serveur. –

Répondre

1

a trouvé le problème. Cela était dû au fait que l'indicateur bind_ip dans mon mongodb.conf était 127.0.0.1. C'est pourquoi je ne peux que me connecter localement au serveur mongodb.

La résolution consistait à commenter l'indicateur bind_ip afin qu'il ne liste pas les adresses 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