Стабильный адрес IPv6 в Fedora

Стабильный адрес IPv6 в Fedora

В отличие от других систем, рабочая станция Fedora 25 по умолчанию не использует стабильные адреса IPv6.

Например, в CentOS 7 или Fedora 23 автоматически настраивается стабильный IPv6 (в сети с поддержкой IPv6, где присутствует маршрутизатор IPv6), т. е. тот, который выводится из MAC-адреса.

Затем этот адрес IPv6 можно использовать в записи DNS AAAA.

В отличие от этого, адрес IPv6 рабочей станции Fedora 25 не имеет никакой связи с ее MAC-адресом и, по-видимому, не является стабильным.

Как настроить детерминированные и стабильные адреса IPv6 в Fedora 25?

решение1

На рабочей станции Fedora 25 NetworkManager (NM) настраивает все сетевые интерфейсы по умолчанию. Это значит, что и проводные тоже. И NetworkManager не создаетЭУИ-64производные IPv6-адреса. Вместо этого он генерирует так называемые «стабильно-приватные». Видимо, чтобы не раскрывать MAC-адрес каждому IPv6-адресу назначения.

Это можно изменить для данного интерфейса, $iизменивIPV6_ADDR_GEN_MODEключв /etc/sysconfig/network-scripts/ifcfg-$iфайле конфигурации. Например через:

sed -i 's/^IPV6_ADDR_GEN_MODE=stable-privacy/IPV6_ADDR_GEN_MODE=eui64/' \
  /etc/sysconfig/network-scripts/ifcfg-$i

Изменение вступит в силу после того, как NetworkManager перечитает свою конфигурацию и после повторного подключения:

nmcli con reload
nmcli con down $i
nmcli con up $i

Примечания

  • эта опция не отображается через графический интерфейс настроек NM
  • файлы конфигурации интерфейса, считываемые /etc/sysconfig/network-scriptsNM, специфичны для Fedora/Redhat, но ключ конфигурации — нет, т.е. в других дистрибутивах NM просто считывает конфигурации интерфейса из разных мест/файлов конфигурации.

В Fedora также есть systemd-networkd, которыйне отключает генерацию EUI64, по умолчанию. Таким образом, более простой способ получить стабильные адреса IPv6 в Fedora — просто удалить NetworkManager и вместо этого настроить/включить systemd-networkd.

Или можно сделать нужный интерфейс неуправляемым в NetworkManager, а затем настроить его в systemd-networkd.

В любом случае, сетевая конфигурация будет довольно минимальной, например:

cat /etc/systemd/network/20-wired.network
[Match]
# manage all matching interfaces
#Name=en*
# just manage one:
Name=eno1
    
[Network]
DHCP=ipv4

решение2

Адреса, которые вы считаете нестабильными, на самом деле таковыми являются.

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

Стабильные адреса конфиденциальности назначаются вместо адресов, полученных от EUI-64, когда SLAAC используется на ссылке. Они не заменяютЗапрос на изменение 4941адреса конфиденциальности.

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

решение3

Вы можете настроить это для каждого соединения. Протестировано на Fedora 35.

руководство по настройкам nm:nm-settings-nmcli - настройка ipv6

  1. Отредактируйте /etc/NetworkManager/system-connections/<connection_name>.nmconnectionи установите addr-gen-mode. eui64Значение по умолчанию stable-privacy.

    [ipv6]
    addr-gen-mode=eui64
    
  2. Перезагрузить.

Связанный контент