Allow dual stack queue что это
Перейти к содержимому

Allow dual stack queue что это

IPv6 для домашних сетей

В этой статье мы постараемся описать текущее состояние поддержки и варианты внедрения IPv6 в домашних сетях. Статья написана осенью 2012 года, вполне возможно, что уже через год она будет совершенно неактуальной, но всё-таки мы опишем статус IPv6 на сегодняшний день. Информация ориентирована в первую очередь на провайдеров домашних сетей, соответственно, под определение «провайдер» в данной статье магистралы не подпадают.

Не так давно закончилась свободная раздача IPv4 адресов, поэтому вопросов по IPv6 с каждым днём становится всё больше. Но сами вопросы чаще всего показывают разрыв между понятием IPv6 в головах вопрошающих и реальным положением вещей.

Из наиболее частых вопросов можно выделить: «А ваш биллинг поддерживает IPv6 адреса?». При этом ответ: «А всё ваше оборудование готово к его внедрению?» вызывает удивление: «А что там готовить надо?».

Не хочется заниматься переписыванием основ IPv6 из rfc (http://tools.ietf.org/html/rfc2460) или википедии (http://ru.wikipedia.org/wiki/Ipv6), поэтому на этот фундаментальный вопрос ответим двумя предложениями. IPv4 и IPv6 — это два разных протокола, совсем разных. Как, например, AppleTalk или IPX — совсем разные. Поэтому IPv6 — это не просто «другие адреса», это совершенно другой протокол.

Вышесказанное необходимо осознавать в первую очередь украинским провайдерам: никакого UA-IX в IPv6 сетях нет, протоколом заложены элементы маршрутизации уже в заголовке IPv6 пакета (http://tools.ietf.org/html/rfc3587), сети аггрегируются по умолчанию, IPv6 full-view не может превышать 8К префиксов. Соответственно, провайдерам прийдётся отвечать на волну вопросов абонентов: «А почему у меня нет 100М на UA-IX?».

Также, в настоящее время ни одна биллинговая система не поддерживает полноценное управление IPv6. Некоторые системы заявили о поддержке IPv6, но на практике эта «поддержка» представляет собой лишь модифицированное поле IP адреса. А по стандарту, конечному пользователю адрес не выделяется, конечному пользователю должна выделяться сеть, по старым рекомендациям — /48 сеть (http://tools.ietf.org/html/rfc6177), по новым рекомендациям RIPE — уже /56 сеть, т.е. 256 сетей по 18446744073709551616 адресов. Повторим — каждому абоненту. Ни один из известных биллингов в настоящее время не поддерживает данные стандарты.

Тем не менее, невозможность получить IPv4 адреса и неуклонное подорожание их аренды заставляет задумываться об использовании IPv6 протокола.

Мы рассмотрим два варианта внедрения IPv6: в Dual-Stack, и «чистого» IPv6.

Использование IPv6 в Dual-Stack

Dual-Stack — это параллельное использование IPv6 и IPv4. Пользователь получает оба варианта адресов. Очевидно, что выдавать реальный IPv4 адрес при этом никто не собирается, т.к. тогда смысла в IPv6 для провайдера нет, задача стоит экономить IPv4 адреса.

В настоящее время всё клиентское оборудование хорошо и качественно поддерживает получение адресов и маршрутов для обоих протоколов, со стороны пользователей Dual-Stack проблем не вызывает. Однако, со стороны провайдера всё несколько грустнее.

Начнём с коммутаторов доступа. Прекрасно показавшая себя связка dhcp snooping + opt82 имеется «из коробки» в IPv6 протоколе, только называется она opt37 (http://tools.ietf.org/html/rfc4649), но при этом сам коммутатор должен поддерживать IPv6 протокол, как минимум, уметь блокировать «чужие» RA, фильтровать ND, пр. Иначе ситуация будет подобна сети с DHCP на «тупых» свичах, где адреса раздаёт любой клиентский роутерчик.

На сегодняшний день подобная поддержка IPv6 известна только у последних D-Link, начиная с DES-3200, и более экстремальных вариантах типа коммутаторов SNR от уважаемого nag.ru, приобретая которые провайдер за собственные деньги подписывается в вечные бета-тестеры глюков прошивок. Но, надо отдать должное DCN (http://www.dcnglobal.com): а это и SNR, и Edge-Core, и многие другие торговые марки, — покупая коммутаторы D-Link, тоже немало времени будет потрачено администраторами на бета-тестирование и отлов багов.

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

Использование же VPN (PPTP, PPPoE) для выдачи адресов, несомненно, уменьшает запросы к коммутаторам доступа, однако увеличивает объём негатива среди абонентов.

Итого: в настоящее время поддержка необходимых функций защиты IPv6 сети имеется лишь у незначительного количества новых моделей коммутаторов «нестабильных» производителей.

Не лучше обстоят дела в центре сети. Мы не будем тщательно рассматривать вариант, где центром сети является сервер под FreeBSD/Linux, подобные сети обычно невелики, и имеющихся у них /22 или даже /23 IPv4 адресов с головой и надолго хватит на всех пользователей. Напомним только, что для FreeBSD dummynet пока ещё не научился использовать несколько ядер.

  • number of unicast mac addresses: 1.5K
  • number of IPv4 unicast routes: 2.75K
  • number of directly-connected IPv4 hosts: 1.5K
  • number of indirect IPv4 routes: 1.25K
  • number of directly-connected IPv6 addresses: 1.5K
  • number of indirect IPv6 unicast routes: 1.25K
  • number of unicast mac addresses: 3K
  • number of IPv4 unicast routes: 11K
  • number of directly-connected IPv4 hosts: 3K
  • number of indirect IPv4 routes: 8K

Но самая главная проблема заключается в том, что пользователей необходимо NAT-ить под реальный IPv4. В условиях «средней» сети это совсем непростая задача. Необходимость прогонять пару гигабит через сервера приведёт к низкому качеству трафика, высоким задержкам, жалобам и оттоку абонентов.

Получается, что при объёме трафика в несколько гигабит возвращаться к «софтовым» шейперам на базе FreeBSD/Linux/Mikrotik уже невозможно, а приобретать оборудование уровня Cisco ASR1000 — нереально дорого.

Да и что делать с самим IPv6 трафиком, тоже вопрос. Отдавать аплинку? Почти все аплинки отдельно тарифицируют транзит IPv6 трафика. Заворачивать у себя IPv6 to IPv4? Тогда использование IPv6 вообще не имеет смысла. Поднять туннельный пиринг с кем-либо типа Hurricane Electric (http://www.tunnelbroker.net/new_tunnel.php?type=bgp)? Во-первых, трафик пойдёт через «мир» (у кого есть подобное разделение), во-вторых, при достижении определённых лимитов, Hurricane Electric тоже начнёт брать деньги за транзит. Получается, что кроме увеличения накладных расходов, внедрение IPv6 ничего положительного не даст. Если уж всё равно использовать NAT, то можно просто NAT-ить серые IPv4 адреса, и всё. Пользователи не заметят разницы.

Итого: типичное для «среднего» провайдера оборудование либо совсем невозможно использовать для работы пользователей в Dual-Stack, либо же оно будет нагружено сильнее в несколько раз (отдельная маршрутизация плюс NAT).

Использование «чистого» IPv6

С учётом нецелесообразности развёртывания Dual-Stack в домашних сетях, у провайдеров возникает вполне логичный вопрос: «А что, если мы только один сегмент сети переведём на «чистый» IPv6, а остальные пусть работают, как раньше?». В теории подобная схема выглядит неплохо: поставить отдельную железку под IPv6, раздать пользователям IPv6 адреса, докупить у аплинков IPv6 транзит — и пусть себе работают. Рассмотрим подробнее, как обстоят дела с поддержкой «чистого» IPv6 в настоящее время.

В этот раз опустим анализ коммутаторов доступа — всё аналогично описанному в разделе про Dual-Stack, разве что необходимо отметить, что коммутаторы D-Link при получении IPv6 по автоконфигурации не видят предлагаемых роутов, так что надо быть готовым к тому, что default gateway необходимо будет прописывать вручную.

В качестве примера «центра» сети мы опять использовали оборудование Cisco, IOS версии 15.1. К «настоящей» cisco претензий нет никаких: IPv6 адреса и маршруты как по автоконфигурации, так и по DHCPv6 получает корректно; сама в роли роутера выступает корректно; вариантов работы с RA, ND и пр. множество, всё функционирует согласно документации; адреса раздаёт как по автоконфигурации, так и по DHCPv6 тоже корректно. Тут провайдеры домашних сетей могут только позавидовать магистралам, у которых проблем с запуском IPv6 особо и нет.

Перейдём к клиентскому оборудованию. Об этом писалось много раз, например, самим IETF (http://tools.ietf.org/html/rfc6586), однако надежда на то, что поддержка IPv6 активно развивается производителями, заставила пробежаться по основным вариантам пользовательских подключений. А именно, мы проверили работоспособность «чистого» IPv6 подключения для Wi-Fi роутера Cisco (Linksys), а также компьютеров под управлением Debian/Ubuntu, Mac OS X, Windows 7. Всё вышеперечисленное имело последние версии ПО/обновлений/патчей/прошивок.

  • На WAN порту роутер корректно получил IPv6 адрес и маршруты, однако не подхватил DNS. Вручную прописанный DNS корректно заработал.
  • Даже при отключенной поддержке IPv4 роутер пытается его использовать, так, например, ping на 2a00:1450:400d:804::1009 работает, а вот ping на google.com говорит, что не может найти А запись. Тоже относится к NTP: в поле ввода сервера прописать IPv6 адрес можно, но роутер пытается отрезолвить его А запись, и засыпает лог соответствующими ошибками.
  • Роутер не умеет делать IPv6 NAT. Никак не удалось настроить выход в интернет из локалки с использованием «серых» адресов. Единственное решение — это в настройках DHCPv6 на роутере прописать реальную IPv6 сеть для LAN и прописать соответствующие маршруты в разделе IPv6 роутинга.
  • При инсталяции Debian корректно получает IPv6 адрес по автоконфигурации, маршруты и DNS работают корректно, однако при переполучении адреса теряются все маршруты, включая default gateway. Соответственно, доступ в интернет пропадает, что может привести к остановке инсталляции при коротком таймауте DHCP lease.
  • При запуске установленной системы IPv6 адрес и DNS Debian получает корректно как по автоконфигурации, так и по DHCPv6, однако default gateway упорно отсутсвует, его необходимо прописывать вручную. Радует только то, что в дальнейшем он не затирается при переполучении адреса.
  • IPv6 адрес и маршруты получает корректно как по автоконфигурации, так и по DHCPv6, однако DNS не подхватывается. При прописывании DNS вручную всё работает корректно.
  • Несмотря на то, что сеть полностью функционирует, для сетевых подключений выводится значок ошибки с восклицательным знаком. Чтобы его убрать, необходимо зайти в настройки сети, выбрать получение адреса вручную, и прописать любой IPv4 адрес.
  • IPv6 адрес получает как по автоконфигурации, так и по DHCPv6, однако маска устанавливается /48, вне зависимости от того, какую выдаёт сервер. Вспомним рекомендации RIPE о выдаче /56 сетей, получается, что в случае Windows автоматическая раздача адресов невозможна.
  • DNS не подхватывается. При прописывании DNS вручную его параметры сохраняются.
  • Предложенные маршруты в таблицу маршрутизации заносятся, но с приоритетом меньшим, чем туннели Teredo. Для того, чтобы заработало IPv6 подключение, необходимо остановить и отключить связанные с туннелями службы и настройки, из которых бОльшая часть требует прав администратора. Более того, часть операций возможно осуществить только (!) через командную строку, используя утилиту netsh.
  • Даже после упомянутых выше операций «чистая» IPv6 в данной ОС не функционирует, выводится значок ошибки «Подключение ограничено или отсутствует». Необходимо прописать любой IPv4 адрес, без шлюза и DNS, после чего IPv6 сеть начинает полноценно функционировать.
  • по IPv6 работают: google, youtube, facebook, vkontakte
  • по IPv6 не работают: skype, icq, yandex, odnoklassniki, steam, ex.ua и почти все остальные, включая новостные, развлекательные и игровые ресурсы.

Да и заявленная работоспособность, например, youtube, тоже относительна: сам ресурс полностью поддерживает IPv6, однако для его использования нужен Adobe Flash Player, который скачать и установить невозможно, т.к. все ресурсы Adobe недоступны по IPv6.

Выходом остаётся всё тот же NAT, только уже в другом направлении, а единственным известным софтверным решением является TAYGA, NAT64 for Linux (http://www.litech.org/tayga), последние изменения в котором датированы 10.06.2011, и который не входит в состав ни одного распространённого дистрибутива. Да и очевидно, что более 90% клиентского трафика будет уходить в IPv4 сеть, а вопросы необходимых мощностей для Dual-Stack рассматривались выше.

Итоги
  • В настоящее время провайдерам домашних сетей протокол IPv6 можно рассматривать как вспомогательный, ожидать скорого перехода на IPv6 в мире не имеет смысла по причине не очень широкого наполнения IPv6 сети пользовательскими ресурсами.
  • Не представляется практически возможным развернуть «чистую» IPv6 сеть: ни оборудование доступа, ни абонентское оборудование не поддерживает полноценную сеть без IPv4 протокола.
  • Использование Dual-Stack не имеет смысла, т.к. представляет из себя всё тот же NAT, но отягощённый необходимостью обновить всё оборудование доступа и центра на поддерживающее IPv6, а также отдельно приобретать полосу для транзита IPv6 трафика.
  • Фактически в настоящее время использовать IPv6 сеть будут только сервисы google и торренты, остальной трафик будет уходить в IPv4. Вопрос: менять ли всё оборудование доступа ради улучшенной поддержки торрентов? — надо полагать, для провайдеров имеет только один ответ.

UPD: Приношу извинения andrewsh, что не заметили собранного им пакета tayga для Debian Wheezy.

Что нового в RouterOS 6.43.1

RouterOS 6.43.1

MikroTik

Научиться настройке MikroTik можно на онлайн курсе по оборудованию этого производителя. Автор курса является сертифицированным тренером MikroTik. Подробней Вы можете прочитать в конце статьи.

Компания Mikrotik выпустила 17 сентября 2018 года обновленный релиз своей операционной системы RouterOS 6.43.1.

Изменения в релизе в RouterOS 6.43.1

*) crs317 — исправлена пересылка пакетов на связанных интерфейсах без аппаратной разгрузки;
*) defconf — правильная очистка глобальных переменных при создании конфигурации по умолчанию после обновления RouterOS;
*) dhcpv6-client — только логирование для неуспешных добавлений пула адресов;
*) hotspot — правильно обновлять динамические записи «walled-garden» при изменении «dst-host»;
*) ike2 — исправлены редкие ошибки проверки подлинности и шифрования после повторного включения с включенным PFS;

*) lte — исправлено: интерфейс LTE не работает должным образом после перезагрузки на RBSXTLTE3-7;
*) rb3011 — добавлена ​​поддержка аппаратного ускорения IPsec;
*) routerboard — исправлено: проверка памяти сообщает о ложных ошибках на устройствах IPQ4018 (требуется обновление «/system routerboard upgrade»);
*) sniffer — для разделов «соединение», «хост», «пакет» и «протокол» изменены права на «только для чтения»;
*) switch — исправлено зеркалирование портов на устройствах, которые не поддерживают управление потоком на ЦП (CPU);

