IPv6 – ifconfig Showing IPv6 Address While networksetup Doesn’t

ipv6Networkterminal

when using ipconfig utility, it's showing ipv6 address:

inet6 fe80::1c00:23f2:b82e:fc8c%en0 prefixlen 64 secured scopeid 0x4

But when using

networksetup -getinfo %networ service name%

it returns:

IPv6: Automatic

IPv6 IP address: none

IPv6 Router: none

Same when using ipconfig

ipconfig getv6packet en0

it returns nothing. so do I have IPv6 address or not?

Best Answer

Your system does have an IPv6 address though it's not really usable for networking beyond the local subnet. fe80::1c00:23f2:b82e:fc8c is a fe80::/10 link-local unicast address

Link-Local addresses are designed to be used for addressing on a single link for purposes such as automatic address configuration, neighbor discovery, or when no routers are present.

Routers must not forward any packets with Link-Local source or destination addresses to other links.

so what you have is a sort of a bootstrap IP address, not something that can communicate with other systems on the Internet. If IPv6 was working, typically SLAAC or DHCPv6 would give additional IP addresses (and routes would be setup) for your system to use. These would not be fe80::/10 addresses.

On a SLAAC subnet, IPv6 configuration might look something like

$ ifconfig en0 | grep inet6
    inet6 fe80::4a69:97ff:fe77:a706%en0 prefixlen 64 scopeid 0x4 
    inet6 2607:...:4a69:97ff:fe77:a706 prefixlen 64 autoconf 
    inet6 2607:...:6061:4f35:9b95:c7d4 prefixlen 64 autoconf temporary
$ ipconfig getv6packet en0
$ 

getv6packet shows nothing as SLAAC is being used, and there is no DHCPv6 packet associated with that protocol. networksetup does not appear to print anything useful when SLAAC is in use (this is on a Mac OS X 10.11 system).

$ networksetup -getinfo Ethernet | grep IPv6
IPv6: Automatic
IPv6 IP address: none
IPv6 Router: none
$ 
Related Question