For those who are not familiar, OSX Sierra implemented IPv6 Privacy Addressing so that your temporary IPv6 address is no longer derived from your MAC address (reversely, this blocks your MAC address to be deciphered from your IPv6 address when connecting to a network). This results in improved privacy since your machine can no longer be tracked when connecting to different networks.

The new scheme generates new temporary IPv6 addresses at regular intervals for your machine. However, searching online I could find no information on what these intervals are or when exactly these temporary addresses are generated. Does anyone happen to know this information for this feature? Further, is there a way to manually generate and use a new IPv6 address at will using Terminal commands?


  1. At what intervals does OSX Sierra generate new temporary IPv6 addresses for your machine?
  2. Is there a way to manually generate and use an IPv6 address at will?
  3. On OSX, an ifconfig command shows inet6 secured, inet6 temporary and inet6 dynamic addresses under the en0 interface. What is the inet6 dynamic address?

Thank you and I appreciate taking the time to read this :)

Here is the little information I could find about this topic online:

  1. Disabling IPv6 addresses in OSX Sierra
  2. OSX Sierra New Features
  3. Sierra changes IPv6 addressing
  • I expect it should be fairly straight forward to measure the interval yourself. Write a script to write the ipv6 address to a file (ip addr show dev en0 should do the trick), along with the current time. Oct 7 '17 at 7:06

A little late to the party, but I thought I'd throw in some research I just did on this. MacOS uses two properties to determine the default lifetime of a privacy address for IPv6.

net.inet6.ip6.temppltime specifies the "preferred lifetime" for privacy addresses, in seconds, and defaults to 86400 (one day).

net.inet6.ip6.tempvltime specifies the "valid lifetime" for privacy addresses, in second, and defaults to 604800 (one week).

Hope that helps someone. I stumbled on this article while researching the exact thing for myself tonight.


Rather than changing the addresses that are already there, I would suggest simply adding another address to the same interface. Something along the lines of ip addr add 1001::2992/64 dev en0 should get the job done.

  • Thanks Robbie, but then how would you ask the interface to start using this address instead of the current one its using? Oct 7 '17 at 19:04
  • There isn't really such a thing as using one address and not another, the interface uses all of the addresses. That is to say, your computer is addressable by more than one ipv6 address, this is normal. Oct 7 '17 at 19:22
  • I assumed it uses only one of the generated IPv6 temporary addresses at a time? Please correct me if I am wrong. In essence, let us say someone somehow managed to tie your temporary IP to your machine and you wanted a fresh set of temporary IPv6 addresses so that they wouldn't know it is you anymore. This is what I am hoping to achieve. Oct 7 '17 at 22:52
  • No, all of the addresses assigned to an interface are used at the same time. I couldn't say how you would regenerate a new temporary IP address, and I would think there isn't much you could really achieve by doing so. What are you trying to achieve? Oct 9 '17 at 0:33
  • Trying to achieve anonymity in the case that someone manages to tie me to one of the temporary generated IPv6 addresses. I should be able to generate a fresh set in such a case. Oct 9 '17 at 11:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.