Netbird Peer Public IP Address 172.30.0.1 when using IPv6

Just a rehash of Peer connection details show Docker gateway IP 172.30.0.1 as public IP when peer connects via IPv6 - #10 by netsrot303

The “solution” was to just remove the AAAA record and use IPv4 only basically.

Actual working solution for those who want to use IPv6

  1. Backup your files, I’m not responsible if this breaks anything.

  2. Create /opt/netbird/docker-compose.override.yml
    2a. Enable ipv6 and give traefik a static ipv6 address. My override for reference.

services:
  traefik:
    networks:
      netbird:
        ipv6_address: "fd01:aaaa:aaaa:0201::10"

networks:
  netbird:
    enable_ipv6: true
    ipam:
      config: !override
        - subnet: "172.30.0.0/24"
          gateway: "172.30.0.1"

        - subnet: "fd01:aaaa:aaaa:0201::/64"
          gateway: "fd01:aaaa:aaaa:0201::1"
          ip_range: "fd01:aaaa:aaaa:0201:8000::/65"
  1. Edit /opt/netbird/config.yaml to add your IPv6 address to trustedHTTPProxies.
  reverseProxy:
    trustedHTTPProxies:
      - "172.30.0.10/32"
      - "fd01:aaaa:aaaa:0201::10/128"
  1. Edit /opt/netbird/proxy.env adding your IPv6 address to NB_PROXY_TRUSTED_PROXIES
NB_PROXY_TRUSTED_PROXIES=172.30.0.10,fd01:aaaa:aaaa:0201::10/128