MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

O que a opção de configuração --bindip no mongodb faz?

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 para 10.255.255.255
  • o intervalo de 172.16.0.0 para 172.31.255.255
  • o intervalo de 192.168.0.0 para 192.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.