thesilence
New Around Here
Hi. After installing Merlin 3006.102.5 on my new rt-be92u I was trawling through the menus and found Network>(network)>Advanced Settings>IPV6. As I have a /48 via 'native' I thought I'd give it a test, immediately breaking ipv6 SLAAC. A quick ssh into the router saw that the switch had sliced the main network's /64 into a /72 instead of subnetting another 64 from /48, not good. Does this work for anyone with "native" ipv6? I understand that the SDN stuff is considered 'beta' here.
The TLDR is that I got this working, automatically providing separate /64's to the main and any guest networks I choose, entirely from the GUI. I needed to tweak the bridges via ssh to remove eth1.(vlan#) to stop windows machines on the LAN getting confused with multiple ULA routing, but all other devices seem to work immediately.
If someone can point me to where the subnetting calculations take place in the code that would be great, because my success is a hack and I don't fully understand why LAN prefixes are not always /64 here, it feels like a typo someplace has calculations on LAN prefix length instead of the delegation size, at least.
If anyone is interested in testing, for this recipe you'll need:
- an ISP who provides a _static_ /56 or /48
- at least 1 guest network that does not use the same network as the main network
- Network>(guest network)>Advanced Settings>IPV6
1. configure static ipv6 with a /56 LAN prefix length. If you have a /48 it still needs to be /56 to work.
2. apply. This will give /56 subnets on the main network, breaking ipv6 until the next step.
3. enable Network>(network)>Advanced Settings>IPV6
4. apply. This will nibble away at the /56 subnet, and ta-da, all /64's, with the main network and any guest networks each getting their own /64 out of the /56 delegation.
Any ideas why this works and 'native' doesn't?
The TLDR is that I got this working, automatically providing separate /64's to the main and any guest networks I choose, entirely from the GUI. I needed to tweak the bridges via ssh to remove eth1.(vlan#) to stop windows machines on the LAN getting confused with multiple ULA routing, but all other devices seem to work immediately.
If someone can point me to where the subnetting calculations take place in the code that would be great, because my success is a hack and I don't fully understand why LAN prefixes are not always /64 here, it feels like a typo someplace has calculations on LAN prefix length instead of the delegation size, at least.
If anyone is interested in testing, for this recipe you'll need:
- an ISP who provides a _static_ /56 or /48
- at least 1 guest network that does not use the same network as the main network
- Network>(guest network)>Advanced Settings>IPV6
1. configure static ipv6 with a /56 LAN prefix length. If you have a /48 it still needs to be /56 to work.
2. apply. This will give /56 subnets on the main network, breaking ipv6 until the next step.
3. enable Network>(network)>Advanced Settings>IPV6
4. apply. This will nibble away at the /56 subnet, and ta-da, all /64's, with the main network and any guest networks each getting their own /64 out of the /56 delegation.
Any ideas why this works and 'native' doesn't?