As an appendix to my previous IPv6 post, I’d like to summarize what I’ve learned on my IPv6 journey.
IPv6 address space is vast: It would be enough to address each and every atom on the surface of Earth, though it is distributed quite generous ISP providers can get a very large /32 address space. If you are lucky your ISP gives you an /56 network which you can divide up to 256 subnets to form a /64 address space and assign IP-s there as you wish. It is still more than 4 billion times more addresses than we have in the IPv4 address space.
Link Local Addresses: These addresses begin with
fe80 they can be used locally but only if they are associated with an interface, example:
ssh fe80::d250:99ff:fe29:bf3a%eth0 could work.
MAC to IPv6 translation: It is usually used to construct the lower 64 bits of your IP address using the following method, if your MAC is
11:22:33:44:55:66 then insert an
fffe in the middle resulting a
1122:33ff:fe44:5566 64 bit address, put a 64 bit network prefix in front of it and have the full 128 bit address. Like
fe80::1122:33ff:fe44:5566/64 could be a valid link local address and
2001:db80:1234:5600:1122:33ff:fe44:5566/64 a valid global address.
Multiple IP for one Interface, Security: There can be multiple IP-s assigned to an interface. As MAC to IPv6 translation could give out information on your network, it is usual that you are communication to the outer world using a temporal random IP address. In order to check your IPv6 addresses
ifconfig is not enough any more. Use:
ip -6 addr instead.
Have an IPv6 Strategy: Checking the Google IPv6 Statistics it seems during the past years IPv6 usage is doubled each year. We are at ~14% now it was only 4.8% two years ago. Since 1st of June 2016 Apple accepts apps to their store which are working with IPv6 only network.