I have a dual WAN (both FTTH) setup on Linksys WRT32X:
Main (China Unicom, metric 0): ONU runs in bridge mode and WRT32X dials PPPoE.
Backup (China Mobile, metric 20): ONU runs in router mode, and WRT32X is a DHCPv4 client.
CU only allocates /64s through DHCPv6 on top of PPPoE, so I turned on relay mode on the LAN interface.
LAN devices are assigned IPv6 addresses, and DNSv6 works, but IPv6 hosts on the Internet are unreachable until I ping WRT32X’s IPv6 address from LAN.
It seems to be a neighbor discovery issue, but I don’t know enough about network engineering.
Before I ping WRT32X:
root@Linksys04943:~# ip n
192.168.123.1 dev br-lan.4 lladdr 06:a1:51:b7:67:7b ref 1 used 0/0/0 probes 1 REACHABLE
192.168.122.141 dev br-lan.1 lladdr 04:7c:16:1a:ea:d1 ref 1 used 0/0/0 probes 1 REACHABLE
192.168.124.142 dev br-wifi lladdr 56:7a:ea:05:6b:06 used 0/0/0 probes 1 STALE
fe80::845c:69de:362e:800b dev br-lan.1 lladdr 04:7c:16:1a:ea:d1 ref 1 used 0/0/0 probes 1 REACHABLE
root@Linksys04943:~# ip -6 r
default from 2408:8234:3f03:3d7::/64 via fe80::ce1a:faff:feed:8f40 dev pppoe-wan metric 512
default from 2408:8234:3f13:683::/64 via fe80::ce1a:faff:feed:8f40 dev pppoe-wan metric 512
unreachable 2408:8234:3f03:3d7::/64 dev lo metric 2147483647
unreachable 2408:8234:3f13:683::/64 dev lo metric 2147483647
unreachable fd92:f364:6f88::/48 dev lo metric 2147483647
fe80::6238:e018:25c1:e088 dev pppoe-wan metric 256
fe80::ce1a:faff:feed:8f40 dev pppoe-wan metric 256
fe80::/64 dev eth0 metric 256
fe80::/64 dev br-wifi metric 256
fe80::/64 dev br-lan metric 256
fe80::/64 dev br-lan.1 metric 256
fe80::/64 dev br-lan.4 metric 256
fe80::/64 dev wan metric 256
fe80::/64 dev phy0-ap0 metric 256
fe80::/64 dev phy1-ap0 metric 256
anycast 2408:8234:3f03:3d7:: dev pppoe-wan metric 0
anycast fe80:: dev eth0 metric 0
anycast fe80:: dev br-wifi metric 0
anycast fe80:: dev br-lan.4 metric 0
anycast fe80:: dev br-lan.1 metric 0
anycast fe80:: dev br-lan metric 0
anycast fe80:: dev wan metric 0
anycast fe80:: dev phy0-ap0 metric 0
anycast fe80:: dev phy1-ap0 metric 0
multicast ff00::/8 dev eth0 metric 256
multicast ff00::/8 dev br-wifi metric 256
multicast ff00::/8 dev br-lan metric 256
multicast ff00::/8 dev br-lan.1 metric 256
multicast ff00::/8 dev br-lan.4 metric 256
multicast ff00::/8 dev wan metric 256
multicast ff00::/8 dev pppoe-wan metric 256
multicast ff00::/8 dev phy0-ap0 metric 256
multicast ff00::/8 dev phy1-ap0 metric 256
After I ping WRT32X:
root@Linksys04943:~# ip n
192.168.123.1 dev br-lan.4 lladdr 06:a1:51:b7:67:7b ref 1 used 0/0/0 probes 1 REACHABLE
192.168.122.141 dev br-lan.1 lladdr 04:7c:16:1a:ea:d1 ref 1 used 0/0/0 probes 1 REACHABLE
192.168.124.142 dev br-wifi lladdr 56:7a:ea:05:6b:06 ref 1 used 0/0/0 probes 1 REACHABLE
fe80::4a1:51ff:feb7:677b dev br-lan.4 lladdr 06:a1:51:b7:67:7b router used 0/0/0 probes 0 STALE
2408:8234:3f03:3d7[redacted] dev br-lan.1 lladdr 04:7c:16:1a:ea:d1 ref 1 used 0/0/0 probes 1 REACHABLE
fe80::845c:69de:362e:800b dev br-lan.1 lladdr 04:7c:16:1a:ea:d1 used 0/0/0 probes 1 STALE
root@Linksys04943:~# ip -6 r
default from 2408:8234:3f03:3d7::/64 via fe80::ce1a:faff:feed:8f40 dev pppoe-wan metric 512
default from 2408:8234:3f13:683::/64 via fe80::ce1a:faff:feed:8f40 dev pppoe-wan metric 512
2408:8234:3f03:3d7[redacted] dev br-lan.1 metric 1024
unreachable 2408:8234:3f03:3d7::/64 dev lo metric 2147483647
unreachable 2408:8234:3f13:683::/64 dev lo metric 2147483647
unreachable fd92:f364:6f88::/48 dev lo metric 2147483647
fe80::6238:e018:25c1:e088 dev pppoe-wan metric 256
fe80::ce1a:faff:feed:8f40 dev pppoe-wan metric 256
fe80::/64 dev eth0 metric 256
fe80::/64 dev br-wifi metric 256
fe80::/64 dev br-lan metric 256
fe80::/64 dev br-lan.1 metric 256
fe80::/64 dev br-lan.4 metric 256
fe80::/64 dev wan metric 256
fe80::/64 dev phy0-ap0 metric 256
fe80::/64 dev phy1-ap0 metric 256
anycast 2408:8234:3f03:3d7:: dev pppoe-wan metric 0
anycast fe80:: dev eth0 metric 0
anycast fe80:: dev br-wifi metric 0
anycast fe80:: dev br-lan.4 metric 0
anycast fe80:: dev br-lan.1 metric 0
anycast fe80:: dev br-lan metric 0
anycast fe80:: dev wan metric 0
anycast fe80:: dev phy0-ap0 metric 0
anycast fe80:: dev phy1-ap0 metric 0
multicast ff00::/8 dev eth0 metric 256
multicast ff00::/8 dev br-wifi metric 256
multicast ff00::/8 dev br-lan metric 256
multicast ff00::/8 dev br-lan.1 metric 256
multicast ff00::/8 dev br-lan.4 metric 256
multicast ff00::/8 dev wan metric 256
multicast ff00::/8 dev pppoe-wan metric 256
multicast ff00::/8 dev phy0-ap0 metric 256
multicast ff00::/8 dev phy1-ap0 metric 256
/etc/config/dhcp:
config dnsmasq
option domainneeded '1'
option localise_queries '1'
option rebind_protection '1'
option rebind_localhost '1'
option local '/lan/'
option domain 'lan'
option expandhosts '1'
option authoritative '1'
option readethers '1'
option leasefile '/tmp/dhcp.leases'
option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto'
option localservice '1'
option ednspacket_max '1232'
config dhcp 'lan'
option interface 'lan'
option start '100'
option limit '150'
option leasetime '12h'
option dhcpv4 'server'
option ra 'relay'
option dhcpv6 'relay'
option ndp 'relay'
option ndproxy_slave '1'
config dhcp 'wan'
option interface 'wan'
option ignore '1'
option master '1'
option ra 'relay'
option dhcpv6 'relay'
option ndp 'relay'
config odhcpd 'odhcpd'
option maindhcp '0'
option leasefile '/tmp/hosts/odhcpd'
option leasetrigger '/usr/sbin/odhcpd-update'
option loglevel '4'
config dhcp 'wifi'
option interface 'wifi'
option start '100'
option limit '150'
option leasetime '12h'
list ra_flags 'none'