[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: IPv6 with Zen in the UK



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.


Reply to: