View Single Post
  #3   (View Single Post)  
Old 12th August 2012
SlyM SlyM is offline
Port Guard
 
Join Date: Nov 2010
Posts: 21
Default Ok, so I got it mostly working...

I just managed to get a delegated prefix working on my OpenBSD router using the isc-dhclient software package I installed (the default included dhclient does NOT support IPv6 at all it appears).

There are a couple of things:

1) The isc-dhclient package does NOT include a dhclient-script of it's own so I was forced to work off the already included one in OpenBSD 5.1. Ironically this version has subroutines in it specifically for IPv6. However they clearly do not work, especially when attempting to work in Prefix Delegation mode. I tweaked the script to figure out how it worked and eventually found it was getting it's information via temporary environment variables and depending on what's set when it's called, it attempts to configure the system accordingly. So I watched the behavior of #sudo /usr/local/sbin/dhclient -d -6 -P -D LL -N vr0 -sf /root/dhclient-script until I found the information that was necessary to provision an IPv6 address on the WAN interface and then modified the script some to provision the delegated prefix obtained via dhclient -6 -P mode.

Here's where the deficiencies remain to be solved.

2) There was never any mention of DNS server IPs...ok fine I can continue to work off the IPv4 ones for now, no biggie.

3) But worse than that was the IPv6 default route was never configured, and I quickly realized it was because such information is simply NOT supplied via DHCPv6 because if you read the RFCs it's meant to be obtained via a standard IPv6 Router Advertisement, which....

4) ...can't be done!!! because my router is configured for forwarding which if you also read the RFCs means net.inet6.ip6.accept_rtadv=0 has to be disabled!!! So wait, how is this supposed to work? If you take the link local IPv6 address of the DHCPv6 server and manually configure it as your default route, then magically your delegated subnet suddenly works.

So my question is...does anyone know how to force net.inet6.ip6.accept_rtadv=1 to enabled and still be able to enable forwarding of IPv6 in the kernel? Or is there a way to leave forwarding enabled and still somehow extract the information that would otherwise be obtained automatically via the kernel and manually configure it via a script of some kind?

I am willing to post my modifications to the dhclient-script from OpenBSD 5.1 in case anyone is interested in seeing how I got it to sort of work, and maybe refine what I started.

Midnight
Reply With Quote