Discussion:
how is IPv6 over pppoe supposed to work?
Harald Dunkel
2017-04-03 16:21:56 UTC
Permalink
Hi folks,

AFAICT adding 2 lines to hostname.pppoe0 (as shown in the man
page) doesn't give you a full featured IPv6 subnet yet. Is there
some support for IPV6CP (RFC 5072) in OpenBSD?

Google mentioned some "dhcp6c", but its not in 6.0, is it?


Any insightful comment is highly appreciated
Harri
Sterling Archer
2017-04-03 16:53:49 UTC
Permalink
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Hi folks,
AFAICT adding 2 lines to hostname.pppoe0 (as shown in the man
page) doesn't give you a full featured IPv6 subnet yet. Is there
some support for IPV6CP (RFC 5072) in OpenBSD?
Google mentioned some "dhcp6c", but its not in 6.0, is it?
Any insightful comment is highly appreciated
Harri
-----BEGIN PGP SIGNATURE-----
iQEzBAEBCAAdFiEEH2V614LbR/u1O+a1Cp4qnmbTgcsFAljidqQACgkQCp4qnmbT
gcs1Ggf8DGPd2GswDflaoQK6CJdVPxK/Qr5Z6SARj1/nUaZmPUn+GQIcRv1E9ZfN
eBd0JkAsu2h+dC9JOifF97HHwgVLa+7kRFVqxIHna25ImNRa3R74rcLTGPdU6daV
I4NsbaSefqJky0cTsBrEIO5HclR2g+mQNKvJ4CpjDXYue5Ri7wvSqBdXl/ewZCZD
BMHH1Zrp7tQcumkM6FHKmkkANSLwE9kfmYcn69Y566hKgjuHX7zYiPiPw2cO9SNc
qI33jjQKQw0VSVWdHyYVJUF0TBOHW4G+TAhiK0mpizY5Z19hL+Ex3g1aAsI2UH2c
GkMcymBD2AbxKRVUxYQK7Irp1h94Vg==
=xleU
-----END PGP SIGNATURE-----
Install wide-dhcpv6 from ports.
Peter Colberg
2017-04-04 06:24:52 UTC
Permalink
Post by Harald Dunkel
AFAICT adding 2 lines to hostname.pppoe0 (as shown in the man
page) doesn't give you a full featured IPv6 subnet yet. Is there
some support for IPV6CP (RFC 5072) in OpenBSD?
Google mentioned some "dhcp6c", but its not in 6.0, is it?
Give dhcpcd by Roy Marples a try. It works reliably with a dynamic
link such as pppoe, provides helpful log messages, and has an active
and dedicated upstream author.

The corresponding OpenBSD port by Stuart Henderson includes a
pkg-readme that specifically addresses DHCPv6 prefix delegation.

Peter
Stuart Henderson
2017-04-04 17:40:14 UTC
Permalink
Post by Harald Dunkel
Hi folks,
AFAICT adding 2 lines to hostname.pppoe0 (as shown in the man
page) doesn't give you a full featured IPv6 subnet yet. Is there
some support for IPV6CP (RFC 5072) in OpenBSD?
pppoe(4) does exactly use IPV6CP. But IPV6CP doesn't do what you think!
All it does is negotiate an interface identifier which is used to set a
link-local address.

" The negotiated interface identifier is used by the local end of the
PPP link to autoconfigure an IPv6 link-local unicast address for the
PPP interface. "

With some ISPs you can run autoconf on the pppoe interface to get a
global routable address for that interface. If so, that would give you
enough to do NATted IPv6 with a single address your side. But it's
not all that unusual for the ISP to use "unnumbered" ppp interfaces
(in the case of ipv6 that is "with a link-local address only") and
only put a routable address on an internal interface. And even if
they do, most people using IPv6 would expect to have routable
addresses on their other machines.

To get addresses for *other* interfaces, e.g. your LAN, the method
used by most ISPs is DHCPv6-PD "prefix delegation". This can be handled
by wide-dhcpv6 or dhcpcd (or dibbler, not in ports, and I think isc-dhcp
should be able to do it as well but I haven't tested that myself).

Something important to be aware of: none of these have privilege
separation (and I'm not aware of another DHCPv6 client that does).
A process running as root parses packets coming from the ISP and
handles address changes.

With that in mind I would not recommend wide-dhcpv6 at all; it has
been untouched for 9 years and I'm not aware of any auditing done on
it. (Reading build-time output from "scan-build make" suggests a few
possible mistakes). Also it misses some features that dhcpcd has,
notably it doesn't add a blocking route for the rest of the subnet,
so if you receive traffic to an address which is part of your wider
prefix, often a /56 or /48, but isn't configured on an interface,
it'll flip-flop out over the default route and back again until
the hop-limit expires.

I'm happier with dhcpcd than wide-dhcp6 but it still does a lot more
than the basics that are all that a typical ISP-facing router needs
(i.e. bigger surface), and misses the nice segregation between priv
& unpriv that OpenBSD's dhclient has.

In short, I think this is an area that could really do with improving.
Loading...