IPv6 provisioning for a FreeBSD ISP.

Zaphod Beeblebrox zbeeble at gmail.com
Thu Oct 23 04:08:57 UTC 2014


Besides the fact that the ngX interfaces appear to have a quirk (or maybe
it's mpd5 or quagga) where remote hosts can't talk to services residing on
the ngX host, A FreeBSD machine with mpd5 and quagga that talk to
freeradius and PostgreSQL serves as a really nice small ISP package.

I already support ipv6 for many users (and have, for some time) using
static gif tunnels.  This works, but it is annoyingly suboptimal.

Now my ISP doesn't allocate addresses from a pool.  I don't care that
people effectively have static addresses.  managing the addresses isn't
difficult and the average user is nailed up more than 98% of the time.  So
I assign a static IPv4 address in PostgreSQL.  Freeradius reads this and
sends it to mpd5 --- which hands out the static addresses ... and even
routed ipv4 netblocks via ipcp (or ipv4cp).

IPv6 works over my pppoe<-->l2tp links.  I can set static addresses on the
ngX connections at both ends, The traffic is passed.  What stops me from
implementing this is the equivalent of the
PostgreSQL->freeradius->mpd5->ipcp communication of the addresses and
settings.  mpd5 doesn't seem to have any builtin handling of the ipv6
addresses and I don't see what other solution will properly hand out static
addresses (and routed networks).

How is this supposed to go together?  DHCP6 doesn't seem to acknowledge
that the user has already logged in via l2tp/ppp.  rtsold doesn't seem to
address static addressing.


More information about the freebsd-hackers mailing list