*) upnp — улучшенная стабильность обслуживания UPnP при обработке HTTP запросов;
*) webfig — позволяет изменять имя пользователя при создании нового пользователя системы (появилось в v6.43);
*) webfig — исправлены настройки временного интервала, которые не применялись должным образом в меню «IP / Kid Control / Kids»;
*) winbox — добавлена ​​опция «allow-dual-stack-queue» в меню «IP / DHCP Server / Leases»;
*) winbox — добавлена ​​опция «allow-dual-stack-queue» в меню «IPv6 / DHCPv6 Server / Bindings»;
*) winbox — исправлена ​​проблема с повреждением пользовательской базы данных после указания допустимого диапазона адресов (появилось в v6.43);

*) winbox — при создании нового порта, порт моста формируется по умолчанию с пометкой «ненадежный»;
*) winbox — добавлен пункт меню «IP / Cloud» на CHR;
*) winbox — добавлен пункт меню «System / RouterBOARD / Mode» на устройствах, которые имеют такую ​​функцию;
*) wireless — удалена нормативная информация о домене «чешская республика 5.8», поскольку она пересекается с «ETSI 5.7-5.8».

MikroTik: куда нажать, чтобы заработало?
При всех своих достоинствах, есть у продукции компании MikroTik один минус – много разобщенной и далеко не всегда достоверной информации о ее настройке. Рекомендуем проверенный источник на русском языке, где все собрано, логично и структурировано – видеокурс « Настройка оборудования MikroTik ». В курс входит 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект. Все материалы остаются у вас бессрочно. Начало курса можно посмотреть бесплатно, оставив заявку на странице курса. Автор курса является сертифицированным тренером MikroTik.

