Skip to content

IPv6 registration fails on Docker Desktop Windows — controller6.orc8r.blockcast.net DNS resolution error #10

Description

@Carlys17

Description

Running a BEACON node on Docker Desktop (Windows 11) results in persistent IPv6 registration failures. The control-proxy container cannot resolve controller6.orc8r.blockcast.net via Docker's embedded DNS, causing repeated 502 Bad Gateway errors every ~5 minutes.

Environment

  • OS: Windows 11 Build 26200
  • Docker Desktop: v29.3.1 (WSL2 backend)
  • Blockcast Image: blockcast/cdn_gateway_go:stable (latest)
  • Compose File: Official from this repo (main branch)
  • Docker Network: compose_default with enable_ipv6: true
  • Docker Daemon Config: "ipv6": true, "fixed-cidr-v6": "2001:db8:1::/64"

Error Logs

control-proxy (every ~5 min):

"cloud proxy error","cloud_address":"controller.orc8r.blockcast.net","path":"/magma.orc8r.SyncRPCService/RegisterIPAddress","error":"dial tcp6: lookup controller6.orc8r.blockcast.net on 127.0.0.11:53: no such host"

blockcastd (every ~5 min):

[IPv6Reg] RegisterIPAddress failed: rpc error: code = Unavailable desc = unexpected HTTP status code received from server: 502 (Bad Gateway)

Root Cause Analysis

  1. controller6.orc8r.blockcast.net only has an AAAA record (IPv6: 2602:f74d:1::202), no A record (IPv4)

  2. Docker containers receive ULA IPv6 addresses (fdf0:e553:f4f2::/64) which are not globally routable — they cannot reach the global IPv6 address 2602:f74d:1::202

  3. Docker's embedded DNS (127.0.0.11) does not properly forward AAAA queries for this hostname, returning "no such host"

  4. Go's net resolver in control-proxy explicitly uses dial tcp6 (IPv6-only), with no IPv4 fallback attempted

Attempted Fixes (all failed)

  1. extra_hosts in docker-compose.yml — Docker Desktop YAML anchor bug prevents entry from appearing in /etc/hosts
  2. dns: [1.1.1.1, 1.0.0.1] — Docker embedded DNS still intercepts and fails AAAA queries
  3. Both combined — Same error persists

Impact

  • IPv4 traffic and registration work normally
  • IPv6 registration fails every ~5 minutes
  • Node appears to still earn rewards (IPv4 path works)
  • Log spam is significant (error every 5 min)

Questions

  1. Is IPv6 connectivity a hard requirement for BEACON nodes?
  2. Is there a way to disable IPv6-only routing in control-proxy and fall back to IPv4?
  3. Would adding an A record for controller6.orc8r.blockcast.net resolve this?
  4. Is this a known limitation of Docker Desktop on Windows?

Workaround

Running on Linux native with global IPv6 support (e.g., a Linux VPS) would likely resolve this, as the container would get a globally routable IPv6 address.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions