OpenWrt behind ISP Router: IPv6 Pass On Global Präfix/Adresses

Hi,

maybe you can help me.
I got the following situation:

UM Router (Fritzbox)
      |
      |
OpenWRT-Router
 |     |   |
 |     |   |
Net1 Net2 Net3

Net1,2 and 3 got fd42:0:0:1000::/64 fd42:0:0:1001::/64 fd42:0:0:1002::/64 adresses from the openWRT Router. The Fritzbox itself also got a fd42:0:0:1010::/64-network.

From which i read from the Webinterface of the fritzbox it gaves me a 59Bit IPv6 Präfix. But my Problem is, I dont know how to config the fritzbox, nether the OpenWRT Router to share this pool with the other networks.

Can you figure out what to do?

Feel free to ask if something is unclear.

Thanks,
Sebastian

  • that isn't a Global IPv6 address, see: https://en.wikipedia.org/wiki/Unique_local_address
  • If there's a prefix assigned to the Fritzbox
    • assign an IPv6 address on the WAN6 interface from that prefix
    • configure each LAN to receive a /64; or
    • select disabled and assign a static prefix

This:

Or, this:

Also, per the Community Guidelines, please refrain from signing your posts.

The question is whether this is statically assigned to you, in which case you should use the static assignments that @lleachii mentions, or if it's assigned by DHCPv6-PD (Prefix Delegation) in which case as long as you set ipv6 assignment length 64 it should already be showing up on your nets.

The fact that the ULA addresses are showing up but the public prefixes aren't suggests that you already have assignment length 64 set up, and that you are getting a static prefix on your fritzbox and it's not getting PD delegated to your openwrt. This means you probably need to do static assignments, which should include static ULA assignments.

Okay, now I have the wan interface on the openwrt router configured like this:


I dont get a IPv6 Adress. Not a local, not a global one..

My Fritzbox looks like this:

What am I doing wrong? :frowning:

the WAN on your router shouldn't look like that at all.

On default out of the box install, you should have WAN set up as DHCP client, and WAN6 set up as a DHCPv6 client, which gives 3 pull down menus:

Protocol (DHCPv6 client)
Request IPv6-address (try)
Request IPv6-prefix of length (Automatic)

You can change the last one to 59 via custom setting. If you fritzbox is capable of delegating... it should be all you need.

on the various LAN interfaces you should have it set up to assign /64 to each, and you should use

  1. Router Advertisement Service = server
  2. DHCPv6-Service = server
  3. NDP-proxy = disabled

hmm, I only get fd42 adresses that way.. not global ones :confused:

Read the prefix off the Fritzbox and type in a subprefix statically to each LAN.

Actually, I take it back. Set WAN6 to be static address, give it the prefix manually there, it will sub-prefix the LANs itself.

Have you enabled the DHCPv6 server in fritzbox? When enabled openwrt with default settings should be able to receive a prefix delegation.

https://en.avm.de/service/fritzbox/fritzbox-7590/knowledge-base/publication/show/1239_Setting-up-an-IPv6-subnet-in-the-FRITZ-Box/

Yes the DHCPv6 at the fritzbox is on and the "allow other prefix" option is also active..
Still I dont get an delegation..

I heard from the forum of my ISP, that they configure the fritzbox that way, that it only shares a 64Prefix.

How about the idea having one 64prefix for all LANs?
Having IPv4-wise 4 seperate networks plus the WAN Network to the Fritzbox and IPv6(GlobalAdresses) wise one big network? Is that possible? If yes, can we have it that way, that v6-global adresses (in one Prefix) are shared to all networks, but each network has their own ULA-Prefix(adressspace)?

Does that make sense?

Verify that your prefixes are assigned correctly:

ifstatus wan6
ifstatus lan1
ifstatus lan2
ifstatus lan3

Proper routing requires different prefixes and /64 is the smallest recommended.

In this case, just statically assign your addresses and prefix on the wan6 of your openwrt router, based on reading them off the fritzbox.

1 Like

Fritzbox also has to be configured with a static route for that prefix with the openwrt router as gateway.

2 Likes

Okay, so now I've got a HE Tunnel running on my fritzbox.
So the fritzbox tells me:
IPv4-Adresse: 84.118.XX.XX
IPv6-Adresse: 2001:470:XXX:9b2::2
IPv6-Präfix: 2001:470:XXXX::/48

In openwrt it looks like this:

the problem is that my lan didnt get any ipv6 adresses:

Can anyone help me here?

ifstatus wan6
ifstatus lan1
ifstatus lan2
ifstatus lan3

I just posted ifstatus wan and lan, because, the lans are all the same configuration-wise.

