IPv6 on a home Mac Server, a lesson

Trying to set up IPv6 each of my home nodes created an unusual challenge.  All my laptops Just Worked(tm), but the mac mini server wouldn't.  They were running the same OS version, Yosemite, but I couldn't get any IPv6 traffic to talk to my home server, running on an older mac mini.  I even went so far as to wonder if there was some strange hardware compatibility issue on the ethernet card used by my mac mini.  Every other node, auto-config worked fine.

 

I figured it out, but here are a few notes for others first when setting it up, if for some reason you wish to do it manually.  If nothing else, it helps you understand IPv6 better. 

 

Grab the link-local address of your router.  That's the router address to use.  The link-local address could be grabbed by other devices on your network, doing a standard $(netstat -rn | grep UG).  Remember, link-local typically starts with fe80:.  (Some documentation states that it is fe80:/10)

 

Next grab the prefix and prefix length.  Unless something unusual is going on, your prefix length is 64.  Create an arbitrary IPv6 address inside that prefix that isn't used by someone else.  We're doing auto-config, so something along the lines of …::1:1 would probably work.  Don't pick …::1 as that is likely in use.  Remember to put your site prefix on the start of that address and that you are only allowed one :: in the entire address.

 

Now, set those parameters, save and apply.  Now comes the part that took me forever to find.  Locate the afctl binary.  This is part of Server.app.  Run it with the -c flag (autoconfigure) to automatically whitelist your router, your interfaces, etc.  

 

Test it with ping6 of your router, and all should work.