Question ipv4/ipv6

bonjour, j’ai migré un serveur webrtc sur un nano-pc

celui-ci est uniquement accessible avec le serveur vpn et fonctionne très bien avec nodejs

ce que j’aimerais comprendre:

ipv6 est désactivé: (echo net.ipv6.conf.all.disable_ipv6=1 > /etc/sysctl.d/disableipv6.conf)

eth0      Link encap:Ethernet  HWaddr 02:05:07:41:6b:34  
          inet adr:192.168.0.104  Bcast:192.168.0.255  Masque:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:11835 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10645 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000 
          RX bytes:1732813 (1.6 MiB)  TX bytes:1896877 (1.8 MiB)
          Interruption:117 Adresse de base:0xc000 

lo        Link encap:Boucle locale  
          inet adr:127.0.0.1  Masque:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:94 errors:0 dropped:0 overruns:0 frame:0
          TX packets:94 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:0 
          RX bytes:7737 (7.5 KiB)  TX bytes:7737 (7.5 KiB)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet adr:10.8.0.1  P-t-P:10.8.0.2  Masque:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:1140 errors:0 dropped:0 overruns:0 frame:0
          TX packets:725 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:100 
          RX bytes:166006 (162.1 KiB)  TX bytes:495918 (484.2 KiB)

alors pourquoi node écoute en ipv6 et rien en ipv4?

netstat -taupen | grep 8080
tcp6       0      0 :::8080                 :::*                    LISTEN      0          7173        2900/node       
tcp6       0      0 10.8.0.1:8080           10.8.0.6:41258          ESTABLISHED 0          10930       2900/node       
tcp6       0      0 10.8.0.1:8080           10.8.0.10:51851         ESTABLISHED 0          8282        2900/node    

lsof -i | grep node
node      2907       root   11u  IPv6   5678      0t0  TCP *:http-alt (LISTEN)
node      2907       root   13u  IPv6   8627      0t0  TCP xxxxxx:http-alt->10.8.0.6:41315 (ESTABLISHED)
node      2907       root   14u  IPv6   8617      0t0  TCP xxxxxx:http-alt->10.8.0.10:51869 (ESTABLISHED)
node      2907       root   15u  IPv6   8619      0t0  TCP xxxxxx:http-alt->10.8.0.10:51870 (ESTABLISHED)
node      2907       root   16u  IPv6   8621      0t0  TCP xxxxxx:http-alt->10.8.0.10:51871 (ESTABLISHED)
node      2907       root   17u  IPv6   7138      0t0  TCP xxxxxx:http-alt->10.8.0.6:41316 (ESTABLISHED)
node      2907       root   18u  IPv6   8625      0t0  TCP xxxxxx:http-alt->10.8.0.10:51873 (ESTABLISHED)
node      2907       root   19u  IPv6   8629      0t0  TCP xxxxxx.:http-alt->10.8.0.6:41317 (ESTABLISHED)
node      2907       root   20u  IPv6   8631      0t0  TCP xxxxxx:http-alt->10.8.0.6:41319 (ESTABLISHED)

les clients peuvent bien communiquer, et je peux constater aussi avec wireshark que les adresses sont bien en ipv4 alors mystère, j’attend une réponse pertinente de PascalHambourg, merci par avance.

disable_ipv6=1 ne désactive totalement pas l’IPv6 mais seulement sur les interfaces considérées. Notamment il reste possible d’ouvrir des sockets IPv6, et par défaut une socket IPv6 en écoute sur l’adresse indéfinie “::” accepte aussi les communications en IPv4.

Pour désactiver totalement l’IPv6 (déconseillé, c’est pour cela que disable_ipv6 a été mis en place), il faut ajouter l’option ipv6.disable=1 dans la ligne de commande du noyau passée par le chargeur d’amorçage.

d’accord, c’est en effet la seule explication

par ailleurs, c’est certainement le programme nodejs que j’ai installé depuis http://nodejs.org/dist/latest/ (non dispo dans les dépots debian de l’architecture arm) qui fait que l’ écoute soit en IPV6 et non pas IPV4 ?
alors je ne vais surtout pas activer l’option ipv6.disable=1 sinon node ne se lancerait plus. merci

Si le programme est bien écrit, il tentera d’ouvrir une socket IPv4 à la place.

Mais comme je l’ai écrit précédemment, il est déconseillé de désactiver totalement l’IPv6 même si on ne s’en sert pas car certaines fonctionnalités peuvent faire appel à l’infrastructure IPv6 du noyau même sans mettre en oeuvre des communications IPv6.