Date: Sun, 23 Feb 2014 12:33:10 -0800 From: Peter Sagerson <psagers@ignorare.net> To: freebsd-doc@freebsd.org Subject: IPv6 handbook improvements Message-ID: <3472A13A-348C-460F-A159-A78C46BB5243@ignorare.net>
next in thread | raw e-mail | index | archive | help
--Apple-Mail=_4E93B2C6-ECB0-4242-9A1E-EC29B81308AB Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii Hello all, I recently went through a voyage of discovery getting access to my ISP's = recently-introduced native IPv6. When my consumer router failed to come = through, it seemed like a perfect opportunity for a little FreeBSD = project. It turned out to be a bit of an adventure, though, as practical = information about IPv6 seems surprisingly hard to come by and the = handbook's page appears to be rather out of date. I would be happy to = contribute some fixes and new content to the page, but I'm not sure what = that process looks like, so I figured I'd start here. Assuming no changes to the basic structure of the document, the first = thing to do is obviously to add a CPE section, probably based on the = relevant content in section 3.2.4 of the 9.0 detailed release notes.[1] = ipv6_cpe_wanif is crucial to the home- or office-router scenario. Those = release notes turned out to be the most obscure piece of indispensable = documentation I found. More generally, I think there's probably an expository section missing = about whether and how to enable IPv6 on individual interfaces and the = common options available. Also the relationship between router = advertisement and DHCPv6 and the common use of self-assigned addresses = in various /64 subnets. It would probably be especially helpful to = identify areas where IPv4 analogies hold and areas where IPv4-based = instincts are likely to lead one astray. This section might also include = pointers on things like bridging and pf, if only to reassure the reader = that all of the same rules apply as for IPv4. On a more specific note, the reserved address section still lists the = fec0::/10 site-local addresses, despite the fact that these were = deprecated over nine years ago in RFC 3879. RFC 4193 specifies unique = local addresses in fc00::/7 (in practice, currently fd00::/8) to replace = them. Just to sum up in a handy list, here are the things that I needed to = discover in my particular--hopefully increasingly common--situation of = sharing my ISP's native IPv6 with my LAN and that I'd like future users = to be able to find in the handbook: - ipv6_cpe_wanif is necessary to make the system act like a traditional = home/office router with a WAN side and a LAN side. - IPv4's local subnets (192.168/16, etc.) are replaced by globally = unique /64 subnets in fd00::/8. Ideally, FreeBSD would have a tool to = generate global IDs according to the RFC (SHA1(ntp-time, = EUI-64(mac))[-5:]), but all you really need in practice in this scenario = is five random bytes (dd bs=3D1 count=3D5 if=3D/dev/random | hexdump). = Frankly, you can probably get away with fd00::/64, but I'd hesitate to = recommend it. - LAN clients can generally just self-assign IPv6 addresses, so no need = for a DHCP server here. However, my ISP still uses DHCPv6 to assign a = publicly routable address to the WAN interface. rtsold_flags=3D"-O = /path/to/script/run-dhclient-v6" should take care of this, although = rtsold seems to be ignoring this documented setting, so there may be a = bug here. Some ISPs might also use DHCPv6's prefix delegation, but I = can't speak to that. On a more general topic, one of the things that was enormously helpful = to me recently was discovering the man page for rc.conf. I have long = wished for some general reference to rc.conf variables, but somehow = never found this document or thought to look there. Maybe that's = unusual, or maybe it's one of those things that the knowledgable take = for granted, so it slips through the documentation cracks. One thing I = can say is that in the Advanced Networking chapter of the handbook, = there are many many references to rc.conf and its various settings, but = only one link to the man page (in section 30.2.4). As an = intermittent-to-casual user who leans fairly heavily on the handbook, I = would suggest linking to this reference rather more prominently and = regularly. It's extremely helpful both as a map of the possibilities and = as a way to discover ancillary settings (foo_flags) that may not merit = inclusion in the handbook itself. As I said at the top, I'm happy to actually propose a diff for the IPv6 = page, although it will presumably want an editor with deeper IPv6 and/or = FreeBSD experience to smoke out inaccuracies and over-generalizations. = Please advise if you'd like me to take this to the next step and what = that process looks like. Thanks, Peter [1] https://www.freebsd.org/releases/9.0R/relnotes-detailed.html#AEN1395 --Apple-Mail=_4E93B2C6-ECB0-4242-9A1E-EC29B81308AB Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - http://gpgtools.org iQIcBAEBAgAGBQJTClsGAAoJENfXJ2LQ+g524rUQAJmMGwW1jraX6eL8r5+c40CW EHIPn7PhfJ4pAeHfF5kJxWnBznUQ7QbqbUlwLCiR5oSO8wRCMp8eoqvgJnbfDg+x 1CPeUgaiEhYwFw8/eKGyrSdwGgIvMOsJ2jnXB4C8TTsqhJ0JLEbFqKomHms1+OoN A5KqZsFVvNyA8O3dYVU+1MJB8HtF/VxGtfbuAC3wQWvoaIOt+h4q4dERbFes3Wx1 MMntJm5QUs2WU8DJ8E831mJ4XowckhmxdNweLvZ3waOSoe5ZqYbDheNTJ2xMuXWE 70kd6U/YN4zsdjey/3oDX3FPIM87JCYJAx6NQs8CDCtuFUUAt/sT/WVQRwxQe8Ua FIdvIKppm2meFLHbCmNLi7c8TvWX+3teRVTmIagwQEXgcg0Z9ENUNjTvORGkJrqY 9G4qlNAYaL2J7kzSz6GUlAtZzbDSlIkGd5U7vR4XVfxEgVROpHhQ45m8TZT+jLEB eo2ZjK/zUgv2ylmDGo01RLU0W+efYyBYP00VUtIh1ayugAacoheiPJ5Z2JYhQHRY pEVdDL8dEWYGNnkwzGodtSMeCYhQiA4oud6pxnCbcKBvJrauLdTdT28C9s3oFUve Qif7xjGYABrZA+tFaDenmrPJJEnd2QUPnkPJlQpO/VW+qIkp9UP7BrxvpQs3BqYs 4xYMWskJ/iz1NUufIXAV =2IUc -----END PGP SIGNATURE----- --Apple-Mail=_4E93B2C6-ECB0-4242-9A1E-EC29B81308AB--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3472A13A-348C-460F-A159-A78C46BB5243>