IPv6 Checklist / Roadmap / План-конспект
Уровень сложности: 3+ по 5-балльной шкале.
Пролог:
Белый Кролик напялил на нос очки.
С чего начинать, ваше величество? — спросил он.
Начни с начала,- торжественно
произнес Король,- и продолжай,
пока не дойдешь до конца.
Тогда остановись!
Заказать блок адресов в RIPE и дожидаться положительного ответа. Во время ожидания — составить план распределения адресного пространства.
После получения положительного ответа от RIPE — сразу же оформить делегирование реверсных зон, то есть «прописать» обьект domain, а заодно и route6. Параллельно — сконфигурировать свой DNS-сервер в качестве авторитарного для реверсной зоны в соответствии с полученным блоком адресов. Просмотреть его логи — сразу могут пойти PTR-запросы.
Проверить роутеры на совместимость с IPv6 — то есть они должны его поддерживать, а также поддерживать динамические протоколы, которые вы используете у себя на сети. Роутеры, с которых снимается статистика, также должны поддерживать соответствующие режимы, в случае NetFlow — 9 версию.
Конфигурировать первые интерфейсы, лучше — на www, smtp, dns-серверах. Затем запустить IPv6-роутинг на роутерах, которые ведут к этим серверам. Убедиться в работоспособности. Не забыть про файерволы и при необходимости скорректировать фильтры.
Договориться с соседями о «подьеме» IPv6 BGP Unicast, сконфигурировать соотвествующие интерфейсы, поднять BGP4. Не забыть про фильтры! Добиться, чтобы DNS SMTP WWW — серверы были доступны снаружи. Не забыть проверить наличие реверсной записи для почтовика!
Сконфигурировать сбор биллинговой информации для IPv6-трафика.
Конфигурировать интерфейсы на роутерах уровня distribution и access так, чтобы можно было бы сделать один клиентский (тестовый) сегмент, в котором есть IPv6. Для начала можно ограничиться статической маршрутизацией.
Начать подбирать CPE для установки клиентам. Следующий шаг — обеспечение доступности всего интернета для клиентов, подключенных по IPv6. Сейчас это требуется, так как пересечение ресурсов, доступных в 4 и 6 версиях, явно меньше одного процента (написано в 2012 году). Ясно, что эта цифра будет расти (и она растет), но сейчас требуется механизм обеспечения доступности-трансляции-шлюзования между «старым» и «новым» интерентом.
… начальный этап на этом заканчивается: связаность со внешним миром есть, провайдерские сервисы доступны снаружи …
Заказать адреса в 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, еще маловато.
Эпилог:
Белый Кролик напялил на нос очки.
С чего начинать, ваше величество? — спросил он.
Начни с начала,- торжественно
произнес Король,- и продолжай,
пока не дойдешь до конца.
Тогда остановись!