На моих Mac каждый IPv6-адрес включает MAC-адрес определенного компьютера ( не моего маршрутизатора). Такие сайты, как ipv6-test.com, не только показывают его, но даже говорят, что он принадлежит компьютеру Apple.
Это похоже на супер cookie, и может относиться и к другим операционным системам. Как я могу избежать раскрытия моих MAC-адресов?
Справочная информация: MAC-адрес не виден . Как для 2001:0db8:1:2:60:8ff:fe52:f9d8
:
- Возьмите последние 64 бита (идентификатор хоста) и добавить ведущие нули:
0060:08ff:fe52:f9d8
. - Снимите
ff:fe
часть с середины. Если этих байтов нет, то MAC-адрес отсутствует. - Для первого байта: дополнить второй бит младшего разряда (универсальный / локальный бит; если бит равен 1, сделать его 0, а если это 0, сделать его 1). Итак:
0x00
(00000000) становится0x02
(00000010). - Presto:
60:8ff:fe52:f9d8
переводит обратно в MAC-адрес02:60:08:52:f9:d8
.
Примечание: начиная с macOS 10.12 Sierra, согласно Ars Technica, Apple приняла новый способ генерации стабильных адресов, не основанных на MAC-адресе , который Windows, очевидно, уже делала годами.
Этот вопрос был Супер Вопросом Пользователя Недели .
Прочитайте запись в блоге для получения более подробной информации или внесите свой вклад в блог самостоятельно
источник
.stack
должны быть повторно загружены ...?Ответы:
Это решается двумя расширениями IPv6:
По крайней мере один, но все чаще оба метода поддерживаются популярными операционными системами.
Обратите внимание, что эти функции являются ортогональными. Вы можете использовать оба одновременно, если хотите.
Стабильные частные адреса
В некоторых операционных системах MAC-адрес (EUI-48) просто больше не используется для идентификаторов интерфейса. Вместо этого используется случайный или основанный на хэше идентификатор, как правило, в соответствии с RFC 7217.
Windows использует собственную схему по умолчанию, начиная с Windows Vista.
Чтобы проверить, активна ли эта функция, выполните команду PowerShell:
Чтобы включить / отключить функцию:
Linux (NetworkManager) поддерживает RFC 7217 начиная с NetworkManager v1.2.0, используя UUID профиля соединения как часть начального числа. Эта функция активна по умолчанию в последних версиях NM.
Чтобы включить или отключить эту функцию:
Linux (ядро SLAAC) поддерживает RFC 7217 начиная с ядра v4.1.0; однако, он должен быть активирован вручную путем сохранения секретного начального числа через sysctl.
Секретный ключ - это 128-битная шестнадцатеричная строка (в форме адреса IPv6), которая должна храниться в
net.ipv6.conf.default.stable_secret
sysctl. Чтобы сделать это постоянным, это могло быть вставлено/etc/sysctl.d/50-rfc7217.conf
или подобный:Установка секрета автоматически активирует этот режим для всех сетевых интерфейсов. Чтобы проверить, активна ли эта функция, найдите «addrgenmode stable_secret»
ip -d link
или значение «2» вsysctl net.ipv6.conf.<ifname>.addr_gen_mode
.Временные частные адреса
Как определено в RFC 4941, временные адреса конфиденциальности генерируются случайным образом и поворачиваются каждые несколько часов.
Windows поддерживает временные адреса начиная с Windows XP SP2.
Чтобы включить / отключить эту функцию:
Обратите внимание, что Windows больше не использует первичные адреса на основе MAC-адресов, начиная с Windows Vista.
Linux (NetworkManager) : последние версии NetworkManager обрабатывают RA самостоятельно, хотя два значения, приведенные ниже, имеют значения, идентичные sysctl (2 = предпочитать конфиденциальный адрес, 1 = предпочитать основной адрес):
Кроме того, начиная с версии 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
:Linux (ядро SLAAC) поддерживает временные адреса, но не использует их по умолчанию. Их можно активировать через sysctl.
Чтобы включить временные адреса и сделать их предпочтительными для исходящих соединений:
Чтобы включить генерацию временного адреса, но оставьте статический адрес SLAAC предпочтительным:
Часть
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 Lion:
Временные адреса, если включены, будут предпочтительными.
FreeBSD :
NetBSD :
Предпочтение временных адресов? Понятия не имею. Адрес autoconf представляется предпочтительным.
ifconfig
не отображается список свойств адреса.OpenBSD - поддержка добавлена в 5.2 ; включен и предпочтен по умолчанию в 5.3 .
ifconfig
показывает "autoconfprivacy" рядом с временными адресами.Примечания по конфигурации:
В Linux, OS X и всех BSD отредактируйте,
/etc/sysctl.conf
чтобы сделать настройку постоянной.В Windows изменения сохранятся автоматически. (Вы можете добавить
store=active
вnetsh
команду , если вы хотите, чтобы только до перезагрузки.)Частично основано на операционных системах IPv6 на IPv6INT.net. Смотрите также Общие замечания по IPv6.
Если аппаратный адрес используется в адресе IPv6, это обычно означает, что ваша сеть использует автоматическую настройку IPv6 без сохранения состояния. В этом случае вы можете просто выбрать свой собственный суффикс адреса и настроить IPv6 вручную.
Однако, даже если в добавленном вручную адресе не будет вашей информации об оборудовании, он все равно будет статичным (в отличие от адресации конфиденциальности, которая часто меняет адреса). Кроме того, статические адреса могут быть проблемой в сети, превышающей 2-3 устройства.
источник
ifconfig
. Исходящие соединения используют случайныйautoconf temporary
адрес, который время от времени меняется. Хороший! Но для входящих соединений (при открытии в моем маршрутизаторе) я все еще могу использоватьautoconf
адрес. Я не против разоблачить это в DNS-записях (хотя, возможно, я мог бы даже каким-то образом выбрать другой адрес для этого тоже).de4d:b33f
не так уж плохи для запоминания; Кроме того, они созданы их владельцем, в то время какwhois
спам а) раздражает и б) вызван посторонними, которые не контролируют ваш домен.ip a
дляpreferred_lft
. Так чтоssh
соединения будут разрываться каждые 40 секунд, если вы включите эту функцию. Он даже не подходит для обычных веб-серферов, поскольку каждая загрузка должна быть завершена в течение 40 секунд.К вашему сведению, это относится только к определенным схемам IP-адресации. Скорее всего, вы (или ваш интернет-провайдер) используете автоконфигурацию IPv6, для чего требуется достаточно большой блок IP-адресов. Решением может быть отключение этой функции. Ваш Интернет-провайдер может также использовать DHCP для назначения адресов, что все еще возможно с IPv6.
источник
/56
: «Интернет-провайдеры, которые/64
раздают только одну, вообще не позволяют вам создавать подсети. Если это/64
происходит через интерфейс WAN, то вы никогда не получите приличный IPv6 в своих локальных сетях . ошибка провайдеров, и они должны исправить это, выдавая приличное количество (/48
или/56
) адресов ».