IPv4/IPv6 Dual Stack на коммутаторах SNR

В прошлой статье мы поговорили про теоретическую часть протокола IPv6, а также познакомились с его базовыми настройками на коммутаторах доступа SNR. Теперь мы затронем более практические для операторов вещи — DHCPv6 и Dual Stack. Не секрет, что никто не предоставляет абонентам только IPv6-адрес, это всегда идет в связке с IPv4-адресом. Об этом и поговорим.

Описание стенда Dual Stack

На тестовом стенде мы разберем настройки коммутаторов SNR для авторизации IPv6-абонентов с использованием опций 37 (remote-id), 38 (subscriber-id), безопасность и конфигурацию DHCP-сервера для выдачи IPv6-адресов.

Еще раз отметим, что все управляемые коммутаторы доступа SNR, от FastEthernet-моделей, таких как SNR-S2962-24T, до гигабитных коммутаторов с 10G-аплинками (SNR-S2989G-24TX), поддерживают одинаковый функционал и имеют одинаковые настройки в части IPv6.

  • Домашний Wi-Fi-маршрутизатор (CPE).
  • Коммутатора доступа (SNR-S2985G-24TC).
  • Коммутатор агрегации третьего уровня (SNR-S2995G-24FX).
  • DHCPv4/v6-сервер (ISC-DHCP).

