Как постараться не выставлять мой MAC-адрес при использовании IPv6?

На моих 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).
  • Престо: 60:8ff:fe52:f9d8 переводит назад в MAC-адрес 02:60:08:52:f9:d8.

Примечание: начиная с горной цепи macOS 10.12 по данным Ars Technica Apple приняла новый способ генерировать стабильные адреса, которые не основаны на MAC-адресе, который Windows, по-видимому, уже делал в течение многих лет.


Этим вопросом был Вопрос о Суперпользователе Недели.
Прочитайте запись в блоге для получения дополнительной информации или способствуйте блогу сами

140
задан 07.10.2017, 12:15

2 ответа

Это решено двумя расширениями IPv6:

  • RFC 4941 иначе "Обращение Конфиденциальности" позволяет временному использованию исходящих соединений, случайным образом сгенерированные адреса (которые повернуты каждые несколько часов).
  • RFC 7217 позволяет основному, статическому адресу быть сгенерированным от непрозрачного хеша, который не показывает информации.

По крайней мере один, но все больше оба метода поддерживается популярными операционными системами.

Обратите внимание, что эти функции являются ортогональными. Можно использовать обоих одновременно, если Вы хотите.

Стабильные частные адреса

В некоторых операционных системах 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 устройства.

134
ответ дан 07.12.2019, 07:47

К вашему сведению это только относится к определенным схемам IP-адресации. Более, чем вероятный Вы (или Ваш ISP) используете автоматическую конфигурацию IPv6, которая требует, чтобы довольно большой блок дюйм/с выполнил во-первых. Решение могло состоять в том, чтобы выключить эту функцию. Ваш ISP мог бы использовать DHCP для присвоения адресов также, который все еще возможен с IPv6.

1
ответ дан 07.12.2019, 07:47

Теги

Похожие вопросы