2013-12-09 9 views
14

Ich möchte mongodb konfigurieren, um Remote-Verbindungen von einer externen IP-Adresse wie 66.31.123.123 zu ermöglichen.MongoDB bind_ip error: bind() fehlgeschlagen errno: 99 Kann die angeforderte Adresse für den Socket nicht zuweisen

Einstellung 0.0.0.0 zu bind_ip funktioniert, aber ich möchte restriktiver sein und nur bestimmte IP-Adressen zu verbinden. Ich beigefügten 66.31.123.123 auf die bind_ip Liste aber mongodb wirft einen Fehler unter:

mongodb.conf

bind_ip = 127.0.0.1,66.31.123.123 
port = 27017 

auth = true 

mongodb logs

Mon Dec 9 03:25:59 [initandlisten] ERROR: listen(): bind() failed errno:99 Cannot assign requested address for socket: 66.31.123.123:27017 

Frage: Warum das Hinzufügen eines externen ip funktioniert nicht? Wenn auth=true verwendet wird, ist es dann sicher genug, 0.0.0.0 als bind_ip zu verwenden? Der mongodb wird lokal von einer Meteor.js App zugegriffen.

+6

'bind_ip' Tells mongod (oder mongos), die Netzwerk-Interface-Adresse zu binden, wird die IP-Adresse irgend nicht filtern eingehende Verbindung –

Antwort

15

Wie guido sagte, ist bind_ip für die eigene IP-Adresse des Mongo-Servers.

Auth ist eine gute Idee, aber nur auf Auth verlassen, öffnet Sie bis zu einem Brute-Force-Angriff.

Sie könnten bind_ip = 0.0.0.0 und eine Firewall verwenden, um alle eingehenden Verbindungen zu Port 27017 zu blockieren, es sei denn, von 66.31.123.123 kommt.

Ein weiteres Problem ist die Nähe Ihres Meteor-Servers zu Ihrem Mongo-Server - auf privaten Netzwerken oder über das öffentliche Netzwerk. Wenn Sie öffentlich sind, sollten Sie entweder recompile mongodb to support SSL oder Sie sollten tunnel your mongodb connection through SSH.

Wenn Sie Tunnel, bind_ip entscheiden zu 127.0.0.1 und auszulassen eingehenden 27017.

Verwandte Themen