IPv4/IPv6 Dual Stack на коммутаторах SNR

Рассмотрим стенд Dual Stack. Коммутатор доступа SNR-S2985G-24TС будет использоваться для подключения абонентов, как через домашний Wi-Fi-маршрутизатор, методом Prefix Delegation, так и напрямую. Для выделения IPv6-префикса и IPv6-адресов будут использоваться опции 37 (remote-id) и 38 (subscriber-id). Для выделения IPv4-адресов будем использовать классическую опцию 82.

Для защиты от нелегитимных DHCP-серверов и подмены IP-адреса, в случае с IPv4 будет использоваться DHCP snooping binding. Коммутаторы SNR имеют несколько механизмов защиты протокола IPv6. Например, Security RA блокирует RA-сообщения от недоверенных портов. ND Security позволяет влиять на автоматическое изучение ND-записей (аналог ARP Security). В нашем примере будет использоваться SAVI (Source Address Validation Improvement), который включает в себя ND Snooping, DHCPv6 Snooping и RA Snooping. Мы будем защищаться от нелегитимных DHCP-серверов и источников RA-сообщений с помощью trust-портов. Выдаваемые IPv6-адреса и префиксы будут привязываться к binding-таблице. Мы также будем задавать максимальное количество адресов на порт.

Коммутатор агрегации SNR-2995G-24FX, в качестве IPv6-роутера, будет рассылать RA-сообщения с M-флагом в своем сегменте сети, чтобы клиенты могли знать, каким образом формировать их IPv6-адрес. Также, на SNR-2995G-24FX будут присутствовать L3-интерфейсы в клиентских VLAN, с которых он будет осуществлять релей в VLAN DHCP-сервера.

