IPv6
Y tho
As of mid 2024:
CGNAT is becoming more prevalant, making it harder to make P2P ports available inbound and get good peering.
Docker support for IPv6 is better.
Ethereum clients are starting to add v6 support, which can benefit from testing.
How then
Check you have v6
You can test, from a PC on your LAN, that whatismyip shows both a public v6 and v4 address. If so, your router is set correctly. This will likely be the case "out of the box" on any ISP that uses CGNAT, and on several that don't, like Comcast in the US.
On your node, ip address show
should show you both a v4 inet
and public v6 inet6
address on the interface. If
all you see is an fe80::
address for inet6, you don't have a routable v6 address configured, and you'll want to fix
that, first.
Configure Docker
You'll want to be on the latest version of docker-ce, at least 27.0.1
.
If you previously had IPv6-specific settings in /etc/docker/daemon.json
, you can remove them now.
Configure Eth Docker
nano .env
and set IPV6=true
, which will tell Compose to enable v6 for the networks it creates.
Safu?
Maybe. I still have to test ufw integration.
On your LAN firewall, if this is in a LAN, you'd need rules to allow the P2P ports incoming to the v6 address of your
node.
Which clients?
CL
- Lighthouse
- Lodestar
- Nimbus
- Teku: Unsure, advertisement not tested
- Prysm: Maybe,
--p2p-local-ip ::
, but not dual-stack - Grandine: Unsure
- Lambda: Unsure
EL
- Besu: not fully tested
- Geth: not fully tested
- Erigon: not fully tested
- Nethermind: Possibly no advertisement, no explicit discv5 option
- Reth: No IPv6 connectivity on
main
as of mid Nov 2023 - Nimbus: Unsure