IPv6 Checklist / Roadmap / План-конспект
Уровень сложности: 3+ по 5-балльной шкале.
Пролог:
Белый Кролик напялил на нос очки.
С чего начинать, ваше величество? — спросил он.
Начни с начала,- торжественно
произнес Король,- и продолжай,
пока не дойдешь до конца.
Тогда остановись!
… начальный этап на этом заканчивается: связаность со внешним миром есть, провайдерские сервисы доступны снаружи …
Заказать адреса в RIPE можно любым удобным способом: через почтового робота, через Webupdates, ИМХО удобнее — через LIR-portal, там есть специальная форма «First IPv6 allocation». Это бесплатно.
В предварительном планировании распределения адресного пространства нет ничего хитрого, ведь при заказе IPv4-пространства такой план (и даже иллюстрации иногда требуют!) прикладывать тоже нужно. Опыт создания AS показывает, что нормальный предварительный план часто на 80%-90% становится окончательным и очень помогает в дальнейшей работе. Для начала можно ориентироваться на действующую L3-структуру IPv4-сети, а заодно устранить нелогичности или вынужденные решения, если они есть (например, если /24 идет в одну сторону, а /28 из нее идет в другую), и помнить, что теперь рабочая единица в роутинге — это /64. В помощь: учебный курс RIPE «IPv6 for LIRs», а также материалы с рекомендациями по планированию IPv6-подсетей, например эти.
Обьекты регистрируются в базе RIPE обычным путем. У обьекта route6 есть два атрибута, которые на этом этапе лучше не заполнять: это pingable и ping-hdl. В конфигурацию на своих DNS-серверах нужно добавить описание мастер-зоны и сам файл реверсной зоны для выделенного блока адресов, обычным путем, с обычным заполнением (SOA, NS-записи). Прописывать в этот момент IPv6-адреса на интерфейсах не обязательно, так как запросы к реверсной зоне пойдут и по IPv4.
Для роутеров Cisco можно пойти таким путем: проверить наличие всех необходимых опций через feature navigator прямо на сайте производителя. У роутеров менее чем десятилетнего возраста скорее всего IOS менять не придется. Иногда встречаются интересные вещи: например, у более свежей версии может отсутствовать NetFlow9.
Если использовать данную последовательность действий, то от подьема IPv6-адресов на интерфейсах ничего не нарушится, то есть не должно быть каких-либо сбоев в работе. Интерфейсы можно конфигурировать и «налету», то есть через команды ifconfig или ip, а в случае успеха — внести изменения в конфигурационые файлы, чтобы IPv6-адреса работали и после перезагрузки. На роутерах (Cisco) нужно разрешить работу IPv6 и глобально, и на внутренних интерфейсах (во втором случае начнет работать ND и появятся link-local адреса). На интерфейсах, которые смотрят на соседей, ND не нужен, в частности MSK-IX прямо указывает, что ND нужно отключить. Лучше начать со статической маршрутизации, то есть для начала нужно прописать на всех устройствах маршрут по умолчанию, и статические маршруты между роутерами, если они есть. Подняв второй и последующие интерфейсы, нужно проверить их связанность и достижимость «пингом». И — не забыть про файерволы! В случае, если используется фильтрация на сетевом уровне (то есть по IPv4-адресам), то нужно добавить фильрацию по IPv6-адресам, для начала — хотя бы разрешить работу со своим блоком адресов. Если настроена фильтрация только на транспортном уровне — то ничего делать не надо. Также лучше до внесения изменений сделать резервные копии конфигурационых файлов. Ну, и следует документировать, зарисовывать схемы соединений, роутинга, хотя поначалу это будет один-два прямоугольника со стрелками. Сразу можно выбрать «красивые» адреса для основных интерфейсов, даже если их не запоминать, то будет проще вносить в документацию. В отличие от старой, 4 версии, в IPv6 можно использовать и первый, и последний адрес в подсети, то есть такие адреса являются «законными»
2001:0db8::
2001:0db8:1::
2001:0db8:a:b::
2001:0db8:0:ffff::
2001:0db8:f:e:d:a::
Проще начать с соединения с ххх-IX (MSK,SPB и далее). Сравнительно небольшое количество префиксов, компетентная поддержка, фильтрация с ответной стороны — это плюсы. Адреса запрашиваются письмом, а процедура конфигурирования — аналогично IPv4, то есть прописать адреса на соответствующем интерфейсе, проверить достижимость соседа пингом, затем поднятие протокола. LookinGlass поможет проверить, видны ли ваши анонсы. Проверка логов и перерыв в день-другой позволят убедиться, все ли нормально. В этот момент какие-либо ресурсы вашей сети могут стать доступными для внешних сетей по IPv6. Крайне важно сразу сделать реверсную запись для вашего (ваших) почтовика, так как практически всегда проверяется ее наличие (одна из мер борьбы с зомби-релеями). Далее, можно просматривать логи почтовика и ждать прихода первого спама (исходя из предположения, что почтовик подключен к одному из бордер-роутеров, на котором поднят IPv6 BGP «наружу»). Конфигурирование типичных провайдерских приложений (BIND, Apache, Postfix) несложно и многократно описано. Как правило они или без всяких настроек начинают понимать IPv6-трафик, или достаточно поменять (добавить) 1-2 параметра. Небольшие хитрости с DNS: в базе RIPE прописываются только имена ns-серверов, а вот в РУ-центре, для полноценного функционирования DNS-серверов, необходимо прописать и имя сервера, и его IPv4 адрес, и его IPv6-адрес (адреса разделяются через запятую, спасибо инженерам техподдержки РУ-центра за терпение).
Сенсоры, коллекторы — все конфигурируется как обычно. У нас учет делается на ASBR, на одном пришлось поменять IOS (откатить назад!), чтобы заработал NetFlow v9. Обьем трафика в первые месяцы держался на уровне 50Мбайт/день по входу и 15Мбайт/день по исходу. Было очень любопытно посмотреть «внутрь» трафика, на его структуру.
Стартовый этап можно считать завершенным. Далее следует обычное инженерное развитие сети. Стоит подписаться на листы рассылки по поводу внедрения и работы с IPv6, «довести» новые соединения до клиентов, начать подбирать CPE,…и далее. Ну, тут уже все в ваших руках.
Первая проблема: поскольку понятие NAT в IPv6 отсутствует, то, скорее всего, клиенты будут подключаться по схеме, имевшей место десять лет назад: служебная подсеть «точка-точка» (с маской такой длины, что и не снилась в IPv4), один адрес у вас, второй на роутере у клиента, на второй адрес маршрутизируется подсеть для клиентских компьютеров. Тут уже не обойтись без динамических протоколов маршрутизации. Примечание: подключение по свитч-схеме "один клиент - один вилан" тоже будет работать, только клиент в этом случае не получит всю выделенную подсеть в своё распоряжение.
Вторая проблема: протокол IPv6 изначально расчитан на автоматическое назначение адресов для CPE, что логично, поскольку даже просто продиктовать адрес по телефону становится проблематичным. Автоконфигурирование адресов (SLAAC) очень удобно, но не предусматривает конфигурирование адресов DNS-серверов. Точнее — предусматривает, но не реализовано у многих производителей оборудования. Использование DHCPv6 решает эту проблему, но обьем работ при этом не меньше, чем в 4й версии. Я клоню к тому, что провайдер должен уметь «привязать» трафик к конкретному клиенту, и не только для целей статистики.
Третья проблема: недорогого «ходового» CPE-оборудования, поддерживающего IPv6, еще маловато.
Эпилог:
Белый Кролик напялил на нос очки.
С чего начинать, ваше величество? — спросил он.
Начни с начала,- торжественно
произнес Король,- и продолжай,
пока не дойдешь до конца.
(написано в 2011 году)