Em bindIp
127.0.0.1
por convenção é o endereço IP de localhost
e está vinculado à interface de loopback, que só é acessível a partir da mesma máquina. Usar esse endereço como padrão é uma prática recomendada, pois isso impossibilita a exposição acidental de um serviço ao público. Você precisa fazer a escolha consciente de alterar o IP de vinculação para tornar seu serviço disponível publicamente. O que você só deve fazer depois de certificar que você tomou as medidas de segurança adequadas.
Normalmente, uma máquina tem a interface de loopback e uma ou mais interfaces de rede "reais".
Digamos que você tenha uma interface de rede "interna" (acessível apenas por seus servidores de aplicativos, pois você os coloca na mesma rede) e uma interface de rede "externa" (acessível pela Internet pública para fins de manutenção). Agora, se você vincular sua instância do MongoDB a todas as interfaces (você usaria o endereço IP 0.0. 0,0 para fazer isso), sua instância do MongoDB estaria acessível a partir da Internet pública – dificilmente uma situação desejada. Os invasores podem tentar forçar suas senhas e, eventualmente, obter acesso à sua instância do MongoDB. Melhor impedir qualquer acesso da internet pública.
O que você prefere é que sua instância do MongoDB seja acessível para seus servidores de aplicativos e da máquina em que ela é executada. Portanto, você vincularia o MongoDB ao IP da interface de loopback (
127.0.0.1
) e o IP da rede privada, que em geral seria uma das - o intervalo de
10.0.0.0
para10.255.255.255
- o intervalo de
172.16.0.0
para172.31.255.255
- o intervalo de
192.168.0.0
para192.168.255.255
Vamos pegar nosso exemplo e dizer que os servidores de aplicativos e a instância do MongoDB estão em uma rede privada no intervalo
192.168.X.X
e você forneceu à instância do MongoDB o endereço IP 192.168.0.1
. Portanto, você deseja que sua instância do MongoDB seja acessível via 192.168.0.1
para que os servidores de aplicativos possam se comunicar com ele e via 127.0.0.1
para usar as ferramentas de administração da máquina em que o MongoDB é executado sem esforço. Assim, com a sintaxe de configuração YAML, você passaria vários IPs
OBSERVAÇÃO não adicione espaço entre vírgulas em vários IPs
# WARNING!!! WARNING!!! WARNING!!!
# DO NOT DO THIS UNLESS YOU HAVE CLIENT AUTHENTICATION ENABLED
# (or you really, really, really know what you are doing)
net:
bindIp: 127.0.0.1,192.168.0.1
Sobre os avisos
Em suma, esta é a maneira de dizer do MongoDB:
Há uma espécie de implícito "A menos que você realmente sabe o que está fazendo!", porque iirc, o aviso desaparece se você ativar a autenticação do cliente ou altere o bindIp.