So far as I can make out from what I've tried, OpenWRT cannot auto-configure a WAN interface via SLAAC in the absence of a DHCPv6 server.
We're a small business and had to switch our fiber provider. The new provider came and installed what appears to be a terminating gateway/router (a Cisco Catalyst 3650). We received an email detailing an IPv4 range (/29( and an "IPv6 subnet" (a /56), each with a gateway.
I connected the single active port from the Cisco to the WAN port on our WRT3200ACM.
IPv4 was a breeze:
- Set WAN to static address
- configure the gateway address from the IPv4 range as gateway
- configure a static IPv4 from the IPv4 range
- IPv4 works
- clients on the LAN side receive DHCPv4 addresses, have NATed connectivity etc.
The issue is IPv6.
The only thing that gateway sends out for IPv6 is a single ICMPv6 Router Advertisement packet, which contains a prefix:
09:18:55.920887 IP6 (class 0xe0, hlim 255, next-header ICMPv6 (58) payload length: 64) fe80::bee7:12ff:fe59:f056 > ip6-allnodes: [icmp6 sum ok] ICMP6, router advertisement, length 64
hop limit 64, Flags [none], pref medium, router lifetime 1800s, reachable time 0ms, retrans timer 0ms
source link-address option (1), length 8 (1): bc:e7:xx:xx:xx:56
0x0000: bce7 xxxx xx56
mtu option (5), length 8 (1): 1500
0x0000: 0000 0000 05dc
prefix info option (3), length 32 (4): 2001:xxxx:xxxx:3500::/56, Flags [onlink, auto], valid time 2592000s, pref. time 604800s
0x0000: 38c0 0027 8d00 0009 3a80 0000 0000 2001
0x0010: xxxx xxxx 3500 0000 0000 0000 0000
No matter what I do, how I configure the WAN interface, it never auto-configures a SLAAC address or requests a (partial) prefix.
Tried:
- configure WAN6 interface as DHCPv6 -> no address or prefix configured on either WAN or LAN interfaces
- configured WAN6 and LAN in relay mode as per https://openwrt.org/docs/guide-user/network/ipv6/start#ipv6_relay -> no address or prefix configured on either WAN or LAN interfaces, clients in LAN do not auto-configure addresses
- manually configured the /56 prefix + IPv6 address from subnet on WAN interface, prefix assignment length on LAN -> WAN interface can now be pinged from outside, LAN interface now has an IPv6 from a smaller subnet, but cannot be pinged from outside, presumably because the fiber gateway doesn't know how to route the address (as inferred from tcpdump showing ND solicitations but no answers)
- set "reqprefix" to "no" and "noslaaconly" to "0" explicitely as per https://openwrt.org/docs/guide-user/network/ipv6/start#protocol_dhcpv6 -> no address configured
I've sifted through countless forum topics and stackoverflow topics, but have not found any information on this scenario, which leads me to the conclusion that this scenario is either not supported by OpenWRT or the IPv6 implementation is somehow partially broken?
Any help or pointers to the contrary would be greatly appreciated. Perhaps I've simply overlook or misunderstood something.