| Summary: | NetworkManager (etcnet): Удаление link-local IPv6-адреса с помощью `ip`, если CONFIG_IPV6=yes, приводит к восстановлению всех IPv6-адресов | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Artem Varaksa <varaksaaa> |
| Component: | etcnet | Assignee: | Mikhail Efremov <sem> |
| Status: | CLOSED NOTABUG | QA Contact: | qa-sisyphus |
| Severity: | normal | ||
| Priority: | P5 | CC: | arseny, ldv, rider, sem, shaba |
| Version: | unstable | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| See Also: | https://bugzilla.altlinux.org/show_bug.cgi?id=51620 | ||
|
Description
Artem Varaksa
2025-08-13 19:02:32 MSK
Помогает ли следующая команда предотвратить перегенерацию адресов? # ip l set ens19 addrgenmode none Если да, то etcnet, в теории, мог бы настраивать этот параметр и реализовывать собственную политику генерации адресов. Но это более обширное предложение. В частности: — далеко не факт, что надо поддерживать конфигурацию, где LL-адрес отсутствует на не-p2p интерфейсе; — у него importance будет не normal, а enhancement; — позволю себе сомневаться, что такое предложение будет принято при исходном позиционировании etcnet — "хитрые алгоритмы почти все в ядре, не мешайте ему". (In reply to Artem Varaksa from comment #0) > (Иногда сначала `scope link tentative noprefixroute` у link-local адреса, > затем `tentative` исчезает.) Это абсолютно нормальное поведение, для свеженазначенного адреса происходит процедура duplicate address detection. Спасибо. Нет, команда `# ip l set ens19 addrgenmode none` не помогает. Адреса так же продолжают перегенерироваться после удаления link-local. etcnet сам не работает как сервис, отдавая настройку на сторону ядра. Link-local адреса (fe80::/64) автоматически назначаются ядром IPv6 на каждый активный интерфейс и являются обязательными по стандарту (RFC 4291, RFC 4862). Удалить их «навсегда» командой ip -6 addr del невозможно — стек IPv6 создаёт их заново. Если требуется полностью убрать link-local на конкретном интерфейсе, нужно отключить IPv6 именно для него через sysctl -w net.ipv6.conf.ens19.disable_ipv6=1 Удаление link-local адреса, похоже, приводит к переинициализации сетевой подсистемы ipv6 на интерйфейсе и поэтому появляются и остальные удалённые адреса. Понятно, но почему тогда поведение воспроизводится только после включения CONFIG_IPV6=yes в etcnet? Если это ожидаемое поведение на уровне ядра, то оно должно быть таким всегда, вне зависимости от настроек etcnet. В данном случае получается, что etcnet всё же меняет какие-то настройки, которые приводят к такой перегенерации. Возможно, это ожидаемо из-за переключения с фактического Только RA (также см. https://bugzilla.altlinux.org/55605) на DHCP/static, т. е. в режиме Только RA допустимо удаление адреса? Всё что делает etcnet для поднятия ipv6 адресов, если не настроен dhcp6: $IP -6 address flush dev $NAME scope host >/dev/null 2>&1 $IP -6 address flush dev $NAME scope site >/dev/null 2>&1 $IP -6 address flush dev $NAME scope global >/dev/null 2>&1 link-local адреса он не трогает, но возможно эти команды заставляют ядро показать и link-local адреса |