Hi Marco, On Saturday 01 April 2023 at 15:15:25 +0000, Marco wrote: > Am 01.04.2023 um 15:38:59 Uhr schrieb Mike Crowe: > > > It looks like they use DHCPv6 to delegate the LAN prefix(es), but I'd > > (possibly incorrectly assumed) that this sentence from their email: > > DHCPv6 prefix delegation is the next step, you need to configure the > transport network first.
True. That's why I'd not worried about the DHCPv6 part at first. > > meant that I should expect to receive a RA with a /64 prefix for the > > WAN interface address. (Earlier in the email is a /64 described as > > the "ND prefix" along with a /48 described as the "delegation > > prefix".) > > That sounds common. > > > If they expected me to use DHCPv6 for this wouldn't they have set the > > M bit in the RA? > > True, does it appear? No it didn't. Sorry, I should have made that clearer. > Is the RA you received like they described it? I don't think so. I receive one of these router advertisements every ten minutes and three seconds from the link-local address of the remote reported by pppd: --8<-- Frame 338: 72 bytes on wire (576 bits), 72 bytes captured (576 bits) on interface ppp0, id 0 Linux cooked capture v1 Internet Protocol Version 6, Src: fe80::1a2a:d3ff:fe7f:402f, Dst: ff02::1 Internet Control Message Protocol v6 Type: Router Advertisement (134) Code: 0 Checksum: 0x084f [correct] [Checksum Status: Good] Cur hop limit: 64 Flags: 0x00, Prf (Default Router Preference): Medium 0... .... = Managed address configuration: Not set .0.. .... = Other configuration: Not set ..0. .... = Home Agent: Not set ...0 0... = Prf (Default Router Preference): Medium (0) .... .0.. = Proxy: Not set .... ..0. = Reserved: 0 Router lifetime (s): 1800 Reachable time (ms): 0 Retrans timer (ms): 0 -->8-- > You can use rdisc6 to manually send a solicitation to receive it. Rather strangely, running rdisc6 does cause router solicitations to be sent as would be expected, but they don't seem to provoke any response. The DHCPv6 replies I'm getting contain a similar lack of useful content: --8<-- Frame 6342: 292 bytes on wire (2336 bits), 292 bytes captured (2336 bits) on interface ppp0, id 0 Linux cooked capture v1 Internet Protocol Version 6, Src: fe80::1a2a:d3ff:fe7f:402f, Dst: fe80::908a:1946:a823:61a4 User Datagram Protocol, Src Port: 547, Dst Port: 546 DHCPv6 Message type: Reply (7) Transaction ID: 0x851501 Client Identifier Option: Client Identifier (1) Length: 14 DUID: 000100012bbb351b54e6fc80f06c DUID Type: link-layer address plus time (1) Hardware type: Ethernet (1) DUID Time: Apr 1, 2023 19:31:55.000000000 BST Link-layer address: 54:e6:fc:80:f0:6c Server Identifier Option: Server Identifier (2) Length: 26 DUID: 00020000058331383a32613a64333a37663a34383a3130000000 DUID Type: assigned by vendor based on Enterprise number (2) Enterprise ID: Juniper Networks/Funk Software (1411) Identifier: 31383a32613a64333a37663a34383a3130000000 Identity Association for Non-temporary Address Option: Identity Association for Non-temporary Address (3) Length: 87 IAID: 00000001 T1: 0 T2: 0 IA Address Option: IA Address (5) Length: 71 IPv6 address: :: Preferred lifetime: 0 Valid lifetime: 0 Status code Option: Status code (13) Length: 43 Status Code: NoAddrAvail (2) Status Message: No addresses have been assigned for IA_NA Identity Association for Prefix Delegation Option: Identity Association for Prefix Delegation (25) Length: 77 IAID: 00000001 T1: 0 T2: 0 IA Prefix Option: IA Prefix (26) Length: 61 Preferred lifetime: 0 Valid lifetime: 0 Prefix length: 128 Prefix address: :: Status code Rapid Commit -->8-- I based my dhcp6c configuration on the example at https://github.com/torhve/blag/blob/master/using-dnsmasq-for-dhcpv6.md : --8<-- interface ppp0 { # request a non-temporary address send ia-na 1; # request prefix delegation address send ia-pd 1; # send rapid commit, don't wait for RA send rapid-commit; }; id-assoc pd 1 { # internal facing interface (LAN), you can duplicate this section if you want more subnets for more interfaces prefix-interface eth-local { # subnet. Combined with ia-pd to configure the subnet for this interface. sla-id 0; #IP address "postfix". if not set it will use EUI-64 address of the interface. Combined with SLA-ID'd prefix to create full IP address of interface. In my case, ifid 1 means that eth1 will get a IPv6 ending with ::1 ifid 1; # prefix bits assigned. Take the prefix size you're assigned (something like /48 or /56) and subtract it from 64. In my case I was being assigned a /56, so 64-56=8 sla-len 8; }; }; id-assoc na 1 { # id-assoc for ppp0 }; -->8-- (I now notice that the sla-len is wrong, but I doubt that matters yet.) Thanks. Mike.