9

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?

5
  • 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". Commented Jun 9, 2016 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
    Commented Jun 9, 2016 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 Commented Jun 17, 2016 at 22:16
  • 1
    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
    Commented Jul 23, 2016 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. Commented Jul 8, 2017 at 4:08

2 Answers 2

2

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.

6
  • 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. Commented Jun 11, 2016 at 20:56
  • cisco.com/c/en/us/support/docs/ip/ip-version-6-ipv6/… - more info on how DHCP affects all this. Commented Jun 11, 2016 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
    Commented Jun 15, 2016 at 14:50
  • The Cisco doc is irrelevant, I don't manage the routers (it is a hosted machine).
    – bortzmeyer
    Commented Jun 15, 2016 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. Commented Jun 16, 2016 at 18:27
2

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.

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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