IPv6 Ideas

Nathan Lay nslay at comcast.net
Fri Apr 24 01:29:12 UTC 2009

I started playing with IPv6 on my home network with the intent to 
transition over.  While many things work quite well, IPv6 technology in 
general still seems to have some rough edges.

In terms of FreeBSD support, rtadvd and rtsol do not yet support 
(easily? -O option in rtadvd/rtsold) RFC5006 (Router Advertisements 
Option for DNS Configuration) which make it inconvenient to use mobile 
devices (like laptops) on an IPv6 network.  I haven't had much luck with 
Is this something that could be improved?  I'd be willing to implement 
this support, but I have very little time to spare (writing thesis).

To be backward compatible with IPv4, I had a look at faith and faithd 
and while these tools are ingenius, I don't think they are good enough 
for transitioning to IPv6.  I imagine it is possible to write an 
IPv6->IPv4 NAT daemon that uses faith to capture and restructure 
IPv6/IPv4 packets.  Though, it really seems like this is the firewall's job

A pf rule like:

nat on $inet4_if inet to any from $lan_if:network6 -> ($inet4_if)

would be extremely convenient.  I'm aware pf doesn't support the token 
:network6 ... its just a wishful example.  The IPv6 mapped IPv4 
addresses would be the standard ::ffff:0:0/96 prefix.  I imagine that 
this is very difficult to implement but I don't see why it wouldn't be 
possible.  If a firewall supported this kind of NAT, a home network 
could easily deploy IPv6 and be backward compatible.  Well, not quite, I 
guess BIND would have to serve IPv6 mapped IPv4 addresses to IPv6 queries.

Oh yeah, one annoyance on 7-STABLE, it seems like pf is started before 
IPv6 rc.conf options are processed (including IPv6 address assignment) 
breaking inet6 rules that involve $if:network.


Other than that, this has been one hell of a fun experience.

Best Regards,
Nathan Lay

More information about the freebsd-net mailing list