Ответ CodeNaked почти правильный, но, пожалуйста, следите за IPAddress.IsIPv6SiteLocal. Первоначальные локальные адреса сайтов IPv6 (fec0 :: / 10) устарели.
В эти дни вместо локального сайта используются уникальные локальные адреса (ULA). У ULA есть два варианта: fc00 :: / 8 еще не определен, но может использоваться в будущем для адресов внутреннего использования, которые зарегистрированы в центральном месте (ULA Central). fd00 :: / 8 используется и не должен нигде регистрироваться. Префиксы из этого диапазона генерируются случайным образом.
К сожалению, IsIPv6SiteLocal проверяет только оригинальную устаревшую версию:
PS C:\Users\Administrator> [System.Net.IPAddress]'fec0::'
Address :
AddressFamily : InterNetworkV6
ScopeId : 0
IsIPv6Multicast : False
IsIPv6LinkLocal : False
IsIPv6SiteLocal : True
IPAddressToString : fec0::
Не распознает ULA Central:
PS C:\Users\Administrator> [System.Net.IPAddress]'fc00::'
Address :
AddressFamily : InterNetworkV6
ScopeId : 0
IsIPv6Multicast : False
IsIPv6LinkLocal : False
IsIPv6SiteLocal : False
IPAddressToString : fc00::
Или локально назначенный ULA:
PS C:\Users\Administrator> [System.Net.IPAddress]'fd00::'
Address :
AddressFamily : InterNetworkV6
ScopeId : 0
IsIPv6Multicast : False
IsIPv6LinkLocal : False
IsIPv6SiteLocal : False
IPAddressToString : fd00::
Подробнее см. http://tools.ietf.org/search/rfc4193.