world

IPv6 Unique Local GlobalID Generator

When I was searching the web I could not found a simple tool which could spit out a lot of unique local prefixes (FC::/7, FD::/8 will be generated though!). Therefor I’ve created my own .NET 4 application (My first to be exact) to generate those prefixes.

You cannot simple make something up. According to RFC 4193 you need to follow a special procedure to generate a uniqe local Global ID. Create an SHA1 hash from a EUI64 identifier and the NTP64 date. Then take the first 40 bits of the hash to add them to the 8 bits (FD). This will be your Unique Local Global ID.

ulg1_1

An output example with the help:

Title : Unique Local GlobalID Generator
Author: Henk van Achterberg (henk@vanachterberg.org)
Ver.  : 1.1.0.0
Web   : http://vanachterberg.org/
Descr.: Generates Global ID's for FC::/7 (Unique Local)
      : according to RFC 4193 (http://tools.ietf.org/html/rfc4193)
Usage :

UniqueLocalGenerator.exe -n<amount to generate> -f[filename] -o[1: formatted, 0:unformatted -d[debug]

Example:

UniqueLocalGenerator.exe -n10 -fglobalids.txt -o1

And with for example 10 prefixes:

C:\>UniqueLocalGenerator.exe -n10
FD11:01AD:20D2::/48
FDAA:9B97:0133::/48
FDF1:64D8:2264::/48
FD7B:8CA0:3776::/48
FD42:586E:02EF::/48
FD60:7EE7:A024::/48
FD02:F773:3C06::/48
FD31:DFC3:E7D9::/48
FDF2:A590:1080::/48
FD40:F274:DFD4::/48

And if you do not want the nice IPv6 subnet output but plain hex:

C:\>UniqueLocalGenerator.exe -n10 -o1
FD4FDA8C857C
FDB0CF9745DE
FD45F881811E
FD59DF8567CE
FDFA7021FF85
FD1B527BD6DD
FD882DAC6B4E
FDB42643B85B
FD2E9A5BBA1F
FD835A8C476F

You can download the application here:

UniqueLocalGenerator.zip

If you use Unique Local GlobalID’s please register them at this site: http://www.sixxs.net/tools/grh/ula/ .

Leave a comment