Multiple IPv6 Prefix Delegation over AT&T Residential Gateway for pfSense 2.4.5
-
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 igb0Try a packet capture when you try to access test-ipv6.
-
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.
-
What do you mean swap prefixes? Normally, you assign a prefix ID to each interface.
-
@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 eth1Then 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 eth1Is there a way to keep the assignments consistent? What part of the configuration assigned a particular prefix to an interface?
-
@paul_s Something in the pfSense WebGUI. You can set it up for free...
-
That sounds like a hardware issue. Any chance you're using USB Ethernet ports.
-
Not using USB. The interfaces are integrated in the router.
-
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?
-
@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.
-
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.
-
@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" -
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.
-
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;
};
}; -
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?
-
@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.
-
-
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.
-
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.
-
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.
-
@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?
-
@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..