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.
More information about the freebsd-net