Сервер ISC-DHCP будет выделять адреса и префиксы согласно классам.

Настройка и проверка стенда

Далее будут приведены минимально необходимые конфигурации с пояснениями некоторых настроек. Некоторые из них были описаны в прошлой статье.

ip dhcp snooping enable
ip dhcp snooping vlan 100;200
ip dhcp snooping binding enable
!
ip dhcp snooping information enable
ip dhcp snooping information option subscriber-id format hex
!
savi enable
savi ipv6 dhcp-slaac enable
savi check binding probe mode
!
ipv6 dhcp snooping vlan 100;200
ipv6 dhcp snooping remote-id option #включаем добавление опции 37
ipv6 dhcp snooping subscriber-id option #включаем добавление опции 38
ipv6 dhcp snooping mode relay #задаем отправку опций в RELAY-FORWARD сообщениях
!
vlan 1;100;200
!
Interface Ethernet1/0/1
switchport access vlan 100
ip dhcp snooping binding user-control
ip dhcp snooping binding user-control max-user 10
savi ipv6 check source ip-address mac-address #включаем проверку IP и MAC адресов
savi ipv6 binding num 10
!
Interface Ethernet1/0/2
switchport access vlan 200
ip dhcp snooping binding user-control
ip dhcp snooping binding user-control max-user 10
savi ipv6 check source ip-address mac-address
savi ipv6 binding num 10
!
Interface Ethernet1/0/24
switchport mode trunk
switchport trunk allowed vlan 100;200
ip dhcp snooping trust
ipv6 dhcp snooping trust #назначаем trust-порт для DHCPv6 пакетов
ipv6 nd snooping trust #назначаем trust-порт для ND-RA пакетов

