2016-10-25 3 views
0

Ich war in der Lage, ipv6 auf Mongodb zu ermöglichen.Verbindung zu Mongodb mit ipv6 über Mongo-Shell

/etc/mongod.conf file has net.ipv6 set to true. 

Ich kann sehen, dass mongodb hört auf ipv6:

# netstat -anp | grep 27017 
tcp  0  0 0.0.0.0:27017   0.0.0.0:*    LISTEN  17967/mongod   
tcp6  0  0 :::27017    :::*     LISTEN  17967/mongod   
unix 2  [ ACC ]  STREAM  LISTENING  19750206 17967/mongod   /tmp/mongodb-27017.sock 
# 

ping6 an die IPv6-Adresse ist in Ordnung.

[[email protected] log]# ping6 -I eno33554952 tesla05-2-ipv6.ulticom.com 
PING tesla05-2-ipv6.ulticom.com(tesla05) from fe80::250:56ff:feb4:7c43 eno33554952: 56 data bytes 
64 bytes from tesla05: icmp_seq=1 ttl=64 time=0.101 ms 
64 bytes from tesla05: icmp_seq=2 ttl=64 time=0.093 ms 
64 bytes from tesla05: icmp_seq=3 ttl=64 time=0.091 ms 

jedoch scheint Mongo-Shell IP IPv6-Adresse nicht zu verstehen.

[[email protected] log]# mongo --ipv6 [fe80::250:56ff:feb4:7c43]:27017/admin 
MongoDB shell version: 3.2.4 
connecting to: [fe80::250:56ff:feb4:7c43]:27017/admin 
2016-10-25T12:04:50.401-0400 W NETWORK [thread1] Failed to connect to fe80::250:56ff:feb4:7c43:27017, reason: errno:22 Invalid argument 
2016-10-25T12:04:50.402-0400 E QUERY [thread1] Error: couldn't connect to server [fe80::250:56ff:feb4:7c43]:27017, connection attempt failed : 
[email protected]/mongo/shell/mongo.js:226:14 
@(connect):1:6 

exception: connect failed 

[[email protected] log]# mongo --ipv6 tesla05-2-ipv6.ulticom.com:27017/admin 
MongoDB shell version: 3.2.4 
connecting to: tesla05-2-ipv6.ulticom.com:27017/admin 
2016-10-25T12:15:17.861-0400 W NETWORK [thread1] Failed to connect to fe80::250:56ff:feb4:7c43:27017, reason: errno:22 Invalid argument 
2016-10-25T12:15:17.861-0400 E QUERY [thread1] Error: couldn't connect to server tesla05-2-ipv6.ulticom.com:27017, connection attempt failed : 
[email protected]/mongo/shell/mongo.js:226:14 
@(connect):1:6 

exception: connect failed 

Antwort

2

Sie versuchen, eine verbindungslokale IPv6-Adresse zu verwenden. Diese sind ohne einen Bereich nicht gültig, aber Sie haben einen nicht bereitgestellt. So erhalten Sie den Fehler Invalid argument. Aus diesem Grund ist die Angabe einer verbindungslokalen Adresse im DNS nicht sinnvoll, da die Adresse nur für ein bestimmtes LAN gültig ist und der Bereich für jeden Host in diesem LAN unterschiedlich sein kann.

Um die Adresse zu verwenden, fügen Sie den Bereich an, z. fe80::250:56ff:feb4:7c43%eno33554952