Quantcast
Channel: EdgeRouter topics
Viewing all articles
Browse latest Browse all 20028

ISP only gave you a /64 and no PD? npd6 on the ER to the rescue

$
0
0

Hello,

 

TLDR; I found a need for npd6 on the EdgeRouter, so i cross compiled it for mips and am now posting it here so people can install it on their own ERLites/ERPoEs if they need it. Would be nice if UBNT could include this in EdgeOS for easier configuration and usage. Shouldn't be too time consuming :-)

 

npd6 is the "Neighbor Proxy Daemon", it will make the magic happen so you actually can use the entire /64 (except ::1) on the inside without statically configuring neighbor proxy entries. The project is located here: https://npd6.github.io/npd6/

It's just a 28 kilobyte .deb, small and efficient. This is a "mips"-architecture package, ERPoE and ERLite are the only devices i have tried this with.

 


Disclaimer: You will need some knowledge of IPv6 to get the jist of this.

!! If you have DHCPv6-PD from your ISP you will most likely not need any of this, consider yourself lucky !!

I'm kind of hoping nobody will ever need this, but then again I did need it. So here goes!

My use case:

My current ISP was one of the first ISPs to enable IPv6 many years ago, and then at some point they just stopped caring about it. So today years later there is not even SLAAC and no DHCPv6-PD since it practically didn't exist back then, but just a configured /64 directly on the customer port.

 

Needless to say, there was no way for me to actually use this prefix for my devices on my LAN, since the IPv6 connectivity just existed on the WAN side. I had no linknet to route it with or anything. Hopeless, I thought initially.
So the first thing i did was send an e-mail to my ISP complaining about the lack of DHCPv6-PD. Then I started

fiddling around. Dumping packets from the WAN-interface and trying to figure out what was up.

 

The reason i knew the ISP had IPv6 at all is because friends of mine had been customers since the time it was enabled and knew their prefix. Some packet dumping and fiddling later i had found what my /64-prefix was and i could start playing around. So i'm going to be making the assumption that you actually KNOW what your prefix is by this point.


For the sake of the example, the /64 prefix is: 2001:cdba:1:1::/64
Default gateway is ::1, so thats the address mapped on my customer port.

I'm not going to make a full howto out of this, but feel free to ask if you by any chance actually need to do this and run into problems.

I solved it in my case by using link-local addresses to avoid configuring the prefix on the WAN side and run into routing issues and the npd6 daemon.

npd6 is not a part of EdgeOS, so i had to cross compile and build a .deb out of it. Attached here so you don't have to do it yourself.

 

In short how i got everything working in my case is by setting my ISPs link-local address as the default gateway on the WAN side, and grabbing ::2 on the LAN-side. This way the prefix is not configured on the WAN interface at all, and you are just using the link-local to route it to your ISP. 

After that you can enable SLAAC or DHCPv6 or just use static addressing on your LAN side, and it will work just fine. At least it did for me!

 

Hopefully this helps someone!

 

Edit: Didn't let me attach the .deb. So here is a link instead:

http://viddy.no/npd6_1.1.0_mips.deb


Viewing all articles
Browse latest Browse all 20028

Trending Articles