Llegar MongoDB en Linux para escuchar las conexiones remotas

He instalado MongoDB correctamente en Windows (en una máquina local) como un servicio, pero ahora me quiero mover de MongoDb en un servidor independiente. Así que extrae el archivo a un servidor virtual en la red (con linux).

Cuando me conectaba con el servidor («testmongoserver») el uso de la Masilla de mi máquina local, empecé a mongod servidor y me dijo que estaba escuchando el valor predeterminado 28017 puerto. El mongo de la consola también está trabajando y me permitió crear una nueva base de datos (testdb) y agregar usuarios.

Sin embargo, yo no podía acceder al servidor remoto. Cuando yo escriba testmongoserver:28017 que no se abra el HTTP de la consola como localhost:28017 en mi máquina local hace. Yo también no se puede conectar usando pilotos oficiales y proporcionando un connectionstring.

¿Cuáles son los neccesarry pasos para instalar MongoDB en Linux, para que yo pudiera acceder desde un equipo remoto con un connectionstring y el uso de sus HTTP consola a través de testmongoserver:28017

Gracias!

InformationsquelleAutor user315648 | 2011-08-23

5 Kommentare

  1. 20
    1. Ejecutar netstat -a en mongo servidor y comprobar un puerto.
    2. Comprobar la configuración de DNS y comprobar que linux servidor permite conexiones externas.
    3. Comprobar que mongodb puede aceptar externo/conexión remota.

    Puerto predeterminado para mongo es 27017.
    28017 – puerto de webstats.

    Ver http://www.mongodb.org/display/DOCS/Security+y+Autenticación#SecurityandAuthentication-Puertos

    • Los cambios?
    • Mi problema era la #3. Fue debido a que el enlace IP set a 127.0.0.1 como @Yves M. describe en su respuesta.
    • A veces, el servidor debe ser reiniciado para que los cambios surtan efecto.
  2. 79

    1. Bind IP opción

    Enlazar IP es un MongoDB opción que limita las conexiones a los detalles específicos de IPs.

    Echar un vistazo a su mongod archivo de configuración, la mayoría del tiempo bind_ip se establece en 127.0.0.1 por razones obvias de seguridad. Usted puede:

    1. Añadir tu IP deseada mediante la concatenación de una lista de valores separados por comas para enlazar a MongoDB a múltiples direcciones IP.
    2. Eliminar o comentar (con # carácter) el bind_ip línea. Pero ser conscientes de que toda conexión remota será capaz de conectarse a su servidor de MongoDB!

    Más acerca de bind_ip opción de configuración: https://docs.mongodb.com/manual/reference/configuration-options/#net.bindIp

    Enlazar IP también se puede configurar como un argumento de comando: http://docs.mongodb.org/manual/reference/program/mongod/#cmdoption–bind_ip

    2. Firewall

    Comprobar que no está corriendo detrás de un firewall

    • Debe haber sido elegida como la respuesta correcta. Identifica el tema y lo explica demasiado.
    • Me gustaría aclarar que a bale para aceptar conexiones en el adaptador de red específico debe establecer bind_ip para la IP de este adaptador de red. Esto no es un filtro para las conexiones entrantes!
  3. 34

    Asegúrese de que en su /etc/mongodb.conf archivo tiene la siguiente línea,

    bind_ip = 0.0.0.0

    http://jitu-blog.blogspot.com.br/2013/06/allow-mongo-to-connect-from-remote-ip.html

    • Esto es una mala idea a partir de una configuración de perspectiva. Vas a obtener el mismo resultado de comentar el bind_ip línea. Me gustaría animar a la coma para separar la específica pública o privada ips del servidor: 127.0.0.1,10.x.x.x
    • Muy MALA idea, especialmente con la nueva vulnerabilidad cuando el uso de mongo.
    • Sí, es una MALA idea trabajar con el entorno de producción. Esta configuración sería «aceptable» si env=desarrollo. tenga cuidado
    • el nombre de archivo correcto es «/etc/mongod.conf»
    • Estoy en Windows y no ves el archivo etc/mongod.conf. Dónde está o dónde tengo que poner exactamente? Y traté de poner en mi mongodb.archivo de configuración, pero no cambió nada.
    • dev env sólo. pero quitando bind_ip NO permitir el acceso remoto. Se ha establecido para 0.0.0.0 para aceptar conexiones desde el host remoto. Como otros han mencionado, proporcionando una lista de direcciones IP que va a conectar es la manera de hacerlo en prod env.
    • El tipo que hizo la pregunta NUNCA dijo que este es un servidor de producción. Si es sólo para el desarrollo, es perfectamente respuesta. Estoy corriendo Linux en una máquina virtual y quiero a nadie en mi red para tener acceso a este, lo que está mal con 0.0.0.0 en este caso?

  4. 8

    Sólo tenía este problema y esta arreglado:

    Editar /etc/mongod.conf con sudo nano /etc/mongod.conf asegurarse de que la sección neta se ve como en la figura siguiente (localhost de enlace por defecto no permite el acceso remoto):

    # network interfaces
    net:
      port: 27017
      bindIp: 0.0.0.0

    Asegúrese de reiniciar mongod cuando haya terminado con la de arriba con la de abajo (suponiendo que systemd ubuntu 16.04+ etc.):

    sudo service mongod restart

    Obviamente, desde una perspectiva de seguridad si va a ser la apertura de mongo a la red/el mundo sea consciente de las implicaciones de esta (si cualquier)

    • Como en el post anterior, como se ha de señalar, también debe asegurarse de que el puerto 27017, en este caso, a disposición. También usted puede tener un problema de seguridad, para reducir, se podría, como se acaba de mencionar, restringir el IPs accesible para el puerto y/o crear un usuario con una contraseña. He pasado por esto hace poco pude tomar algunas notas de todo el proceso aquí: incredulosanonimos.blogspot.co.reino unido/2018/04/….
  5. 3

    Otro problema puede ser que la mongodb puerto no está habilitado. Comprobar, desde otro host, los puertos habilitados en el servidor. Para que se puede usar el comando:

    sudo nmap -P0 your_server_ip

    Usted puede obtener una respuesta como esta:

    Host is up (0.052s latency).
    Not shown: 997 filtered ports
    PORT    STATE  SERVICE
    22/tcp  open   ssh
    80/tcp  open   http
    443/tcp closed https

    Si utiliza un servidor virtual en la nube de AWS, usted necesita agregar una nueva regla para añadir mongodb (puerto 27017 por defecto).

    Importante: tenga en cuenta que con esta configuración, cualquier persona puede tener acceso a su base de datos

    Llegar MongoDB en Linux para escuchar las conexiones remotas

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea