2013-12-09 12 views
14

Voglio configurare MongoDB per consentire le connessioni remote da un indirizzo IP esterno come 66.31.123.123.MongoDB errore bind_ip: bind() non è riuscito errno: 99 Impossibile assegnare l'indirizzo richiesto per la presa

L'impostazione 0.0.0.0 a bind_ip funziona, ma desidero essere più restrittivo e consentire solo a determinati indirizzi IP di connettersi. I allegata 66.31.123.123 alla lista bind_ip ma MongoDB genera un errore di seguito:

mongodb.conf

bind_ip = 127.0.0.1,66.31.123.123 
port = 27017 

auth = true 

tronchi mongodb

Mon Dec 9 03:25:59 [initandlisten] ERROR: listen(): bind() failed errno:99 Cannot assign requested address for socket: 66.31.123.123:27017 

Domanda: Perché l'aggiunta di un esterno ip non funziona? Se viene utilizzato auth=true, è sufficiente utilizzare lo 0.0.0.0 come bind_ip? Il mongodb sarà localmente accessibile da un'app Meteor.js.

+6

'bind_ip' racconta mongod (o Mongos) quale indirizzo di legarsi a un'interfaccia di rete, non sarà filtrata del IP di qualsiasi connessione in entrata. –

risposta

15

Come ha detto guido, il bind_ip è per il proprio indirizzo IP del server mongo.

L'autenticazione è una buona idea, ma solo affidarsi ad auth ti apre ad un attacco di forza bruta.

È possibile bind_ip = 0.0.0.0 e utilizzare un firewall per bloccare tutte le connessioni in ingresso alla porta 27017, a meno che non provenga da 66.31.123.123.

Un'altra preoccupazione è la vicinanza del server di meteore al server di Mongo - è su una rete privata o attraverso rete pubblica. Se è pubblico, è necessario specificare recompile mongodb to support SSL oppure tunnel your mongodb connection through SSH.

Se si decide di tunnel, bind_ip a 127.0.0.1 e lasciare fuori in arrivo 27017.

Problemi correlati