LÉVAI Dániel @ 2016-01-31T14:10:21 +0100:
> Stuart Henderson @ 2016-01-30T23:01:54 +0100:
> > On 2016-01-30, LÉVAI Dániel <[email protected]> wrote:
> > > Hi!
> > >
> > > My ISP recently enabled ipv6 on their network, and started sending
> > > router advertisements (offering a /64 prefix) on their pppoe end. So now
> > > I have an autoconf'd v6 address on my pppoe0 device (yay!), and I wish
> > > to set my in-home devices a v6 address each.
> [...]
> > You aren't supposed to have addresses within the same /64 on more than
> > one interface.
> > 
> > The normal method is that you get an address for the PPP interface using
> > SLAAC autoconf (as you have now), and request one or more *additional* /64s
> > using DHCPv6-PD (prefix delegation) - one per interface. The DHCPv6 client
> > assigns to "downstream" (client-facing) interfaces from this assignment,
> > and you would use rtadvd to advertise the prefix (and possibly other
> > information) to clients.
> > 
> > There is no software in OpenBSD base to handle prefix delegation.
> > I recommend "dhcpcd" from packages and I've added a pkg-readme with a
> > minimal setup to handle just this (it is also a full-featured DHCP client
> > for v4, but I'm personally only using it for v6). Unlike some alternatives
> > it is actively maintained upstream by a responsive developer.
[...]
> re1: IAID <>
> pppoe0: IAID 00:00:00:01
> pppoe0: IAID 00:00:00:02
> pppoe0: no useable IA found in lease
> pppoe0: dhcp6_readlease: /var/db/dhcpcd-pppoe0.lease6: No such process
> pppoe0: soliciting a DHCPv6 lease
> athn0: IAID <>
> athn1: IAID <>
> pppoe0: ADV 2a01:36d:300:<>::/64 from fe80::5dd9:bcc7:cbab:8bb8
> pppoe0: REPLY6 received from fe80::5dd9:bcc7:cbab:8bb8
> re1: adding address 2a01:36d:300:<1>::1/72
> athn0: preferring 2a01:36d:300:<1>::1/72 on re1
> athn1: preferring 2a01:36d:300:<1>::1/72 on re1
> pppoe0: renew in 302400 seconds, rebind in 483840 seconds
> pppoe0: adding reject route to 2a01:36d:300:<>::/64 via ::1
> athn0: adding route to 2a01:36d:300:<1>::/72
> forked to background, child pid 346
[...]
> Do I understand it correctly, that this should delegate each interface a
> /72, while leaving pppoe0's autoconf[privacy]'d addresses intact?

So turns out, that if I request anything other than sla_id 0 or 1, I get
another subnet, but with a /72 prefix. Also, using:
ia_pd 1 re1/1 athn0/2 athn1/3
... resulted in the same subnet/prefix sent to me, for all interfaces.

For some reason I had to increment the sla_ids by 4 to get another
subnet. So:
ia_pd 1 re1/1 athn0/4 athn1/8
... actually worked, and got three different subnets, but all came with
a /72 prefix. And for some other reason, none of my devices (Linux,
Android, Chromecast...) would accept a /72 address advertised, so
although they all got a reply for their rtsol, they ignored it...

I'm now just requesting one PD, with sla_id 0, assigning that to re1,
bridging the athns and re1 together, and running rtadvd(8) on re1.


Daniel

-- 
LÉVAI Dániel
PGP key ID = 0x83B63A8F
Key fingerprint = DBEC C66B A47A DFA2 792D  650C C69B BE4C 83B6 3A8F

Reply via email to