IPv6 behind ISP router (BT - UK) - working config

Hello,

For various reasons, I'm unable to use my BT provided router (a SmartHub 2) in bridge mode. I'm therefore following the "Poor Man's Bridge" basic set-up guide, and have all my devices plugged into my OpenWRT router (an EdgeRouter X SFP) that then plugs into the SmartHub. Most things have been working fine, with the exception of IPv6 - had various flavours of "router could ping, LAN clients couldn't", "LAN clients could ping, router couldn't" plus things like opkg failing.

I thought I'd post what currently works for me in the hope it will help someone else - this took a fair bit of trial and error but has been stable so far. I won't cover anything else around the basic config of the OpenWRT device etc as the Poor Man's Bridge guide does a good job on this.

Disclaimer: I'm new to OpenWRT. This works for me. If it bricks or otherwise knackers your connection, it's not my fault :slight_smile:

Prelims
Set up the BT hub as usual (including DSL connection). Plug the OpenWRT device into one of the LAN ports. Take a backup of your current working OpenWRT config.

SmartHub Configuration

  • Firewall - leave in Default mode
  • DMZ - set to the IP of your OpenWRT device
  • Disable Wireless (assuming all traffic needs to come via the OpenWRT device)
  • IPV6 - Configuration - Enable ULA, change IPV6 address allocation to Stateful. Take note of the Link Local Address from the IPV6 Status tab (both the one under IPV6 LAN and under IPv6 WAN) and the Remote Link address from IPv6 WAN - you'll need them later. They'll start "fe80::".

OpenWRT - WAN6 Interface
GENERAL SETTINGS:

  • Protocol - DHCPv6 Client
  • Bring up on boot -yes
  • Request IPv6 address - try
  • Request prefix length - automatic

ADVANCED SETTINGS;

  • Use DNS servers advertised by peer - yes

OpenWRT - WAN Interface
DHCP SERVER - IPv6 SETTINGS

  • RA Service - relay mode
  • DHCP v6 Service - relay mode
  • NDP Proxy - relay mode
  • Master - yes
  • Announced DNS servers - use the Link Local and Remote Link Addresses from IPv6 WAN on SmartHub

OpenWRT - LAN Interface
GENERAL SETTINGS

  • IPv6 Assignment Length - 64

DHCP SERVER - IPv6 SETTINGS

  • RA Service - server mode
  • DHCP v6 Service - server mode
  • NDP-Proxy - hybrid mode
  • DHCP v6 Mode - stateful and stateless
  • Always announce default router - yes

OpenWRT - CLI settings

  • Enter CLI via SSH.
  • Use vi or another editor to edit /etc/config/network
  • Add or amend the following:

config route6
option interface 'wan6'
option target '::/0'
option gateway 'Link Local Address from IPv6 LAN on BT hub' (e.g. fe80:: ...)
option metric '256'

Save and exit.

Finishing up
To be on the safe side, ensure everything is saved and then reboot.

You should now find that your OpenWRT router gets a valid IPv6 address and can ping/traceroute etc - and so do your LAN clients. Worth testing via test-ipv6 or similar.

Advantages of this method over 'bridge' mode: should allow use of the 4G Assure or Hybrid Connect backup solutions being offered with BT 'Halo' packages; easy access to DSL connection information via the Smart Hub; not too much messing around if you need to log a support call.

Disadvantages: not sure what would happen if the IPv6 prefix changed; wireless on the Smart Hub (and therefore the BT Complete mesh solution) can't be used as it bypasses any routing that the OpenWRT device is doing.

Cheers!

Sounds strange that you declare "relay" (+master) on the wan side, but do not declare lan side correspondingly as relay. To my knowledge, LAN should be the relay slave here. That might remove the need for having to define a route separately.

Thanks - I agree there is some inconsistency in it. I tried the way you suggested and it didn’t work.

I put it down to the vagaries of trying to do it all behind another router that I had little ability to customise.

1 Like

i will try because behind my livebox 4 in france i do not have ipv6

thanks for shared

I'm trying to get this working on a similar setup. I've got a Smart Hub 2 with a Netgear WAC124 inside it, because I want to control DNS and point it to a PiHole or similar. That works for IPv4 (disable DHCP on the Smart Hub and run it on the PiHole) but IPv6 is proving a lot more difficult.

I've tried with Server mode for RA on the LAN, which assigns IPs but won't route beyond the router. I've tried with Hybrid mode on the LAN as @hnyman suggested (expecting it to possibly work but give out BT's DNS again) but I'm not seeing any change in address allocation.

BT grant an entire /56, so it feels like it should be possible to do something with this! I just don't understand IPv6 enough to work out what's wrong when IPv4 private addresses and NATing "just work".

1 Like