На моих Mac каждый адрес IPv6 включает MAC-адрес определенного компьютера (не моего маршрутизатора). Сайты, такие как ipv6-test.com не только показывают его, но и даже говорят мне, что это принадлежит компьютеру Apple.
Это чувствует себя подобно супер cookie и могло бы относиться к другим операционным системам также. Как я могу избежать своих MAC-адресов от того, чтобы быть выставленным?
Фон: MAC-адрес не находится в простом виде. Как для 2001:0db8:1:2:60:8ff:fe52:f9d8
:
0060:08ff:fe52:f9d8
.ff:fe
часть с середины. Если эти байты не там, то нет никакого MAC-адреса.0x00
(00000000) становится 0x02
(00000010).60:8ff:fe52:f9d8
переводит назад в MAC-адрес 02:60:08:52:f9:d8
.Примечание: начиная с горной цепи macOS 10.12 по данным Ars Technica Apple приняла новый способ генерировать стабильные адреса, которые не основаны на MAC-адресе, который Windows, по-видимому, уже делал в течение многих лет.
Этим вопросом был Вопрос о Суперпользователе Недели.
Прочитайте запись в блоге для получения дополнительной информации или способствуйте блогу сами
Это решено двумя расширениями IPv6:
По крайней мере один, но все больше оба метода поддерживается популярными операционными системами.
Обратите внимание, что эти функции являются ортогональными. Можно использовать обоих одновременно, если Вы хотите.
В некоторых операционных системах MAC (EUI-48) адрес просто больше не используется для интерфейсных идентификаторов. Вместо этого случайный или основанный на хеше идентификатор используется, обычно согласно RFC 7217.
Windows использует пользовательскую схему значением по умолчанию, начинающимся с Windows Vista.
Чтобы проверить, активна ли функция, выполняет команду PowerShell:
Get-NetIPv6Protocol | fl RandomizeIdentifiers
Позволять/запрещать функцию:
Set-NetIPv6Protocol -RandomizeIdentifiers Enabled
Set-NetIPv6Protocol -RandomizeIdentifiers Disabled
Linux (NetworkManager) поддерживает RFC 7217 с NetworkManager v1.2.0, с помощью UUID профиля подключения в качестве части семени. Эта функция активна по умолчанию в недавних версиях NM.
Включить или отключить эту опцию:
nmcli con modify "<profilename>" ipv6.addr-gen-mode stable-privacy
nmcli con modify "<profilename>" ipv6.addr-gen-mode eui64
Linux (ядро SLAAC) поддерживает RFC 7217 с ядра v4.1.0; однако, это должно быть вручную активировано путем хранения секретного семени через sysctl.
Секретный ключ является 128-разрядной шестнадцатеричной строкой (сформированный как адрес IPv6), который должен быть сохранен в net.ipv6.conf.default.stable_secret
sysctl. Для создания этого персистентным это могло быть вставлено /etc/sysctl.d/50-rfc7217.conf
или подобный:
net.ipv6.conf.default.stable_secret = 84a0:d5aa:52b0:4d35:k567:3aa6:7af5:474c
Установка секрета автоматически активирует этот режим для всех сетевых интерфейсов. Чтобы проверить, активна ли функция, ищите "addrgenmode stable_secret" в ip -d link
, или значение "2" в sysctl net.ipv6.conf.<ifname>.addr_gen_mode
.
Как определено в RFC 4941, временные адреса конфиденциальности сгенерированы случайным образом и повернули каждые несколько часов.
Windows поддерживает временные адреса с Windows XP SP2.
Позволять/запрещать эту функцию:
netsh interface ipv6 set privacy state=enabled
netsh interface ipv6 set privacy state=disabled
Обратите внимание, что Windows больше не использует ОСНОВАННЫЕ НА MAC-АДРЕСЕ основные адреса, запускающиеся с Windows Vista.
Linux (NetworkManager): Последние версии NetworkManager обрабатывают РА самостоятельно, хотя два значения ниже имеют идентичные значения к sysctl (2 =, предпочитают, чтобы адрес конфиденциальности, 1 = предпочли основной адрес):
nmcli con modify <name> ipv6.ip6-privacy 2
Кроме того, с 1.2.0 лучший режим стал доступным, который изменяет основной адрес, чтобы больше не быть основанным на MAC, но вместо этого уникальным для каждой сети (RFC 7217):
(Обратите внимание, что обращение конфиденциальности является ортогональным addr-gen-mode; возможно использовать обоих.)
Примечание стороны: С 1.4.0, NM позволяет рандомизировать сам MAC-адрес, также. Набор wifi.cloned-mac-address
кому: stable
иметь другой MAC для каждой сети (рекомендуемой), или random
рандомизировать его для каждого соединения (может вызвать проблемы).
Во всех случаях, <name>
должно быть имя подключения, например, WiFi SSID или "Wired Connection 1"
. Использовать nmcli con
перечислять все.
Для создания этого значением по умолчанию для новых соединений с 1.2.0, можно измениться /etc/NetworkManager/NetworkManager.conf
:
[connection]
ipv6.addr-gen-mode=stable-privacy
wifi.cloned-mac-address=stable
Linux (ядро SLAAC) поддерживает временные адреса, но не использует их по умолчанию. Они могут быть активированы через sysctls.
Включить временные адреса и сделать их предпочтенными для исходящих соединений:
sysctl net.ipv6.conf.all.use_tempaddr=2
sysctl net.ipv6.conf.default.use_tempaddr=2
Включить поколение временного адреса, но сохранить статический адрес SLAAC, как предпочтено:
sysctl net.ipv6.conf.all.use_tempaddr=1
sysctl net.ipv6.conf.default.use_tempaddr=1
all
или default
часть может быть заменена определенным именем интерфейса; например. net.ipv6.conf.eth0.use_tempaddr
.
(Я использовал ip link set eth0 down && ip link set eth0 up
для принуждения присвоения адреса но можно также работать rdisc6 eth0
или просто ожидайте несколько минут следующего периодического Объявления маршрутизатора.)
Mac OS X – включенный по умолчанию начиная с OS X 10.7 Львов:
sysctl -w net.inet6.ip6.use_tempaddr=1
Временные адреса, если включено, будут предпочтены.
FreeBSD:
sysctl net.inet6.ip6.use_tempaddr=1
sysctl net.inet6.ip6.prefer_tempaddr=1
NetBSD:
sysctl -w net.inet6.ip6.use_tempaddr=1
Предпочтение временных адресов?Понятия не имею. Адрес autoconf, кажется, предпочтен. ifconfig
кажется, не перечисляет свойств адреса.
OpenBSD – поддержка добавляется в 5,2; включенный и предпочтенный по умолчанию в 5,3.
ifconfig em0 autoconfprivacy
ifconfig
шоу "autoconfprivacy" рядом с временными адресами.
Примечания по конфигурации:
На Linux, OS X, и всем BSDs, редактировании /etc/sysctl.conf
устанавливать постоянную настройку.
В Windows изменения сохранятся автоматически. (Можно добавить store=active
к netsh
управляйте, хотите ли Вы, чтобы это только продлилось до перезагрузки.)
Частично на основе Операционных систем IPv6 по IPv6INT.net. См. также Общие Примечания IPv6
Если аппаратный адрес используется в адресе IPv6, это обычно означает, что Ваша сеть использует IPv6 Автоматическая конфигурация Не сохраняющая состояние. В таком случае можно просто выбрать собственный суффикс адреса и настроить IPv6 вручную.
Однако даже при том, что вручную добавленный адрес не будет иметь Вашей информации об аппаратных средствах, это все еще будет статично (в отличие от этого, с Обращением Конфиденциальности, которое изменяет адреса время от времени). Кроме того, статические адреса могут быть болью в сети, больше, чем 2-3 устройства.
К вашему сведению это только относится к определенным схемам IP-адресации. Более, чем вероятный Вы (или Ваш ISP) используете автоматическую конфигурацию IPv6, которая требует, чтобы довольно большой блок дюйм/с выполнил во-первых. Решение могло состоять в том, чтобы выключить эту функцию. Ваш ISP мог бы использовать DHCP для присвоения адресов также, который все еще возможен с IPv6.