New problem solver
•
37 Messages
Routing IPv6 packets to statically defined IPv6 network

The only way to get Comcast equipment to route IPv6 packets to your network is to either use
- DHCPv-PD
- or use a NDP Proxy to answer Comcast's Neighbor Solicitation requests
Using DHCPv6-PD is a problem if you have servers with a static IPv6 address as Comcast rotates prefix delegations over time.
Using a NDP Proxy is a straight forward way to get around this limitation.
FreeBSD has a kernel module called ndproxy. You can either use pfSense (which is FreeBSD based) and manually install ndproxy (see the discussion at https://redmine.pfsense.org/issues/14032)
or
Put a FreeBSD device (or virtual machine) with ndproxy included on the same network segment as your Comcast Modem and router, and configure FreeBSD's ndproxy to answer Neighbor Solicitations with your router's interface details.
Information on ndproxy can be found here: https://man.freebsd.org/cgi/man.cgi?query=ndproxy
The interface that is feeding ndproxy must be put in promiscuous mode because it can't know all of the IPv6 addresses behind your router and icmp6 messages won't make it to ndproxy if promiscuous mode isn't turned on.
This is working for us. It isn't an optimal solution, but for now it suffices.




rob__jr
New problem solver
•
48 Messages
1 month ago
Hey @flyingrobots , have you had any luck asking for a specific /59 out of the /56 static block? That works for me....sometimes. If you run linux, you can install the program sipcalc (a package in Ubuntu) or use an online calculator to calculate the exact /59 blocks that reside within the static /56.
I've used this one online:
https://subnettingpractice.com/ipv6-subnet-calculator.html
If you put in your starting /56 block and go down and pick /59 and click "calculate" , you will get the /59 boundaries.
For example:
If you input: 2001:100:100::/56, and calculate the /59's you'll get:
2001:100:100::/59 (First /59 resolved for devices directly connected to the cable modem)
2001:100:100:20::/59
2001:100:100:40::/59
2001:100:100:60::/59
2001:100:100:80::/59
2001:100:100:a0::/59
2001:100:100:c0::/59
2001:100:100:e0::/59
Then you can send a prefix hint of 2001:100:100:c0::/59 and you may(be) will get that exact block.
I've had some luck requesting a specific /59 right after the cable modem boots and getting/keeping that block.... It's worth a shot.
(edited)
5
0