service dhcp
!
ip forward-protocol udp bootps
!
service dhcpv6
!
vlan 1;10;100;200
!
Interface Ethernet1/0/1
switchport mode trunk
switchport trunk allowed vlan 100;200
!
Interface Ethernet1/0/12
switchport mode trunk
switchport trunk allowed vlan 10
!
interface Vlan10
ipv6 address 2001:db8:10:1::1/64
ip address 192.168.10.1 255.255.255.0
!
interface Vlan100
ipv6 address 2001:db8:100:1::1/64
no ipv6 nd suppress-ra #разрешаем рассылать RA-сообщения с этого L3-интерфейса
ipv6 nd min-ra-interval 60 #задаем минимальный интервал рассылки RA
ipv6 nd max-ra-interval 120 #задаем максимальный интервал рассылки RA
ipv6 nd managed-config-flag #задаем M-флаг
ipv6 nd prefix 2001:db8:100:1::/64 2592000 604800 no-autoconfig #отключаем A-флаг в RA-сообщениях
ip address 192.168.100.1 255.255.255.0
ip helper-address 192.168.10.3
ipv6 dhcp relay destination 2001:db8:10:1::3
!
interface Vlan200
ipv6 address 2001:db8:200:1::1/64
no ipv6 nd suppress-ra
ipv6 nd min-ra-interval 60
ipv6 nd max-ra-interval 120
ipv6 nd managed-config-flag
ipv6 nd prefix 2001:db8:200:1::/64 2592000 604800 no-autoconfig
ip address 192.168.200.1 255.255.255.0
ip helper-address 192.168.10.3
ipv6 dhcp relay destination 2001:db8:10:1::3

