I currently am and want to keep using the privacy extension (Windows 10 default).

> ipconfig
Windows IP Configuration
Ethernet adapter Ethernet: 
  Connection-specific DNS Suffix  . : home    
  IPv6 Address. . . . . .. . . .. . : 2a02:8071:6a0:0f00:9801:dc53:2556:d8a2
  Temporary IPv6 Address. . . . . . : 2a02:8071:6a0:0f00:88e0:664:85c1:597a
  Link-local IPv6 Address . . . . . : fe80::9801:dc53:2556:d8a2%5
  Default Gateway . . . . . . . . . : fe80::5667:51ff:fea0:7156%5

However, for some outgoing connections I would prefer to use the public IPv6 address (2a02:8071:6a0:0f00:9801:dc53:2556:d8a2) instead. The curl call updating my dynamic DNS record is an example for this. In this case, a command-line parameter allows me to use the public address instead of a temporary one. curl -6 --interface 2a02:8071:6a0:0f00:9801:dc53:2556:d8a2 https://mySubDomain.nsupdate.info:mySecretToken@ipv6.nsupdate.info/nic/update

But how can I make a program use the public address in general?

  • @Blaine The IPv6 Address is called Public IPv6 address because it should be routable. My Windows chose it based on th prefex advertised by my router's/ISP's DHCP server - no need to figure it out. Just as these whatsmyip sites, my dynamic DNS sees my public IP address as source of the TCP/HTTP packages - no need for much code there and it likely would be serverside anyway. Your comment indicates that my question is not very clear. Any ideas on how to improve it? – jan-glx Sep 21 '16 at 15:12
  • Well, technically both addresses are public. You just want to use a specific address. For a program, that’s as easy as specifying the desired local endpoint when opening a socket. However, most programs will probably not give you an option do influence their behavior when opening a socket. – Daniel B Sep 21 '16 at 15:32
  • @YAK - Your question is clear. Blaine is simply confused. Blaine's comment isn't that constructive, I can't determine the purpose, of making a comment that admits they have no idea how to help you. – Ramhound Sep 21 '16 at 15:46
  • @DanielB - Indeed the only way this likely will be possible is to compile the program itself, and change the the code to behave differently, provided the source code was even published. I personally have not looked at how the program determines what the temporary address will be. Perhaps somebody with more experience, can confirm, if thats a mechanic of the program or not. – Ramhound Sep 21 '16 at 15:49
  • 1
    rfc6724: "Implementations for which application compatibility considerations outweigh these privacy concerns MAY reverse the sense of this rule and by default prefer public addresses over temporary addresses. There SHOULD be an administrative option (the Privacy Preference flag) to change this preference, if the implementation supports temporary addresses." -- Do you know if this preference can be changed for windows? (Hoping that browsers explicitly prefer temporary addresses) – jan-glx Sep 21 '16 at 22:32

Just disable privacy. But mind you, then all applications will use the one IPv6 address that is remaining. See https://www.sevenforums.com/tutorials/304071-ipv6-temporary-address-enable-disable.html

  • Well, the question states, emphasis mine: "for some outgoing connections I would prefer to use the public IPv6 address". – Arjan Dec 6 '19 at 14:19

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.