ifstatus wan                                                                                                                   
{
        "up": true,
        "pending": false,
        "available": true,
        "autostart": true,
        "dynamic": false,
        "uptime": 32499,
        "l3_device": "eth0.1",
        "proto": "static",
        "device": "eth0.1",
        "updated": [
                "addresses",
                "routes",
                "prefixes"
        ],
        "metric": 0,
        "dns_metric": 0,
        "delegation": false,
        "ipv4-address": [
                {
                        "address": "10.0.10.1",
                        "mask": 24
                }
        ],
        "ipv6-address": [
                {
                        "address": "2001:470:xxxx:1010::1",
                        "mask": 64
                }
        ],
        "ipv6-prefix": [
                {
                        "address": "2001:470:xxxx::",
                        "mask": 59,
                        "class": "wan",
                        "assigned": {
                                
                        }
                }
        ],
        "ipv6-prefix-assignment": [
                
        ],
        "route": [
                {
                        "target": "fd42:0:0:1010::",
                        "mask": 128,
                        "nexthop": "fd42:0:0:1010::1",
                        "source": "::\/0"
                },
                {
                        "target": "10.0.10.0",
                        "mask": 24,
                        "nexthop": "0.0.0.0",
                        "mtu": 1500,
                        "metric": 0,
                        "source": "0.0.0.0\/0"
                },
                {
                        "target": "0.0.0.0",
                        "mask": 0,
                        "nexthop": "10.0.10.10",
                        "source": "0.0.0.0\/0"
                },
                {
                        "target": "0.0.0.0",
                        "mask": 0,
                        "nexthop": "10.0.10.10",
                        "source": "0.0.0.0\/0"
                }
        ],
        "dns-server": [
                "46.182.19.48",
                "2a02:2970:1002::18",
                "1.1.1.1"
        ],
        "dns-search": [
                
        ],
        "inactive": {
                "ipv4-address": [
                        
                ],
                "ipv6-address": [
                        
                ],
                "route": [
                        
                ],
                "dns-server": [
                        
                ],
                "dns-search": [
                        
                ]
        },
        "data": {
                
        }
}





ifstatus LAN                                                                                                                   
{
        "up": true,
        "pending": false,
        "available": true,
        "autostart": true,
        "dynamic": false,
        "uptime": 77615,
        "l3_device": "eth0.2",
        "proto": "static",
        "device": "eth0.2",
        "updated": [
                "addresses",
                "routes"
        ],
        "metric": 0,
        "dns_metric": 0,
        "delegation": true,
        "ipv4-address": [
                {
                        "address": "10.0.0.1",
                        "mask": 24
                }
        ],
        "ipv6-address": [
                
        ],
        "ipv6-prefix": [
                
        ],
        "ipv6-prefix-assignment": [
                
        ],
        "route": [
                {
                        "target": "fd42:0:0:1000::",
                        "mask": 128,
                        "nexthop": "fd42:0:0:1000::1",
                        "source": "::\/0"
                },
                {
                        "target": "10.0.0.0",
                        "mask": 24,
                        "nexthop": "0.0.0.0",
                        "mtu": 1500,
                        "metric": 0,
                        "source": "0.0.0.0\/0"
                },
                {
                        "target": "0.0.0.0",
                        "mask": 0,
                        "nexthop": "10.0.0.1",
                        "source": "0.0.0.0\/0"
                }
        ],
        "dns-server": [
                "46.182.19.48",
                "2a02:2970:1002::18",
                "1.1.1.1"
        ],
        "dns-search": [
                
        ],
        "inactive": {
                "ipv4-address": [
                        
                ],
                "ipv6-address": [
                        
                ],
                "route": [
                        
                ],
                "dns-server": [
                        
                ],
                "dns-search": [
                        
                ]
        },
        "data": {
                
        }
}







Your configuration is significantly different from the default.
This might be the reason why prefix assignment/delegation is not working.

Try this way:

uci set network.LAN.ip6assign="64"
uci set network.LAN.ip6hint="1"
uci set network.LAN.ip6class="wan"
uci commit network
service network restart
sleep 30
ifstatus wan
ifstatus LAN

If nothing changes, then I recommend the following:

  • Upgrade to the latest stable OpenWrt release.
  • Revert to factory default configuration.
  • Use separate interface names for WAN, i.e. wan for IPv4 and wan6 for IPv6.
  • Use lowercase interface names for LAN, i.e. lan1, lan2, lan3.

okay, now i got global ipv6 adresses in all lans. thank you for that! :slight_smile: But no local adresses anymore? no fd42.. there :frowning: How Do I fix that?

In IPv4 I have to make static route on the fritzbox for the local LANs (gateway the wan adress of the openwrt router). What do I have to do in IPv6? Because I dont have internet access on those LANs eventhough i got a global address.

Sorry for being a newbe in ipv6..

You need a static IPv6 route for the global IPv6 prefix used on the openwrt router.

This route should be configured on the fritzbox right?
like this?