Problema con bind_ip en mongodb mon Virtualbox

Problema con bind_ip en mongodb mon Virtualbox

He estado luchando con mongo bind IP por un tiempo, creo que este es el momento de pedir ayuda. Estoy usando una red de solo host 192.168.56.0/24. Tengo 4 cajas. 3 cajas para mongo 192.168.56.111,192.168.56.112,192.168.56.113. y un cuadro para la aplicación 192.168.56.114.

Entonces, para mongo bind el parámetro es:bind_ip =127.0.0.1,192.168.56.114,192.168.56.113,192.168.56.112,192.168.56.111,10.0.2.1

2015-08-22T12:35:44.547+0000 E NETWORK  [initandlisten] listen(): bind() failed errno:99 Cannot assign requested address for socket: 192.168.56.114:27017
2015-08-22T12:35:44.553+0000 I JOURNAL  [initandlisten] journal dir=/var/lib/mongodb/journal
2015-08-22T12:35:44.554+0000 I JOURNAL  [initandlisten] recover : no journal files present, no recovery needed
2015-08-22T12:35:44.623+0000 I JOURNAL  [durability] Durability thread started
2015-08-22T12:35:44.624+0000 I JOURNAL  [journal writer] Journal writer thread started
2015-08-22T12:35:44.624+0000 I CONTROL  [initandlisten] MongoDB starting : pid=3519 port=27017 dbpath=/var/lib/mongodb 64-bit host=vagrant-ubuntu-trusty-64
2015-08-22T12:35:44.625+0000 I CONTROL  [initandlisten] db version v3.0.5
2015-08-22T12:35:44.625+0000 I CONTROL  [initandlisten] git version: 8bc4ae20708dbb493cb09338d9e7be6698e4a3a3
2015-08-22T12:35:44.625+0000 I CONTROL  [initandlisten] build info: Linux ip-10-183-35-50 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64 BOOST_LIB_VERSION=1_49
2015-08-22T12:35:44.625+0000 I CONTROL  [initandlisten] allocator: tcmalloc
2015-08-22T12:35:44.626+0000 I CONTROL  [initandlisten] options: { config: "/etc/mongod.conf", net: { bindIp: "127.0.0.1,192.168.56.114,192.168.56.113,192.168.56.112,192.168.56.111,10.0.2.15", port: 27017 }, storage: { dbPath: "/var/lib/mongodb" }, systemLog: { destination: "file", logAppend: true, path: "/var/log/mongodb/mongod.log" } }
2015-08-22T12:35:44.631+0000 I CONTROL  [initandlisten] now exiting
2015-08-22T12:35:44.631+0000 I NETWORK  [initandlisten] shutdown: going to close listening sockets...
2015-08-22T12:35:44.632+0000 I NETWORK  [initandlisten] removing socket file: /tmp/mongodb-27017.sock
2015-08-22T12:35:44.632+0000 I NETWORK  [initandlisten] shutdown: going to flush diaglog...
2015-08-22T12:35:44.632+0000 I NETWORK  [initandlisten] shutdown: going to close sockets...
2015-08-22T12:35:44.632+0000 I STORAGE  [initandlisten] shutdown: waiting for fs preallocator...
2015-08-22T12:35:44.632+0000 I STORAGE  [initandlisten] shutdown: final commit...
2015-08-22T12:35:44.635+0000 I JOURNAL  [initandlisten] journalCleanup...
2015-08-22T12:35:44.635+0000 I JOURNAL  [initandlisten] removeJournalFiles
2015-08-22T12:35:44.636+0000 I JOURNAL  [initandlisten] Terminating durability thread ...
2015-08-22T12:35:44.735+0000 I JOURNAL  [journal writer] Journal writer thread stopped
2015-08-22T12:35:44.736+0000 I JOURNAL  [durability] Durability thread stopped
2015-08-22T12:35:44.736+0000 I STORAGE  [initandlisten] shutdown: closing all files...
2015-08-22T12:35:44.736+0000 I STORAGE  [initandlisten] closeAllFiles() finished
2015-08-22T12:35:44.737+0000 I STORAGE  [initandlisten] shutdown: removing fs lock...
2015-08-22T12:35:44.737+0000 I CONTROL  [initandlisten] dbexit:  rc: 48

Realmente no veo qué hay de malo en ninguna otra IP. Aparte del loopback, la propia IP y 0.0.0.0/0, todas las demás IP no pueden iniciar mongodb.

Respuesta1

la bind_ipdirectivaestá destinado a especificar las direcciones IPen ese mismo sistemaal que MongoDB escucha las conexiones,noDirecciones IP desde las que recibe conexiones.

Establezca esta opción para configurar el proceso mongod o mongos para vincularse y escuchar conexiones desde aplicaciones en esta dirección. Puede adjuntar instancias de mongod o mongos a cualquier interfaz; sin embargo, si adjunta el proceso a una interfaz de acceso público, implemente restricciones de firewall o autenticación adecuadas para proteger la integridad de su base de datos.

Por lo tanto, debería estar ausente (recomendado) o contener 127.0.0.1 para aceptar solo conexiones locales o la dirección IP de la interfaz de red local.

Si desea restringir qué direcciones IP pueden conectarse a MongoDB, deberá utilizar el firewall.

información relacionada