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

    Multiple IPv6 Prefix Delegation over AT&T Residential Gateway for pfSense 2.4.5

    Scheduled Pinned Locked Moved IPv6
    147 Posts 30 Posters 67.2k 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.
    • JKnottJ
      JKnott @AiC0315
      last edited by

      @aic0315

      What do you get when you run netstat -r?
      You should see something like this:

      Internet6:
      Destination Gateway Flags Netif Expire
      default fe80::217:10ff:fe9 UG igb0

      Try a packet capture when you try to access test-ipv6.

      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...

      1 Reply Last reply Reply Quote 0
      • P
        paul_s
        last edited by

        I am getting prefix delegation to my two LAN interfaces. It is working great. However, sometimes the prefixes swap interfaces. Is there a way to configure dhcp6c to prevent that?

        I have an ATT BGW320 and am using a UniFi USG router. Sorry I don't have a PFsense router. I think I just don't know what the dhcp6c configuration should be to prevent the swapping.

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

          @paul_s

          What do you mean swap prefixes? Normally, you assign a prefix ID to each interface.

          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...

          P 1 Reply Last reply Reply Quote 0
          • P
            paul_s @JKnott
            last edited by

            @jknott
            For instance the prefixes and address might be assigned this way
            2600:1700:2b60:df9e::1 assigned to eth0
            2600:1700:2b60:df9f::1 assigned to eth1

            Then a few days later or after a reboot they might be reversed
            2600:1700:2b60:df9f::1 assigned to eth0
            2600:1700:2b60:df9e::1 assigned to eth1

            Is there a way to keep the assignments consistent? What part of the configuration assigned a particular prefix to an interface?

            Bob.DigB JKnottJ T 3 Replies Last reply Reply Quote 0
            • Bob.DigB
              Bob.Dig LAYER 8 @paul_s
              last edited by

              @paul_s Something in the pfSense WebGUI. You can set it up for free...

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

                @paul_s

                That sounds like a hardware issue. Any chance you're using USB Ethernet ports.

                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...

                1 Reply Last reply Reply Quote 0
                • P
                  paul_s
                  last edited by

                  Not using USB. The interfaces are integrated in the router.

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

                    @paul_s

                    I have never seen anything like that.

                    I just noticed this:

                    I have an ATT BGW320 and am using a UniFi USG router. Sorry I don't have a PFsense router.

                    So, you're not running pfSense? If not, maybe you should be asking in a UniFi forum.

                    My router is the one described in my sig, which I have been using with pfSense for over 1.5 years and before that, I had a HP compact desktop computer. Before that, I had a Linux based firewall on that HP computer and other computers before that. I have never, ever seen interfaces move. Are eth0 and eth1 associated with the same interface (same MAC) when the prefixes move?

                    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...

                    1 Reply Last reply Reply Quote 0
                    • P
                      paul_s
                      last edited by paul_s

                      @JKnott
                      I have a lot of respect for the members of this forum and have been unable to find the answer at UniFi. I was hoping that someone with experience like you might know the mechanism that assigns the delegated prefixes to a particular interface. Is it dhcp6c or is it radvd or something else? Then I hoped there might be a configuration parameter that might anchor the prefix to an interface.

                      The interfaces are not moving, they retain the same MAC address. The IPv6 prefix changes.

                      thanks for your time.

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

                        @paul_s

                        Are you running pfSense or not? If not, you're not likely to find a lot of support here. As I mentioned, I have never seen your situation on multiple computers, with either pfSense or Linux firewalls over twenty years or so. My sole Unifi experience is with my AC-Lite access point.

                        With pfSense, the prefix will change if you don't select that setting I mentioned. Also, some ISPs mess things up to. But neither of those would cause the problem you're mentioning where the same prefix moves to another port.

                        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...

                        1 Reply Last reply Reply Quote 0
                        • P
                          paul_s
                          last edited by

                          @JKnott
                          As I stated in my first post "I don't have a PFsense router."
                          As I stated in my last post "thanks for your time"

                          1 Reply Last reply Reply Quote 0
                          • T
                            ttmcmurry @paul_s
                            last edited by

                            @paul_s

                            Have no experience with Unifi - my guess would be there's something being incorrectly set on non-wan interfaces. If your ISP is giving you a /60, then you should be specifying on each internal interface the prefix delegate hint so that internal interfaces assign themselves correctly each time.

                            What I originally posted in post 1 has a step that refers to this process where the prefix delegation is associated "id-assoc" "pd 1" with the correct interface "hn1" (etc).

                            The only assumption made with AT&T is they reserve a certain number of networks in their /60 for AT&T use, and the rest are available for delegation.

                            If UniFi doesn't have a way to associate interfaces to prefix delegation, then you'll get the variability that you're experiencing. Even on PFSense, this has to be done by hand, there's nothing in the GUI that allows admins to configure prefix delegation.

                            The answer to your other question is the documented method in post #1 is using DHCPv6 (no Router Advertisements) to pull the PD.

                            1 Reply Last reply Reply Quote 0
                            • P
                              paul_s
                              last edited by

                              @ttmcmurry

                              The UniFi router uses the same dhcp6c configuration pfSense uses. My config is below. I have not been able to find out what the "ifid" number is in the id-assoc but the rest of it looks like yours. Perhaps the IPv6 Track Interface Prefix ID you reference is the key. I will try to figure out what that does in pfSense and see if I can translate it to UniFi.

                              Thanks for the help.

                              interface eth3 {
                              send ia-na 0;
                              request domain-name-servers, domain-name;
                              send rapid-commit;
                              send ia-pd 0;
                              send ia-pd 1;
                              script "/opt/vyatta/sbin/ubnt-dhcp6c-script";
                              };

                              id-assoc na 0 {};

                              id-assoc pd 0 {
                              prefix ::/64 infinity;
                              prefix-interface eth0 {
                              sla-id 0;
                              sla-len 0;
                              ifid 1;
                              };
                              };

                              id-assoc pd 1 {
                              prefix ::/64 infinity;
                              prefix-interface eth1 {
                              sla-id 0;
                              sla-len 0;
                              ifid 1;
                              };
                              };

                              T 1 Reply Last reply Reply Quote 0
                              • T
                                ttmcmurry @paul_s
                                last edited by

                                @paul_s

                                Far less was needed in pfsense..

                                id-assoc pd 0 {
                                prefix-interface hn1 {
                                sla-id 0;
                                sla-len 0;
                                };
                                };

                                Pfsense GUI interface configuration allows for a prefix hint, configured on the interface. The hint should correspond to how dhcp6d was configured for that interface.

                                You're also using ifid of 1 in both your pd associations. Is there a reason why you're overriding the EUI-64 address? I'd imagine this would be left alone so the specified interface (eth1, etc) is considered unless you meant to set the EUI address on two interfaces?

                                1 Reply Last reply Reply Quote 0
                                • P
                                  paul_s
                                  last edited by

                                  @ttmcmurry
                                  I appreciate your help but I think I have to give up on this. UniFi puts too many layers between me and the dhcp6c.conf file. The UniFi GUI creates a vyOS file interpreted by a perl script that generates the dhcp6c.conf file. It appears that since I specified a "host-name" of ::1 in the GUI it created the "ifid" = 1 as a way to set the interface host value to 1 which is what I want.

                                  It would seem that the "sla-id" should append a value to the delegated prefix specifically for the interface but since we have to request /64 from ATT and they are already using 8 of those blocks, I can't figure out how to use the "sla-id" properly. It appears people with Comcast can request a /60, include all the interfaces in PD 0 and tailor the prefix to the interface with "sla-id".

                                  Anyway, I will limp along with almost random prefix assignments until I can replace my UniFi router with pfSense.

                                  Thanks again for the help.

                                  1 Reply Last reply Reply Quote 0
                                  • K Kevin C referenced this topic on
                                  • B
                                    brswattt
                                    last edited by brswattt

                                    Hi guys,

                                    Problem here. Here is my config:

                                    interface re0 {
                                    	send ia-na 0;
                                    	send ia-pd 0;
                                    	send ia-pd 1;
                                    	send ia-pd 2;
                                    	send ia-pd 3;
                                    	send ia-pd 4;
                                    	request domain-name-servers;
                                    	request domain-name;
                                    	script "/var/etc/dhcp6c_wan_script.sh";
                                    };
                                    id-assoc na 0 { };
                                    id-assoc pd 0 {
                                    	prefix-interface re1 {
                                    		sla-id 0;
                                    		sla-len 0;
                                    	};
                                    };
                                    id-assoc pd 1 {
                                    prefix-interface re1.10 {
                                    		sla-id 0;
                                    		sla-len 0;
                                    	};			
                                     };
                                    id-assoc pd 2 {
                                    prefix-interface re1.20 {
                                    		sla-id 0;
                                    		sla-len 0;
                                    	};		
                                     };
                                    id-assoc pd 3 {
                                    prefix-interface re1.30 {
                                    		sla-id 0;
                                    		sla-len 0;
                                    	};		
                                     };
                                    id-assoc pd 4 {
                                    prefix-interface re1.40 {
                                    		sla-id 0;
                                    		sla-len 0;
                                    	};		
                                     };
                                    

                                    re0 is my WAN interface and re1.10,re1.20,re1.30, and re1.40 are my vlans attached to my LAN device (re1)

                                    All off my LAN/VLAN interfaces get an IPv6 address that is able to be pinged from the internet.
                                    The problem lies with my DHCP clients. They receive an address (That doesn't show up in the DHCPv6 leases) but aren't able to route out to anywhere. (or so it seems). And even though I requested a /60, under WAN interface it still shows a /64 while using the config override. Anything I'm doing wrong? My inside clients can be pinged from the outside, but I can't ping from the inside.....nor access sites by ipv6.

                                    Before I didn't even assign addresses using DHCP, I just used Assisted RA. Looks like the firewall is passing the traffic too. While looking at my gateway, I don't even see what prefix is being handed to it under the status page.

                                    EDIT: looks like I couldn't ping the google IPv6 dns, switched to 2606:4700:4700::1111 and pings work outbound and so do ipv6 test sites. Now all the leases are showing up too, not sure what that was about.

                                    B 1 Reply Last reply Reply Quote 0
                                    • B
                                      brswattt @brswattt
                                      last edited by

                                      Can't edit anymore: Only thing I'm wondering now is if the /64 instead of /60 under the WAN interface is normal. I can't get it to give me a /60, even though all my VLANs successfully got an IP.

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

                                        @brswattt

                                        You should use the prefix size your ISP provides, though a smaller one will work. If they provide a /60, then that's what you want to use.

                                        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...

                                        B 1 Reply Last reply Reply Quote 0
                                        • B
                                          brswattt @JKnott
                                          last edited by brswattt

                                          @jknott Oh okay, I must of misunderstood here. I took what was said in the first post to heart, that AT&T DOES provide a /60, but it seems like they only provide me a /64. Why? I don't know. Seems like other people get /60 to work, but this works for me. /64 is plenty of IP addresses, why do people fuss about it?

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

                                            @brswattt you can not split a /64 - it is designed to be the smallest prefix to use really. There is some special use of /128

                                            But putting a prefix on a interface for say your lan or optX etc would be a /64

                                            In the quick reading I did about the att issue, which might be dated and I don't have att to test with.. Is they will not issue anything other than a /64 vs say a /60 or /56 etc.. that you could break up and use /64s out of that for your different networks/vlans behind pfsense.

                                            So again my quick read of this issue is this script/config allows you to request a delegation for each interface on pfsense. Seems like a horrible setup, why not just let you request a /60??

                                            But which is very typical with many an ISP and IPv6 - they F it up!! ;)

                                            What should/supposed to happen is you request a /60 for example, and then use say prefix 1 of that on lan, prefix 2 on your optX, and prefix 3 on your optY, etc..

                                            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

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