LINUX.ORG.RU
решено ФорумTalks

SLAAC - зачем?

 , , ,


1

2

Покая не вникал в суть IPv6, мне казалось что SLAAC - это не протокол, а свойство IPV6, тоесть если на интерфейсе роутера настроен условный адрес 2001:8888:8888:8888::1/64, то в ответ на NDP придет пакет где будет предложена этот префикс и ПК уже сам выберет себе адрес...и тогда это вроде как имеет смысл, не надо плодить дополнительную сущность для раздачи адресов (DHCP).

Но нет...на практике оказалось, что для работы SLAAC нужно запускать отдельного демона (radvd в linux) у которого есть конфиг, в котором нужно указывать префикс для раздачи, тоесть получили вы префикс по dhcpv6-pd, будте добры добавить его в конфиг (скриптами конечно). Тоесть фактически отдельная сущность для раздачи IP адресов остается, причем SLAAC не умеет раздавать ничего кроме IP адресов и битового префикса (есть rfc про раздачу dns, но вроде его мало кто реализовал) и для полноценной работы рядом с ним должен быть запущем DHCPv6 сервер, который будет отдавать все остальные опции.

И из этого возникает вопрос - а зачем нужна новая сущность если и старая неплохо справлялась и всеравно работает совместно с новой?

Это уже детали реализации, на самом деле. Авторы radvd могли бы запросто сделать и так, как ты описал. Попробуй им реквест заслать, чтобы добавить опциональное поведение.

kirk_johnson ★☆ ()
Последнее исправление: kirk_johnson (всего исправлений: 1)

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

какие?

и всеравно работает совместно с новой?

зачем?

сущность, может, и не нужна, но, чует мое сердце, что DHCPv6 тебе не нужен.

t184256 ★★★★★ ()
Ответ на: комментарий от t184256

Тоесть ты предлагаешь dns руками вбивать? Ну ок. Я сейчас говорю не про текущий DualStack, когда у тебя может быть DNS от IPv4, а про IPv6 only конфигурацию, если что.

NobleWolf ()
Ответ на: комментарий от NobleWolf

IPv6 only конфигурацию

в 90+% сетапов нафиг не нужен

Ну всё верно

TheAnonymous ★★★★★ ()

Отдельный юзерспейсный демон для SLAAC нужен хотя-бы для всяких нестандартных конфигураций вроде - несколько внешних интерфейсов со своими префиксами, один внешний интерфейс с несколькими префиксами, какое-нибудь сложное туннелирование соединения и отсутствие внешнего префикса (или ipv6 nat, например), несколько внешних и внутренних интерфейсов со своими префиксами.

Очевидно, что такие задачи проще решать в отрыве от основного DHCP демона. Всё-таки линуксовый софт должен быть модульным и создаваться по принципам KISS. Также, очевидно, нельзя внедрять логику SLAAC демона прямо в ядро.

По этим причинам, нужен дополнительный демон в довесок к DHCPv6. Так или иначе, ресурсов на роутере он много не жрёт.

DawnCaster ★★ ()
Последнее исправление: DawnCaster (всего исправлений: 1)

RDNSS таки уже реализовали многие. Это сильно проще чем нормальный dhcpv6 который хоть как-то на массовых устройствах начал лишь пару-тройку лет назад.

Dark_SavanT ★★★★★ ()
Ответ на: комментарий от DawnCaster

нельзя внедрять логику SLAAC демона прямо в ядро

Зато клиент можно!
Только поднимаешь интерфейс ip link set up на голом ядре - и немедленно получаешь ip, открытый всем ветрам, к тому же светящийся мак-адресом в правой части

TheAnonymous ★★★★★ ()
Ответ на: комментарий от TheAnonymous

Я так понял, что речь была о сервере.

к тому же светящийся мак-адресом в правой части

Можно ведь юзать Privacy Extensions. Или сгенерировать новый мак-адрес. Да и в чём вообще проблема с мак-адресом ? Кровавому Моссаду будет проще вас «по IP» вычислить ?

DawnCaster ★★ ()
Последнее исправление: DawnCaster (всего исправлений: 2)
Ответ на: комментарий от DawnCaster

Можно ведь юзать Privacy Extensions

Можно, но по умолчанию они не включены.
И айпишник всучается без каких бы то ни было настроек, просто по поднятию интерфейса

TheAnonymous ★★★★★ ()
Ответ на: комментарий от Dark_SavanT

PKI мне поможет, естественно, иначе нафиг бы это все нужно было.

t184256 ★★★★★ ()
Последнее исправление: t184256 (всего исправлений: 1)

SLAAC проще и удобнее, чем DHCPv6. Он работает и в случаях, когда в сети более одного шлюза. Опция DNS есть, и прекрасно работает. Если кто-то ее еще не использует, ССЗБ.

В 90+% случаев SLAAC вполне хватает, и использовать DHCPv6 не нужно вовсе. Как правило, DHCPv6 используется тогда, когда надо раздавать клиентам префиксы. Т.е. провайдеры обычно используют DHCPv6, а внутри локальной сети - SLAAC.

Почему в Линуксе SLAAC реализован в виде отдельного демона? Ну где-то же этот код должен быть. Код редко используемый, не критичный к скорости, сетевой сервер по сути. Логично разместить его в юзерспейсе, а не ядре. Вообще тащить всё подряд в ядро - это зло.

Deleted ()
Ответ на: комментарий от TheAnonymous

получаешь ip, открытый всем ветрам, к тому же светящийся мак-адресом в правой части

MAC-адрес в правой части не обязателен. Сейчас принято использовать псевдослучайные квазистабильные адреса, номер RFC по памяти не скажу. В продукции Apple это появилось давно, Linux тоже поддерживает, как минимум при использовании Network Manager. Ну и Privacy Extensions никто не отменял.

Deleted ()
Ответ на: комментарий от Deleted

как минимум при использовании Network Manager

не нужно, просто надо записать сид в /proc/sys/net/ipv6/conf/eth0/stable_secret перед поднятием интерфейса

Но речь про поведение в ядре по умолчанию.

TheAnonymous ★★★★★ ()
Ответ на: комментарий от Deleted

Так если можно брать не MAC, то что все так ноют, что меньше /64 на подсеть это плохо? Ну будет подсеть /72, а в ней стабильные псевдослучайные адреса.

cvs-255 ★★★★★ ()
Ответ на: комментарий от cvs-255

что все так ноют, что меньше /64 на подсеть это плохо?

Из-за совместимости.

Deleted ()

есть rfc про раздачу dns, но вроде его мало кто реализовал

Как уже справедливо заметили, RDNSS через RA уже давно раздаются и понимаются, Linux, MacOS, iOS, Android (который, кстати, напротив не использует DHCP6 и эта принципиальная позиция служила источником многих эпичных перебранок), Windows 10, начиная с creator update.

Причина, почему RA раньше использовался только для раздачи префиксов, идеологическая: некоторые пуристы протоколов в начале разработки IPv6 считали, что DNS, как протокол более высокого, чем IP уровня, должен конфигурироваться на более высоком уровне. И тогда ещё было мнение, что DNS могут чем-то заменить, поэтому включать его поддержку в такую базовую сущность, как RA, неосмотрительно. Сейчас такие идеи уже считаются маргинальными, так что RFC 8106 - неоспоримый стандарт.

Конечно, DHCP позволяет передать загружаемому хосту намного больше информации: не только NTP, но и syslog, next-server (необходимый для бездисковой загрузки или инсталляции) и кучу другого. Когда это необходимо, придётся использовать DHCP, хотя некоторые ребята пользуются DNS SRV, насколько я слышал.

ivlad ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.