Config ipv6 pour pour récupérer l'ip de client sur un php

Bonjour,
à l’heure actuelle j’ai un php qui me permet de récupérer l’ipv4 de mes clients ainsi que l’heure et l’user agent.

Je voudrais aujourd’hui récupérer l’ip v6 et v4 de mes clients qui visite mon site le problème c’est que je pense qu’il faut config l’ip v6 dans ma machine (ovh) ainsi que mon apache2, mais je ne suis pas du tout sur de sa…

Pouvez vous m’aidez a config et a comprendre l’ipv6 avec mon apache2 et avec mon serveur, j’ai vu aussi qu’il fallait créer une zone AAAA dans mon nom de domaine mais j’ai pas compris l’interet de faire sa.

mon ipv6 dans mon pannel ovh est la suivante: 2001:41d0:1:e4bc::

je présise que j’ai lu des tuto mais n’ai pas tous compris, c’est pour cela que je demande ici, merci de votre indulgence :slightly_smiling:

Il faut créer dans la zone DNS de ton domaine un enregistrement de type AAAA (adresse IPv6) qui fait pointer un nom d’hôte vers l’adresse IP de ton serveur. Le même nom peut pointer à la fois vers une adresse IPv4 (avec un enregistrement de type A) et une adresse IPv6 (avec un enregistrement de type AAAA). Les deux adresses peuvent même appartenir à deux machines différentes, mais c’est plus cohérent que ce soit la même.

Pour que ton serveur soit accessible en IPv6, il faut attribuer une adresse IPv6 globale à son interface réseau. Vérifie si ce n’est pas le cas avec ifconfig ou ip addr dont tu peux recopier la sortie ici. Les adresses locales au lien (link local) commençant par fe80 ne sont pas globales et ne comptent pas.

2001:41d0:1:e4bc:: ressemble plus au préfixe d’un bloc /64 qu’à une adresse individuelle. Dans ce cas il faut choisir une adresse dans ce bloc, typiquement 2001:41d0:1:e4bc::1 (2001:41d0:1:e4bc:: est normalement réservée comme adresse anycast pour le préfixe) et la configurer sur l’interface réseau. Si configuration statique par /etc/network/interfaces, alors voir les options pour la famille inet6 dans man interfaces.

Si tu veux savoir si un client dispose à la fois d’IPv4 et IPv4, il faut définir plusieurs noms d’hôtes dont certains sont résolus seulement en IPv4 et seulement en IPv6. C’est ce que font les sites de test de connectivité IPv4/IPv6.

Juste quelques détails, parce qu’ils ne m’ont pas semblé triviaux et que je m’y perds encore, il n’est pas possible de récupérer l’adresse v4 et v6. C’est l’adresse v4 ou v6 selon que le client se connecte en v4 ou en v6.

Il me semble que l’on a du mal à savoir si l’on est connecté en v4 ou en v6. Avec ssh par exemple, ssh -6 impose la connexion en v6, mais sans le -6, il peut arriver que l’on se connecte en v6 quand même.

A priori, pour des tests, le plus simple serait de définir ipv4.domaine.com et ipv6.domaine.com dans les dns et dans apache pour être sur du protocole que tu utilises. Mais normalement il n’y a rien à faire de particulier au niveau de php. Le mieux est d’avoir une page <?PHP phpinfo(); ?> qui te permettra de voir toutes les informations dont tu disposes dans php.

De ce que j’ai compris chez OHV, il est possible de mettre plusieurs IPv6 sur eth0. Les IPv6 qui ne sont pas définis sont renvoyés vers la passerelle 2001:41d0:1:e4bc:FFFF:FFFF:FFFF:FFFF gérée par OVH (cf commandes dans le fichier interfaces).

Certes, mais pour une connexion TCP individuelle. Avec une page web accessible en IPv4 et IPv6, on peut récupérer les deux en y intégrant des éléments qui ne sont accessible qu’en v4 et qu’en v6, ce qui permet au serveur de récupérer les deux adresses.

Ce que je voulais dire, c’est que dans un script php, on ne peut avoir qu’une adresse. Ce n’est pas une évidence pour moi et ca pouvait être le cas de celui qui posait la question.

C’est vrai que l’idée de 2 composants dans une page pour récupérer les 2 adresses, je n’y avais pas pensé.

enfaite ce que j’ai remarquer c’est que j’ai des ami qui on est tester de se connecter en vpn, j’ai remarquer autre chose c’est que en ipV6 et meme en vpn et si on a activer l’ipv6 et que l’on récupere l’ip v6 uniquement on chope bien l’ip v6 de la box et pas celle du vpn (encore il faut que l’ipv6 soit activé dans le kernel).

le truck c’est que je ne penser pas que l’ip v6 etait aussi compliquer à activer sur eth0 et j’ai du mal a comprendre comment attribuer la plage ipv6 au block, on met ce que l’on veux? c’est la premiere fois que je touche à l’ip v6 et j’ai du mal a tous saisir, un ami m’a dit que l’on pouvait récupéré soit l’ipv4 soit l’ipv6 mais je pense que l’on peux effectivement récupérer les deux…

une derniere chose l’ipv6 qui pointe vers ma machine doit avoir une partie de l’adresse mac de celle-ci non?

en tous cas merci de votre aide.

C’est du charabia incompréhensible. Tu peux la refaire en français ?

Non, pas nécessairement. C’est juste le cas en autoconfiguration d’adresse sans état (SLAAC) pour l’adresse non temporaire. Si on n’utilise pas l’autoconfiguration d’adresse sans état (configuration statique ou par DHCPv6 par exemple) l’adresse peut être arbitraire, et si on n’utilise que des adresses temporaires alors l’adresse est aléatoire et change régulièrement.