My ISP provides IPv6 access with a dynamic /56 prefix (say 24aa:bbcc:ddee:ff00::/56
). The modem (which is also provided by ISP) runs DHCPv6 and radvd, and I can get a global IPv6 address if connected directly to the modem.
I'm currently trying to connect a OpenWrt router to this modem. I enabled prefix delegation on the modem (sort of - see below) and configured my router correspondingly, and can confirm the router itself now has proper IPv6 Internet access. However, clients connected to my router cannot (ping6
would timeout), despite having obtained a global IPv6 address. I wonder if my settings are incorrect, or something's wrong with that modem.
/etc/config/network
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config globals 'globals'
option default_ps '0'
option ula_prefix 'fd0a:a801::/64'
config interface 'lan'
option type 'bridge'
option ifname 'eth0'
option proto 'static'
option ipaddr '10.168.1.1'
option netmask '255.255.255.0'
option ipv6 '1'
option ip6assign '64'
option ip6class 'wan6 local'
option ip6hint 'f'
config interface 'wan'
option ifname 'eth1'
option ipv6 '1'
option proto 'dhcp'
config interface 'wan6'
option ifname 'eth1'
option proto 'dhcpv6'
option sourcefilter '0'
option delegate '1'
`ifstatus wan`
{
"up": true,
"pending": false,
"available": true,
"autostart": true,
"dynamic": false,
"uptime": 9853,
"l3_device": "eth1",
"proto": "dhcp",
"device": "eth1",
"updated": [
"addresses",
"routes",
"data"
],
"metric": 0,
"dns_metric": 0,
"delegation": true,
"ipv4-address": [
{
"address": "192.168.1.4",
"mask": 24
}
],
"ipv6-address": [
],
"ipv6-prefix": [
],
"ipv6-prefix-assignment": [
],
"route": [
{
"target": "192.168.1.1",
"mask": 32,
"nexthop": "0.0.0.0",
"source": "192.168.1.4\/32"
},
{
"target": "0.0.0.0",
"mask": 0,
"nexthop": "192.168.1.1",
"source": "192.168.1.4\/32"
}
],
"dns-server": [
"192.168.1.1"
],
"dns-search": [
],
"inactive": {
"ipv4-address": [
],
"ipv6-address": [
],
"route": [
],
"dns-server": [
],
"dns-search": [
]
},
"data": {
"leasetime": 86400
}
}
`ifstatus wan6`
{
"up": true,
"pending": false,
"available": true,
"autostart": true,
"dynamic": false,
"uptime": 9677,
"l3_device": "eth1",
"proto": "dhcpv6",
"device": "eth1",
"updated": [
"prefixes"
],
"metric": 0,
"dns_metric": 0,
"delegation": true,
"ipv4-address": [
],
"ipv6-address": [
{
"address": "24aa:bbcc:ddee:ff00:a2c5:f2ff:febe:4bf7",
"mask": 128,
"preferred": 76714,
"valid": 76714
}
],
"ipv6-prefix": [
{
"address": "24aa:bbcc:ddee:ff00::",
"mask": 56,
"preferred": 76714,
"valid": 76714,
"class": "wan6",
"assigned": {
"lan": {
"address": "24aa:bbcc:ddee:ff0f::",
"mask": 64
}
}
}
],
"ipv6-prefix-assignment": [
],
"route": [
{
"target": "::",
"mask": 0,
"nexthop": "fe80::1",
"metric": 640,
"valid": 46,
"source": "::\/0"
}
],
"dns-server": [
"fe80::1"
],
"dns-search": [
],
"inactive": {
"ipv4-address": [
],
"ipv6-address": [
],
"route": [
],
"dns-server": [
],
"dns-search": [
]
},
"data": {
"passthru": "00170010fe800000000000000000000000000001"
}
}
`ifstatus lan`
{
"up": true,
"pending": false,
"available": true,
"autostart": true,
"dynamic": false,
"uptime": 9767,
"l3_device": "br-lan",
"proto": "static",
"device": "br-lan",
"updated": [
"addresses"
],
"metric": 0,
"dns_metric": 0,
"delegation": true,
"ipv4-address": [
{
"address": "10.168.1.1",
"mask": 24
}
],
"ipv6-address": [
],
"ipv6-prefix": [
],
"ipv6-prefix-assignment": [
{
"address": "24aa:bbcc:ddee:ff0f::",
"mask": 64,
"preferred": 76643,
"valid": 76643,
"local-address": {
"address": "24aa:bbcc:ddee:ff0f::1",
"mask": 64
}
},
{
"address": "fd0a:a801::",
"mask": 64,
"local-address": {
"address": "fd0a:a801::1",
"mask": 64
}
}
],
"route": [
],
"dns-server": [
],
"dns-search": [
],
"inactive": {
"ipv4-address": [
],
"ipv6-address": [
],
"route": [
],
"dns-server": [
],
"dns-search": [
]
},
"data": {
}
}
`ip addr` on the router
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br-lan state UP group default qlen 1000
link/ether a0:c5:f2:be:4b:f6 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1492 qdisc fq_codel state UNKNOWN group default qlen 1000
link/ether a0:c5:f2:be:4b:f7 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.4/24 brd 192.168.1.255 scope global eth1
valid_lft forever preferred_lft forever
inet6 24aa:bbcc:ddee:ff00:a2c5:f2ff:febe:4bf7/128 scope global noprefixroute dynamic
valid_lft 76372sec preferred_lft 76372sec
inet6 fe80::a2c5:f2ff:febe:4bf7/64 scope link
valid_lft forever preferred_lft forever
4: teql0: <> mtu 1500 qdisc noop state DOWN group default qlen 100
link/void
5: ra0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br-lan state UNKNOWN group default qlen 1000
link/ether a0:c5:f2:be:4b:f8 brd ff:ff:ff:ff:ff:ff
inet6 fe80::a2c5:f2ff:febe:4bf8/64 scope link
valid_lft forever preferred_lft forever
6: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether a0:c5:f2:be:4b:f6 brd ff:ff:ff:ff:ff:ff
inet 10.168.1.1/24 brd 10.168.1.255 scope global br-lan
valid_lft forever preferred_lft forever
inet6 24aa:bbcc:ddee:ff0f::1/64 scope global noprefixroute dynamic
valid_lft 76372sec preferred_lft 76372sec
inet6 fd0a:a801::1/64 scope global noprefixroute
valid_lft forever preferred_lft forever
inet6 fe80::a2c5:f2ff:febe:4bf6/64 scope link
valid_lft forever preferred_lft forever
7: ra1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
8: ra2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
9: ra3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
10: ra4: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
11: rax0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br-lan state UNKNOWN group default qlen 1000
link/ether a2:c5:f2:0e:4b:f8 brd ff:ff:ff:ff:ff:ff
inet6 fe80::a0c5:f2ff:fe0e:4bf8/64 scope link
valid_lft forever preferred_lft forever
12: rax1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
13: rax2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
14: rax3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
15: rax4: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
16: apcli0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether a6:c5:f2:be:4b:f8 brd ff:ff:ff:ff:ff:ff
17: apclix0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether a6:d5:f2:be:4b:f8 brd ff:ff:ff:ff:ff:ff
`ip addr` on one of the clients
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: enp0s31f6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 6c:4b:90:36:f5:df brd ff:ff:ff:ff:ff:ff
inet 10.168.1.254/24 brd 10.168.1.255 scope global dynamic noprefixroute enp0s31f6
valid_lft 33236sec preferred_lft 33236sec
inet6 fd0a:a801::57a7:ed0f:cebc:83be/64 scope global noprefixroute
valid_lft forever preferred_lft forever
inet6 24aa:bbcc:ddee:ff0f:556c:69e9:8bf8:ec4f/64 scope global dynamic noprefixroute
valid_lft 76440sec preferred_lft 76440sec
inet6 fe80::5d02:dacd:5f71:2819/64 scope link noprefixroute
valid_lft forever preferred_lft forever
Thanks in advance.