На нашем стенде мы будем запускать два экземпляра сервера ISC-DHCP — DHCPv4 и DHCPv6. По этой причине и файлов конфигураций будет два. Конфигурационный файл для DHCPv4 уже был описан в статье.

default-lease-time 120;
max-lease-time 240;
if exists agent.remote-id «Switch MAC: «, binary-to-ascii(16, 8, «:», option agent.remote-id),
» Switch port: «, binary-to-ascii(10, 8, «.», option agent.circuit-id)
));
>
class «sw1-1» match if binary-to-ascii(16, 8, «:», suffix(option agent.remote-id ,6))=»f8:f0:82:78:5:ba»
and
binary-to-ascii(10, 8,»», suffix(option agent.circuit-id, 1))=»1″;
>
class «sw1-2» match if binary-to-ascii(16, 8, «:», suffix(option agent.remote-id ,6))=»f8:f0:82:78:5:ba»
and
binary-to-ascii(10, 8,»», suffix(option agent.circuit-id, 1))=»2″;
>
shared-network test subnet 192.168.10.0 netmask 255.255.255.0
subnet 192.168.100.0 netmask 255.255.255.0 option subnet-mask 255.255.255.0;
option routers 192.168.100.253;
authoritative;
default-lease-time 120;
max-lease-time 240;
pool
>
subnet 192.168.200.0 netmask 255.255.255.0 option subnet-mask 255.255.255.0;
option routers 192.168.200.253;
authoritative;
default-lease-time 120;
max-lease-time 240;
pool
>
>

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

default-lease-time 120;
max-lease-time 240;
#Делаем наглядный разделитель с перечислением распознанных опций, например:
#Remote-ID: f8-f0-82-78-05-ba | Subscriber-ID: vlan200+Ethernet1/0/2

log(info, (concat(
«Remote-ID: «, (substring(v6relay(1, option dhcp6.remote-id), 4, 17)),
» | Subscriber-ID: «, v6relay(1, option dhcp6.subscriber-id)
)));
#Создаем класс «sw1-1», который сверяет DHCPv6-RELAY опции 37 и 38.
class «sw1-1» match if(
(substring (v6relay(1, option dhcp6.remote-id), 4, 17) = «f8-f0-82-78-05-ba») and
(v6relay(1, option dhcp6.subscriber-id) = «vlan100+Ethernet1/0/1»)
);
>
class «sw1-2» match if(
(substring (v6relay(1, option dhcp6.remote-id), 4, 17) = «f8-f0-82-78-05-ba») and
(v6relay(1, option dhcp6.subscriber-id) = «vlan200+Ethernet1/0/2»)
);
>
subnet6 2001:db8:100:1::/64 pool6 #Задаем диапазон префиксов, выдаваемых CPE.
prefix6 2001:db8:80:: 2001:db8:90:: /56;
range6 2001:db8:100:1::100 2001:db8:100:1::130;
option dhcp6.name-servers 2001:db8:10:1::88;
option dhcp6.domain-search «domain.example»;
allow members of «sw1-1»;
>
>
subnet6 2001:db8:200:1::/64 pool6 range6 2001:db8:200:1::100 2001:db8:200:1::130;
option dhcp6.name-servers 2001:db8:10:1::88;
option dhcp6.domain-search «domain.example»;
allow members of «sw1-2»;
>
>
subnet6 2001:db8:10:1::/64

