I am setting up a virtual lab environment in the cloud to experiment with IPv6 networks.
Bear with me please, I'm new to networking and my grasp of the whole IPv6 subject is quite shaky. Please correct me if I misunderstand any of the IPv6 concepts or my terminology is wrong etc.
So what I am trying to do is creating a Link (or Subnet) consisting of Unique Local Addresses (ULA).
Regarding RFC 4193 the structure is the following:
Prefix FC00::/7 prefix to identify Local IPv6 unicast
L Set to 1 if the prefix is locally assigned.
Set to 0 may be defined in the future. See
Section 3.2 for additional information.
Global ID 40-bit global identifier used to create a
globally unique prefix. See Section 3.2 for
Subnet ID 16-bit Subnet ID is an identifier of a subnet
within the site.
Interface ID 64-bit Interface ID as defined in [ADDARCH].
What I'm struggling with is generating the Pseudo-Random Global ID. RFC 4193 also specifies an algorithm to do so:
The algorithm described below is intended to be used for locally
assigned Global IDs. In each case the resulting global ID will be
used in the appropriate prefix as defined in Section 3.2.
1) Obtain the current time of day in 64-bit NTP format [NTP].
2) Obtain an EUI-64 identifier from the system running this
algorithm. If an EUI-64 does not exist, one can be created from
a 48-bit MAC address as specified in [ADDARCH]. If an EUI-64
cannot be obtained or created, a suitably unique identifier,
local to the node, should be used (e.g., system serial number).
3) Concatenate the time of day with the system-specific identifier
in order to create a key.
4) Compute an SHA-1 digest on the key as specified in [FIPS, SHA1];
the resulting value is 160 bits.
5) Use the least significant 40 bits as the Global ID.
6) Concatenate FC00::/7, the L bit set to 1, and the 40-bit Global
ID to create a Local IPv6 address prefix.
This algorithm will result in a Global ID that is reasonably unique
and can be used to create a locally assigned Local IPv6 address
Step 2) is what I'm having problems with. https://cd34.com/rfc4193/ implements the RFC 4193 algorithm utilizing a MAC address.
But what MAC address do I use?
I believe that if I just use the MAC of my physical Ethernet interface of my home PC I'm fine, right? If I understand correctly I could only run into the problem of the Global ID not being unique if someone generated a Global ID with the same MAC address at the exact same time.