Here are some great MAC OSx command line entries you can make to examine and configure IPv6.
Let's start with some simple ones.
Since too many years ago, MAC OSx has supported IPv6 so it is very likely to be turned on.
First, let's check the following command from the Terminal Window (complete output shown):
You can see my machine is running "Dual Stack" since it has both IPv4 (inet) and IPv6 (inet6). Yours should be as well.
This is a lot of info, so the way to zoom in on lets say the Ethernet interface, which I am using (en0) is to use the following command:
ifconfig -L en0 inet6
The -L switch turns on the display of the address Lifetimes. The 'inet6' limits the IPv6 information.
Next, let's take a slightly deeper dive with netstat.
The following command displays the routing table in your computer (this may take some time to completely finish):
netstat -r -f inet6
We can clearly see the IPv6 Routing table with the Link Local addresses, Global Unicast addresses (in my case), and the IPv6 Multicast groups.
Let's see if there has been any general IPv6 traffic on the interfaces. Now this next command will output a ton of statistics, and we only show a partial output here.
netstat -s -f inet6
Near the bottom of the output will show various packet counts.
How about PING and TRACE ROUTE for IPv6? Sure. Here is how you Ping in IPv6:
Here are the ping6 options:
And here is the Trace route command:
Here are the Tracert options:
What is that did not work? Hmm.
You may want to check the DNS servers to see if you are able to resolve IPv6. On MAC, do this with:
scutil --dns | grep nameserver | grep "::"
This should show you IPv6 nameservers. If you get nothing, then leave off the last grep, and you should only see IPv4.
That does not mean that nameservers or destinations do not support IPv6.
You can try a dig and see if you get 'AAAA' records:
dig AAAA www.facebook.com
Here is what it might look like when it works:
OK - what about the Neighbor Discovery? You use the following command: ndp -a
It will take some time to complete, so be patient.
To see your IPv6 settings on your MAC use the following command - this will display all settings - if it is a 1 or a 0 then this is most likely a switch (0=off 1=on):
We won't go into how to change these settings here, but you could overwrite these with the sysctl command.
It is often useful to pipe this to grep to search for something in particular. For example, does you system have temporary IPv6 addresses? and what are the settings?
sysctl net.inte6 | grep temp
We hope this helps you get started on IPv6 on your MAC OSx machine.