Skip to content

Instantly share code, notes, and snippets.

@dougbtv
Created April 22, 2026 11:45
Show Gist options
  • Select an option

  • Save dougbtv/168d163cbda31fcf110b815f5469701d to your computer and use it in GitHub Desktop.

Select an option

Save dougbtv/168d163cbda31fcf110b815f5469701d to your computer and use it in GitHub Desktop.
Home network IPv6 upgrade path — GMAVT/AS12282, ASUS ZenWifi AX, Fedora desktop

Home Network IPv6 Upgrade Path

Current Setup (as of 2026-04-22)

  • Desktop: Fedora 42 (Linux 6.17.11), eno1 on 192.168.50.198/24
  • Router: ASUS ZenWifi AX (192.168.50.1)
  • ISP: GMAVT / Green Mountain Access (AS12282), PPPoE connection
  • Public IP: 69.54.3.214 (pppoe-3.214.gmavt.net)
  • Location: Starksboro, VT

IPv6 Status — Desktop

Item Status
Kernel IPv6 Enabled (disable_ipv6 = 0)
Global IPv6 address on LAN None — only fe80:: link-local
IPv6 gateway None
accept_ra on eno1 0 (not accepting Router Advertisements)
NetworkManager ipv6.method auto (ready to go once RAs arrive)
IPv6 internet connectivity No — ping6 / curl -6 both fail
VPN (tun0) Grabs default IPv6 route but doesn't route public v6 traffic
Tailscale Private fd7a:: address only

IPv6 Status — ISP (GMAVT / AS12282)

GMAVT does announce IPv6 prefixes upstream. This is encouraging.

  • IPv6 prefixes originated: 2001:18b0::/32, 2606:1440::/32
  • IPv6 upstreams: AS3356 (Lumen/Level 3) ✔, AS22302 (INOC) ✔
  • IPv6 peers: 2 of 4 peers have IPv6

Source: bgp.tools/as/12282

So the backbone supports it — the question is whether they're handing out prefixes to residential PPPoE customers.

The Bottleneck

The ASUS ZenWifi AX router is doing PPPoE to GMAVT and NATting IPv4 to the LAN. It is not currently providing any IPv6 to LAN clients (no Router Advertisements, no DHCPv6).

Two possible reasons:

  1. GMAVT hasn't provisioned IPv6 on this circuit — they announce the prefixes but may not be delegating them to all PPPoE sessions yet.
  2. The ASUS router isn't configured for IPv6 — it supports IPv6 but it may be set to "Disabled" or "Native" without the right upstream config.

Upgrade Path

Step 1: Call GMAVT

Ask their support (24/7 toll-free):

"Do you support IPv6 on my residential PPPoE circuit? Can you enable DHCPv6 Prefix Delegation?"

This is the make-or-break question. If they say no, skip to the fallback plan.

Step 2: Configure the ASUS ZenWifi AX

The ZenWifi AX (running ASUSWRT or Merlin) supports IPv6. In the admin UI:

  1. Go to Advanced Settings → IPv6
  2. Set Connection type: Native (or PPPoE if they require it for v6 too)
  3. Set DHCP-PD: Enable
  4. Set Get IPv6 address: Auto / DHCPv6
  5. Under LAN settings:
    • Auto Configuration: Enable
    • Router Advertisement: Enable
  6. Apply and reboot

If GMAVT uses DHCPv6-PD (Prefix Delegation), the router should receive a /48 or /56 prefix and start advertising a /64 to LAN clients via SLAAC/RA.

Step 3: Verify on the Desktop

Once the router is advertising IPv6:

# Check for a global IPv6 address
ip -6 addr show eno1

# Test connectivity
ping6 google.com
curl -6 https://ifconfig.co

# Full test
curl -s https://test-ipv6.com/ | grep -i score

Note: accept_ra is currently 0 on eno1. NetworkManager should handle this automatically when it detects RAs. If not:

sudo sysctl -w net.ipv6.conf.eno1.accept_ra=1

Step 4: Deal with the VPN

The Red Hat VPN (tun0) currently grabs the default IPv6 route but doesn't pass public IPv6 traffic. Once native IPv6 is working, you may need to:

  • Configure split-tunnel so IPv6 traffic bypasses the VPN
  • Or set ipv6.never-default=yes on the VPN connection:
    nmcli connection modify <vpn-connection> ipv6.never-default yes

Fallback: Hurricane Electric Tunnel Broker

If GMAVT doesn't offer IPv6 to residential customers:

  1. Sign up at tunnelbroker.net (free)
  2. Create a tunnel — you'll get a /48 prefix
  3. Configure a 6in4 tunnel on the ASUS router (it supports this under IPv6 → "Tunnel 6in4")
  4. Enter the HE tunnel server, your IPv4 endpoint, and the allocated prefix

Downside: adds ~10-20ms latency (tunnel overhead), and your PPPoE IP needs to be stable (it appears to be, based on the hostname).

Goal

Drop the $50/month IPv4 cost by moving services to IPv6-only (or dual-stack) once upstream connectivity is confirmed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment