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?

  • 1
    You don't actually mentioned whether your ipv6 stack is working and/or what it is. Can you actually ping -6 google ? Are you using SLAAC or DHCPv6 ? IMHO ipv6 is a massive PITA, I am not sure getting it working gets you anything except "Super Cool Techie Points". – Non-mask-able Interrupt Jun 9 '16 at 4:30
  • Of course, IPv6, works, I ssh into my machine with it. And, yes, I can ping Google. And there are non-Ethereum IPv6 traffic on this machine (checked with tcpdump). I use neither SLAAC nor DHCPv6 (and I don't see what could be the relationship with my question). For a peer-to-peer system like Ethereum, IPv6 is clearly a big plus, avoiding all the brittle workarounds needed because of NAT. – bortzmeyer Jun 9 '16 at 16:33
  • I don't believe nmap would be able to prove or disprove the issue at hand. That said .. when you ran nmap .. : Did you nmap from an external host .. or nmap internally pointed at an external host? Or just the firewall/gateway ? i.e. What did you nmap specifically and what command line parameters did you use when running nmap? i.e did you do a full port scan , etc ? I am very familiar with nmap .. I am intrigued to know how you managed to figure out a way to completely rule out the firewall/gateway/DHCP server using just this tool, since it shows OPEN/ACTIVE ports .. not "available/closed/firew – Ivan Frimmel Jun 17 '16 at 22:16
  • Also, to repeat once more that it is not a network issue, but an Ethereum one: on the very same machine, bitcoind has IPv6 peers and I see IPv6 traffic on the Bitcoin port. – bortzmeyer Jul 23 '16 at 13:55
  • Well, I'm a peer and I'm IPv6. But I don't let anybody know because geth is badly broken WRT ipv6 (seriously, I see requests for "::" hitting my local resolver, what is that?). Peer discovery when ipv6 is preferred in /etc/gai.conf or similar is painful to watch. – quadruplebucky Jul 8 '17 at 4:08

Being able to ping out via ipv6 means you have some connectivity. It doesn't mean you have inbound connectivity. This document might help you .. http://www.rmv6tf.org/wp-content/uploads/2013/04/2-End-Station-Addressing.pdf It's somewhat more complete than perhaps my answer would hve been had you just answered the couple of simple questions I asked you.

  • When you say you are able to ssh in .. are you talking about internally ? or have you actually ssh'd from "outside" your network to an sshd inside your network? I think what's going on is that either your firewall is blocking the inbound IPv6 (because of something like DHCPv6 ) .. and or GETH is not establishing the outbound session correctly so they can come back in right. – Non-mask-able Interrupt Jun 11 '16 at 20:56
  • cisco.com/c/en/us/support/docs/ip/ip-version-6-ipv6/… - more info on how DHCP affects all this. – Non-mask-able Interrupt Jun 11 '16 at 21:04
  • The relationship between DHCPv6 and a possible firewall blocking inbound IPv6 completely escapes me. But, as I said, I don't use SLAAC or DHCPv6 on this node. – bortzmeyer Jun 15 '16 at 14:50
  • The Cisco doc is irrelevant, I don't manage the routers (it is a hosted machine). – bortzmeyer Jun 15 '16 at 14:52
  • The fact that it is hosted makes this even MORE relevant. IF you don't know how you are getting your IPV6 address doesn't mean it's not relevant. You should have mentioned this first! So I am going to give you an answer, right here, right now, this is 100% a firewall issue. The end. – Non-mask-able Interrupt Jun 16 '16 at 18:27

Give this a go :

geth -vmodule=udp=6,server=6,downloader=6

I found this too: https://github.com/ethereum/go-ethereum/issues/1676, but I don't think it's related to this issues. Good luck. I hope it works for you. I am getting some ipv6 packets flowing, but most of it is ipv4.

  • Please, also use the edit but to improve existing answers rather than posting multiple replies. – Afr Jun 13 '16 at 8:56
  • @5chdn There are no other answers (except one completely off-track). – bortzmeyer Jun 15 '16 at 14:51
  • NIce try but it changed nothing. – bortzmeyer Jun 15 '16 at 15:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.