geth has IPv6 support and listens on IPv6 as well. But I find, on my geth node, no IPv6 traffic. I tested both with lsof -n -i | grep geth
(shows no IPv6 address) and tcpdump -n ip6
. IPv6 works fine for other programs. Here, inside-generated (from the Ethereum node):
% ping6 -n -c 3 www.nic.fr
PING www.nic.fr(2001:67c:2218:30::5) 56 data bytes
64 bytes from 2001:67c:2218:30::5: icmp_seq=1 ttl=58 time=7.60 ms
64 bytes from 2001:67c:2218:30::5: icmp_seq=2 ttl=58 time=7.31 ms
64 bytes from 2001:67c:2218:30::5: icmp_seq=3 ttl=58 time=7.28 ms
--- www.nic.fr ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 7.281/7.401/7.605/0.145 ms
And also outside-generated (I can ssh into the node with ssh -6
from the outside).
I cannot believe I'm the only one running an Ethereum node with IPv6 (but can I find somewhere authoritative info about that? In peer-to-peer networks, you cannot easily analyze all the nodes).
Is there a limit in the peer discovery protocol? Or some bug/bias that prevent IPv6 addresses to be selected?