mongodb mon Virtualbox의 바인딩_ip 문제

mongodb mon Virtualbox의 바인딩_ip 문제

몽고 바인드 IP 때문에 한동안 어려움을 겪었는데, 이제는 도움을 청해야 할 때인 것 같습니다. 나는 호스트 전용 네트워크를 사용하고 있습니다 192.168.56.0/24. 4개의 상자가 있어요. 몽고용 상자 3개 192.168.56.111,192.168.56.112,192.168.56.113. 앱용 상자 1개 192.168.56.114.

따라서 mongo의 바인드 매개변수는 다음과 같습니다.bind_ip =127.0.0.1,192.168.56.114,192.168.56.113,192.168.56.112,192.168.56.111,10.0.2.1

2015-08-22T12:35:44.547+0000 E NETWORK  [initandlisten] listen(): bind() failed errno:99 Cannot assign requested address for socket: 192.168.56.114:27017
2015-08-22T12:35:44.553+0000 I JOURNAL  [initandlisten] journal dir=/var/lib/mongodb/journal
2015-08-22T12:35:44.554+0000 I JOURNAL  [initandlisten] recover : no journal files present, no recovery needed
2015-08-22T12:35:44.623+0000 I JOURNAL  [durability] Durability thread started
2015-08-22T12:35:44.624+0000 I JOURNAL  [journal writer] Journal writer thread started
2015-08-22T12:35:44.624+0000 I CONTROL  [initandlisten] MongoDB starting : pid=3519 port=27017 dbpath=/var/lib/mongodb 64-bit host=vagrant-ubuntu-trusty-64
2015-08-22T12:35:44.625+0000 I CONTROL  [initandlisten] db version v3.0.5
2015-08-22T12:35:44.625+0000 I CONTROL  [initandlisten] git version: 8bc4ae20708dbb493cb09338d9e7be6698e4a3a3
2015-08-22T12:35:44.625+0000 I CONTROL  [initandlisten] build info: Linux ip-10-183-35-50 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64 BOOST_LIB_VERSION=1_49
2015-08-22T12:35:44.625+0000 I CONTROL  [initandlisten] allocator: tcmalloc
2015-08-22T12:35:44.626+0000 I CONTROL  [initandlisten] options: { config: "/etc/mongod.conf", net: { bindIp: "127.0.0.1,192.168.56.114,192.168.56.113,192.168.56.112,192.168.56.111,10.0.2.15", port: 27017 }, storage: { dbPath: "/var/lib/mongodb" }, systemLog: { destination: "file", logAppend: true, path: "/var/log/mongodb/mongod.log" } }
2015-08-22T12:35:44.631+0000 I CONTROL  [initandlisten] now exiting
2015-08-22T12:35:44.631+0000 I NETWORK  [initandlisten] shutdown: going to close listening sockets...
2015-08-22T12:35:44.632+0000 I NETWORK  [initandlisten] removing socket file: /tmp/mongodb-27017.sock
2015-08-22T12:35:44.632+0000 I NETWORK  [initandlisten] shutdown: going to flush diaglog...
2015-08-22T12:35:44.632+0000 I NETWORK  [initandlisten] shutdown: going to close sockets...
2015-08-22T12:35:44.632+0000 I STORAGE  [initandlisten] shutdown: waiting for fs preallocator...
2015-08-22T12:35:44.632+0000 I STORAGE  [initandlisten] shutdown: final commit...
2015-08-22T12:35:44.635+0000 I JOURNAL  [initandlisten] journalCleanup...
2015-08-22T12:35:44.635+0000 I JOURNAL  [initandlisten] removeJournalFiles
2015-08-22T12:35:44.636+0000 I JOURNAL  [initandlisten] Terminating durability thread ...
2015-08-22T12:35:44.735+0000 I JOURNAL  [journal writer] Journal writer thread stopped
2015-08-22T12:35:44.736+0000 I JOURNAL  [durability] Durability thread stopped
2015-08-22T12:35:44.736+0000 I STORAGE  [initandlisten] shutdown: closing all files...
2015-08-22T12:35:44.736+0000 I STORAGE  [initandlisten] closeAllFiles() finished
2015-08-22T12:35:44.737+0000 I STORAGE  [initandlisten] shutdown: removing fs lock...
2015-08-22T12:35:44.737+0000 I CONTROL  [initandlisten] dbexit:  rc: 48

다른 IP에는 어떤 문제가 있는지 전혀 알 수 없습니다. 루프백을 제외하고 자체 IP 및 0.0.0.0/0 다른 모든 IP가 mongodb를 시작하지 못합니다.

답변1

지시어bind_ipIP 주소를 지정하는 것을 의미합니다.같은 시스템에서MongoDB가 연결을 수신하는 곳,~ 아니다연결을 수신하는 IP 주소입니다.

이 주소의 애플리케이션에 바인딩하고 연결을 수신하도록 mongod 또는 mongos 프로세스를 구성하려면 이 옵션을 설정하십시오. mongod 또는 mongos 인스턴스를 모든 인터페이스에 연결할 수 있습니다. 그러나 공개적으로 액세스 가능한 인터페이스에 프로세스를 연결하는 경우 데이터베이스 무결성을 보호하기 위해 적절한 인증 또는 방화벽 제한을 구현하십시오.

따라서 없거나(권장) 로컬 연결만 허용하려면 127.0.0.1을 포함하거나 로컬 네트워크 인터페이스의 IP 주소를 포함해야 합니다.

MongoDB에 연결할 수 있는 IP 주소를 제한하려면 방화벽을 사용해야 합니다.

관련 정보