2016-10-25 3 views
0

J'étais capable d'activer ipv6 sur mongodb.connexion à mongodb avec ipv6 via mongo shell

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

Je peux voir que MongoDB écoute sur 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 à l'adresse IPv6 est très bien. cependant, shell mongo

[[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 

ne semble pas comprendre l'adresse ipv6.

[[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 

Répondre

2

Vous essayez d'utiliser une adresse IPv6 locale de lien. Ceux-ci ne sont pas valables sans une portée , mais vous n'en avez pas fourni. Ainsi, vous obtenez l'erreur Invalid argument. Pour cette raison, mettre une adresse lien-local dans le DNS n'a aucun sens, car l'adresse n'est valide que sur un réseau local particulier, et la portée peut être différente pour chaque hôte sur ce réseau local.

Pour utiliser l'adresse, ajoutez-y la portée, par ex. fe80::250:56ff:feb4:7c43%eno33554952