Ce qui ne l' --bindip option de configuration dans mongodb faire?
Ici est la mongodb documentation https://docs.mongodb.com/manual/reference/configuration-options/ il précise que
L'adresse IP que mongos ou mongod se lie à l'écoute pour
connexions à partir d'applications. Vous pouvez joindre des mongos ou mongod à tout
de l'interface. Lors de la fixation d'mongos ou mongod à un accessible au public
interface, vérifiez que vous avez mis en œuvre une authentification correcte et
restrictions de pare-feu afin de protéger l'intégrité de votre base de données.À se lier à plusieurs adresses IP, entrez une liste séparée par des virgules
des valeurs.
et que
127.0.0.1. est la configuration par défaut
Je suis désemparés quand il s'agit de la mise en réseau donc je voulais savoir si quelqu'un pourrait m'expliquer ce que cela signifie d'une manière plus globale. Aussi, ce que cela signifie si je devais changer cela? Pourquoi aurais-je envie de lier plusieurs IPs? et enfin si quelqu'un a une idée, pourquoi est - 127.0.0.1
l'option par défaut?
Edit:
(Vous pouvez sauter cette partie édition)
Certains de la motivation derrière cette question se trouve dans l'obtention de ces mises en garde, tout en essayant d'exécuter mongodb sur docker:
2016-05-22T05:36:12.478+0000 I CONTROL [initandlisten] ** WARNING: Insecure configuration, access control is not enabled and no --bind_ip has been specified.
2016-05-22T05:36:12.478+0000 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted,
2016-05-22T05:36:12.478+0000 I CONTROL [initandlisten] ** and the server listens on all available network interfaces.
et aussi quelques questions où j'avais ce message d'erreur
2016-05-20T01:04:18.012+0000 I NETWORK [thread1] trying reconnect to 127.0.0.1:27017 (127.0.0.1) failed
2016-05-20T01:04:18.018+0000 I NETWORK [thread1] reconnect 127.0.0.1:27017 (127.0.0.1) ok
(plus de détails ici si vous êtes curieux https://dba.stackexchange.com/questions/139075/replica-set-in-mongodb-using-docker-primary-has-error-and-stops-being-primary-w/139145#139145 mais ce problème n'est pas le sujet de ce post!)
OriginalL'auteur Jose | 2016-05-22
Vous devez vous connecter pour publier un commentaire.
Sur
bindIp
127.0.0.1
par la convention est l'adresse IP du localhost et est lié à l'interface de bouclage, qui est uniquement accessible à partir de la même machine.À l'aide de cette adresse par défaut est de bonne pratique, car cela rend impossible accidentellement exposer un service au public. Vous devez faire le choix conscient pour changer de lier l'adresse IP pour faire à votre service à la disposition du public. Qui vous doit seulement faire une fois que vous fait en sorte que vous avez pris des mesures de sécurité appropriées.
Généralement, une machine a l'interface de bouclage et de un ou plusieurs "vrais" interfaces réseau.
Dire que vous avez une interface réseau qui est "interne" (accessible uniquement par vos serveurs d'application, puisque vous les mettez dans le même réseau) et vous disposez d'une interface réseau qui est "extérieur" (accessible par le réseau internet public pour des raisons de maintenance). Maintenant, si vous voulez lier votre MongoDB instance pour toutes les interfaces (vous pouvez utiliser l'adresse IP 0.0.0.0 pour le faire), MongoDB exemple, pourrait être accessible depuis l'internet public – à peine une situation souhaitée. Les attaquants pourraient essayer de la force brutale vos mots de passe et finissent par obtenir l'accès à votre MongoDB instance. Mieux vaut prévenir tout accès du public à l'internet à tous.
Ce que vous préférez voulez que vos MongoDB instance est accessible pour les serveurs d'application et de la machine sur laquelle il tourne. Afin de vous lier MongoDB à la fois de l'interface de bouclage de la propriété intellectuelle (
127.0.0.1
) et l'adresse IP du réseau privé, qui, en général, serait l'un des10.0.0.0
à10.255.255.255
172.16.0.0
à172.31.255.255
192.168.0.0
à192.168.255.255
Prenons notre exemple et dire à la fois les serveurs d'applications et de MongoDB instance sont dans un réseau privé dans la gamme
192.168.X.X
et vous avez donné à la MongoDB exemple l'adresse IP192.168.0.1
. Si vous voulez avoir votre MongoDB exemple être accessible via192.168.0.1
de sorte que les serveurs d'applications peuvent parler et via127.0.0.1
à utiliser les outils d'administration à partir de la machine MongoDB s'exécute sur sans effort.Donc avec la configuration YAML, syntaxe, vous devez passer plusieurs IPs
NOTE ne pas ajouter d'espace entre les virgules sur de multiples adresses ip
Sur les avertissements
En bref, c'est MongoDBs manière de dire:
Il y a une sorte d'implicite "à Moins que vous vraiment savez ce que vous faites!", car autant que je me souvienne, l'avertissement disparaît si vous activer l'authentification du client ou changer le bindIp.
OriginalL'auteur Markus W Mahlberg