Для каждого протокола будем запускать отдельный экземпляр ISC-DHCP с соответствующим файлом конфигурации:

/usr/sbin/dhcpd -4 -d -cf /etc/dhcp/dhcpd4.conf enp8s0.10
/usr/sbin/dhcpd -6 -d -cf /etc/dhcp/dhcpd6.conf enp8s0.10

Проверим, корректно ли отрабатывают технологии DHCP Snooping и SAVI на одном коммутаторе доступа одновременно:

ip dhcp snooping static binding count:0, dynamic binding count:2
MAC IP address Interface Vlan ID Flag
—————————————————————————-
6c-3b-6b-da-5a-d8 192.168.100.100 Ethernet1/0/1 100 DOL
f0-de-f1-19-d5-eb 192.168.100.101 Ethernet1/0/2 200 DOL
—————————————————————————-
SNR-S2985G-24T-UPS#sh savi ipv6 check source binding
Static binding count: 0
Dynamic binding count: 4
Binding count: 2
MAC IP VLAN Port Type State Expires
—————————————————————————————————————
6c-3b-6b-da-5a-d8 fe80::6e3b:6bff:feda:5ad8 100 Ethernet1/0/1 slaac BOUND 14008
6c-3b-6b-da-5a-d8 2001:db8:90::/56 100 Ethernet1/0/1 dhcp BOUND 83
f0-de-f1-19-d5-eb fe80::f2de:f1ff:fe19:d5eb 200 Ethernet1/0/2 slaac BOUND 5
f0-de-f1-19-d5-eb 2001:db8:100:1::130 200 Ethernet1/0/2 dhcp BOUND 94
—————————————————————————————————————

Для порта Ethernet1/0/1 в VLAN 100 видим выданный CPE префикс. Для порта Ethernet1/0/2 в VLAN 200 — IPv6-адрес, полученный stateful методом.

Посмотрим как выглядят полученные сетевые реквизиты на одном из клиентов:

]$ ip add show enp3s0
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether f0:de:f1:19:d5:eb brd ff:ff:ff:ff:ff:ff
inet 192.168.200.101/24 brd 192.168.200.255 scope global dynamic noprefixroute enp3s0
valid_lft 170sec preferred_lft 170sec
inet6 2001:db8:200:1::130/128 scope global dynamic noprefixroute
valid_lft 76sec preferred_lft 31sec
inet6 fe80::f2de:f1ff:fe19:d5eb/64 scope link noprefixroute
valid_lft forever preferred_lft forever

Проверим информацию о маршрутах:

]$ ip -4 route
default via 192.168.200.1 dev enp3s0 proto dhcp metric 20100
192.168.200.0/24 dev enp3s0 proto kernel scope link src 192.168.200.101 metric 100
[root@manjaro

]$ ip -6 route
::1 dev lo proto kernel metric 256 pref medium
2001:db8:200:1::130 dev enp3s0 proto kernel metric 100 pref medium
2001:db8:200:1::/64 dev enp3s0 proto ra metric 100 pref medium
fe80::/64 dev enp3s0 proto kernel metric 100 pref medium
default via fe80::faf0:82ff:fe7a:2afb dev enp3s0 proto ra metric 20100 pref medium

Как и было описано в первой статье, шлюзом по умолчанию для IPv6-хоста является link-local адрес маршрутизатора, от которого было получено RA-сообщение.

Заключение

Подведем итог. Мы рассмотрели один из сценариев настройки Dual Stack на коммутаторах SNR, делается это довольно просто. На тестовом стенде проверили работоспособность одновременного использования IPv4, IPv6 и связанных с ними технологий. Если статья вызовет достаточный интерес, то можно будет ожидать третью часть про настройку IPv6-маршрутизации на коммутаторах агрегации и ядра SNR.

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

Добавить комментарий

Ваш адрес email не будет опубликован.