Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Should my dhcpv6 clients also get a /64 address?

    Scheduled Pinned Locked Moved IPv6
    26 Posts 5 Posters 204 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • J
      jarmo @JKnott
      last edited by

      @JKnott said in Should my dhcpv6 clients also get a /64 address?:

      Also, is there some reason you're using DHCP6 on the LAN? Normally SLAAC does all you need and Android devices don't support DHCP6.

      I do not know why I should be running one or the other.

      But as suspected above, slaac might be the solution: I just changed the router advertisement mode of an interface to slaac only, and in that interface, clients get one /64 address from a correct subnetwork.

      So... a solution but no explanation?

      Thanks!

      GertjanG JKnottJ 2 Replies Last reply Reply Quote 0
      • GertjanG
        Gertjan @jarmo
        last edited by

        @jarmo said in Should my dhcpv6 clients also get a /64 address?:

        clients get one /64 address

        a /64 addresses isn't an addresses, it's more an 'network' (imho).

        I asked my NAS to renew its Ipv6 lease :

        10:49:34.954022 00:11:32:a7:d5:88 > 33:33:00:01:00:02, ethertype IPv6 (0x86dd), length 129: (hlim 1, next-header UDP (17) payload length: 75) fe80::211:32ff:fea7:d588.546 > ff02::1:2.547: [udp sum ok] dhcp6 solicit (xid=123d36 (client-ID hwaddr type 1 001132a7d588) (option-request DNS-server DNS-search-list) (elapsed-time 0) (Client-FQDN) (IA_NA IAID:849859976 T1:3600 T2:5400))
        10:49:34.954799 90:ec:77:29:39:2c > 00:11:32:a7:d5:88, ethertype IPv6 (0x86dd), length 207: (hlim 64, next-header UDP (17) payload length: 153) fe80::1:1.547 > fe80::211:32ff:fea7:d588.546: [udp sum ok] dhcp6 advertise (xid=123d36 (client-ID hwaddr type 1 001132a7d588) (server-ID hwaddr/time type 6 time 753711221 90ec7729392a) (IA_NA IAID:849859976 T1:6750 T2:10800 (IA_ADDR 2a01:dead:beef:a6e2::c2 pltime:13500 vltime:21600)) (DNS-server 2a01:dead:beef:a6e2:92ec:77ff:fe29:392c) (DNS-search-list bhf.tld.) (Client-FQDN))
        10:49:34.955219 90:ec:77:29:39:2c > 00:11:32:a7:d5:88, ethertype IPv6 (0x86dd), length 207: (hlim 64, next-header UDP (17) payload length: 153) fe80::1:1.547 > fe80::211:32ff:fea7:d588.546: [udp sum ok] dhcp6 advertise (xid=123d36 (client-ID hwaddr type 1 001132a7d588) (server-ID hwaddr/time type 6 time 753711221 90ec7729392a) (IA_NA IAID:849859976 T1:6750 T2:10800 (IA_ADDR 2a01:dead:beef:a6e2::c2 pltime:13500 vltime:21600)) (DNS-server 2a01:dead:beef:a6e2:92ec:77ff:fe29:392c) (DNS-search-list bhf.tld.) (Client-FQDN))
        10:49:35.965351 00:11:32:a7:d5:88 > 33:33:00:01:00:02, ethertype IPv6 (0x86dd), length 175: (hlim 1, next-header UDP (17) payload length: 121) fe80::211:32ff:fea7:d588.546 > ff02::1:2.547: [udp sum ok] dhcp6 request (xid=ac6158 (client-ID hwaddr type 1 001132a7d588) (server-ID hwaddr/time type 6 time 753711221 90ec7729392a) (option-request DNS-server DNS-search-list) (elapsed-time 0) (Client-FQDN) (IA_NA IAID:849859976 T1:3600 T2:5400 (IA_ADDR 2a01:dead:beef:a6e2::c2 pltime:7200 vltime:7500)))
        10:49:35.968124 90:ec:77:29:39:2c > 00:11:32:a7:d5:88, ethertype IPv6 (0x86dd), length 207: (hlim 64, next-header UDP (17) payload length: 153) fe80::1:1.547 > fe80::211:32ff:fea7:d588.546: [udp sum ok] dhcp6 reply (xid=ac6158 (client-ID hwaddr type 1 001132a7d588) (server-ID hwaddr/time type 6 time 753711221 90ec7729392a) (IA_NA IAID:849859976 T1:6750 T2:10800 (IA_ADDR 2a01:dead:beef:a6e2::c2 pltime:13500 vltime:21600)) (DNS-server 2a01:dead:beef:a6e2:92ec:77ff:fe29:392c) (DNS-search-list bhf.tld.) (Client-FQDN))
        10:49:35.970710 90:ec:77:29:39:2c > 00:11:32:a7:d5:88, ethertype IPv6 (0x86dd), length 207: (hlim 64, next-header UDP (17) payload length: 153) fe80::1:1.547 > fe80::211:32ff:fea7:d588.546: [udp sum ok] dhcp6 reply (xid=ac6158 (client-ID hwaddr type 1 001132a7d588) (server-ID hwaddr/time type 6 time 753711221 90ec7729392a) (IA_NA IAID:849859976 T1:6750 T2:10800 (IA_ADDR 2a01:dead:beef:a6e2::c2 pltime:13500 vltime:21600)) (DNS-server 2a01:dead:beef:a6e2:92ec:77ff:fe29:392c) (DNS-search-list bhf.tld.) (Client-FQDN))
        

        Windows PC : same thing.
        iPhone : same thing.
        A ricoh printer : same thing.

        No where a /64 to be seen.
        It obtained a IPv6 : 2a01:dead:beef:a6e2::c2 for my syno. That could be considered as a /128.
        and that's correct as 2a01:dead:beef:a6e2::0 -> 2a01:dead:beef:a6e2::ffff:ffff:ffff:ffff - the entire /64 block) where my 'e2' prefix used on my LAN

        My IPv6 DHCP server pool is way shorter, of course :

        ab92d454-029d-447c-8fa6-5d326d58f477-image.png

        and I'm using static IPv6 leases for most of my network devices. These leaves are outside of the pool, just above.
        Static leases as I don't want them to have these kind of addresses : "2a01:dead:beef:a6e2:92ec:77ff:fe29:392c".

        SLAAC : never used it. I'm a DHCP-man, as it worked well for IPv4, so I tend to believe it works fine for my IPv6 stuff also.
        Android : never saw or had one ...

        All my iPhone, iPad, printers, PCs etc etc that are IPv6 capable, work just fine like this.

        A suggestion : maybe you Fedora box is asking for a 'prefix', which would be a /64 ?
        (but in that case the pfSense LAN DHCPv6 server would have to be set up to delegate these prefixes downstream.)

        No "help me" PM's please. Use the forum, the community will thank you.
        Edit : and where are the logs ??

        johnpozJ 1 Reply Last reply Reply Quote 0
        • johnpozJ
          johnpoz LAYER 8 Global Moderator @Gertjan
          last edited by

          Do you have this set?

          prefix.jpg

          That should be left empty and it would hand out the /64 that is on your interface.

          An intelligent man is sometimes forced to be drunk to spend time with his fools
          If you get confused: Listen to the Music Play
          Please don't Chat/PM me for help, unless mod related
          SG-4860 24.11 | Lab VMs 2.8, 24.11

          J 1 Reply Last reply Reply Quote 0
          • J
            jarmo @johnpoz
            last edited by

            @johnpoz
            RA Subnet(s) is empty.

            1 Reply Last reply Reply Quote 0
            • J
              jarmo
              last edited by jarmo

              Still trying to debug this.

              Interesting fact: when those /128 dhcpv6 leases are handed out, pfsense+ status shows that there are no current dhcpv6 leases. Notice that the addresses of those leases match the range specified in dhcpv6 server settings for the interface (::1000 to ::2000).

              What could be the reason for this? Addresses from specified pool, but not from this server? So from... ISP server?

              Tried to increase priority to "high", no difference.

              GertjanG 1 Reply Last reply Reply Quote 0
              • GertjanG
                Gertjan @jarmo
                last edited by Gertjan

                @jarmo

                Services > DHCPv6 Relay isn't active ?

                LAN and WAN are VLANs ? Or classic NICs ?

                if the pfSense DHCPv6+ server hands out leases, they are listed here :

                f5c97a7e-bd16-40bb-8e05-e766a60359a3-image.png

                No "help me" PM's please. Use the forum, the community will thank you.
                Edit : and where are the logs ??

                J 1 Reply Last reply Reply Quote 0
                • JKnottJ
                  JKnott @jarmo
                  last edited by

                  @jarmo said in Should my dhcpv6 clients also get a /64 address?:

                  clients get one /64 address from a correct subnetwork.

                  Initially, there should be 2. A consistent address and a privacy address. You get another privacy address each day, up to 7, when the oldest one falls off the list.

                  PfSense running on Qotom mini PC
                  i5 CPU, 4 GB memory, 32 GB SSD & 4 Intel Gb Ethernet ports.
                  UniFi AC-Lite access point

                  I haven't lost my mind. It's around here...somewhere...

                  J 1 Reply Last reply Reply Quote 0
                  • J
                    jarmo @Gertjan
                    last edited by jarmo

                    @Gertjan said in Should my dhcpv6 clients also get a /64 address?:

                    @jarmo

                    Services > DHCPv6 Relay isn't active ?

                    I can not activate dhcpv6 relay because dhcpv6 servers are active.

                    @Gertjan said in Should my dhcpv6 clients also get a /64 address?:

                    LAN and WAN are VLANs ? Or classic NICs ?

                    LAN is NIC. WANs are VLAN via Ruckus access point.

                    @Gertjan said in Should my dhcpv6 clients also get a /64 address?:

                    if the pfSense DHCPv6+ server hands out leases, they are listed here :

                    I know. I can see a /128 ipv6 address in my computer, and the list is empty. Don't know much about ipv6, but doesn't this suggest it is has been handed by another server (ISPs)?

                    What a mess.

                    1 Reply Last reply Reply Quote 0
                    • J
                      jarmo @JKnott
                      last edited by

                      @JKnott said in Should my dhcpv6 clients also get a /64 address?:

                      @jarmo said in Should my dhcpv6 clients also get a /64 address?:

                      clients get one /64 address from a correct subnetwork.

                      Initially, there should be 2. A consistent address and a privacy address. You get another privacy address each day, up to 7, when the oldest one falls off the list.

                      A quick search told me that ipv6 privacy extensions are off in Fedora by default. I will not activate them yet, since having more addresses show up does not help in debugging.

                      This explains why with slaac some iOS devices had lots of ipv6 addresses. With just dhcpv6 activated, those devices have exactly one ipv6 address, so another difference there.

                      Learned something new again, thanks!

                      GertjanG 1 Reply Last reply Reply Quote 1
                      • GertjanG
                        Gertjan @jarmo
                        last edited by

                        @jarmo
                        Thanks.
                        That explains why all my devices have just one IPv6 in the 2a01:..... range (and a fe80::......).
                        I'm using the DHCPv6 with and Router advertisement is set to Managed.

                        No "help me" PM's please. Use the forum, the community will thank you.
                        Edit : and where are the logs ??

                        1 Reply Last reply Reply Quote 0
                        • J
                          jarmo
                          last edited by jarmo

                          I ended up browsing some parts of TCP/IP Illustrated by Fall and Stevens. They wrote that

                          it is expected that stateless DHCPv6 in combination with SLAAC will be the most common deployment option

                          So I set router advertisement mode to "stateless:" addresses are assigned by slaac and additional info by dhcpv6.

                          Now ipv6 addressing works as expected: Fedora with no privacy extensions gets one and only one address, from the correct address space, and the obtained address is a /64. My iOS devices get immediately two /64 addresses. No dhcpv6 leases are shown in pfsense+, which is correct, since addresses are slaac assigned.

                          The only "glitch" is that specified dhcpv6 pool from "::1000" to "::2000" is not respected, but this makes sense since slaac is responsible for addressing. (But I think I still had to speficy this pool range in pfsense+, which would not make sense. Honestly, I have spent so many hours on this that I am no longer sure.)

                          To summarize, it looks like

                          • stateful dhcpv6 gives out exactly one /128 address from correct pool (while, based on what I have learned here, it should give out multiple /64 addresses)
                          • slaac gives out correct number of /64 addresses
                          • combination of stateful dhcpv6 and slaac gives one /128 and multiple /64s, and those /64s do not respect the dhcpv6-specified pool boundaries.
                          GertjanG 1 Reply Last reply Reply Quote 0
                          • GertjanG
                            Gertjan @jarmo
                            last edited by

                            @jarmo said in Should my dhcpv6 clients also get a /64 address?:

                            The only "glitch" is that specified dhcpv6 pool from "::1000" to "::2000" is not respected, but this makes sense since slaac is responsible for addressing

                            In a pure SLAAC setup you could even disable the DHCPv6 server. (Never tried this, I hope I don't say stupid things here)

                            Normally you use the DHCPv6 server on an interface so you can assign the IPs you chose with MAC (IPv4) or DUID (IPv6) to the devices. These devices need no intervention form you, the can keep on using DHCP for IPv4 and IPv6, which they normally all are.

                            You use kea ? Or ISC DHCP ?

                            Btw : Here : DiagnosticsPacket Capture :

                            68b375eb-273d-4928-b53d-2f01e083fd3d-image.png

                            and hit the green Start.
                            From now on, you see the DHCPv6 lease traffic logged in details.

                            We are not allowed to compare the good old IPv4 DHCP lease system with the DHCP IPv6 lease system as the IP god will curse us, but for me :
                            It behaves the same way.

                            I made a lot of static IPv6 leases like this :

                            11b7e5b6-a64e-47d3-a953-30faa580706d-image.png

                            and it is like always a set it and forget it operation.

                            No "help me" PM's please. Use the forum, the community will thank you.
                            Edit : and where are the logs ??

                            JKnottJ 1 Reply Last reply Reply Quote 0
                            • JKnottJ
                              JKnott @Gertjan
                              last edited by

                              @Gertjan said in Should my dhcpv6 clients also get a /64 address?:

                              In a pure SLAAC setup you could even disable the DHCPv6 server. (Never tried this, I hope I don't say stupid things here)

                              I have never enabled it. Just enable RDNSS to provide the DNS server address. That's the Enable DNS setting, under DNS configuration, on the Router Advertisement page.

                              PfSense running on Qotom mini PC
                              i5 CPU, 4 GB memory, 32 GB SSD & 4 Intel Gb Ethernet ports.
                              UniFi AC-Lite access point

                              I haven't lost my mind. It's around here...somewhere...

                              J 1 Reply Last reply Reply Quote 0
                              • J
                                jarmo @JKnott
                                last edited by

                                @JKnott said in Should my dhcpv6 clients also get a /64 address?:

                                @Gertjan said in Should my dhcpv6 clients also get a /64 address?:

                                In a pure SLAAC setup you could even disable the DHCPv6 server. (Never tried this, I hope I don't say stupid things here)

                                I have never enabled it. Just enable RDNSS to provide the DNS server address. That's the Enable DNS setting, under DNS configuration, on the Router Advertisement page.

                                That approach seems to work: just stopped dhcpv6 servers on all interfaces, and addressing and net functionality seems unchanged.

                                Well, that is simple. Thanks!

                                1 Reply Last reply Reply Quote 0
                                • First post
                                  Last post
                                Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.