- PVSM.RU - https://www.pvsm.ru -
Введение: Добрый день или вечер, или даже ночь дорогие читатели. В данной статье продолжим изучать особенности протокола IPv6 и его отличия от IPv4. В данной статье будет минимальное количество теории и максимальное количество настройки. Начнем с настройки DHCPV6 и рассмотрим особенности работы этого протокола на основе протокола IPv6, также посмотрим на то, как настраиваются протокола динамической маршрутизации на основе IPv6. Оборудования для настройки выберем Cisco (в третей части Juniper).
IPV6 — это весело. Часть 1 [1]
Также хотелось поблагодарить всех пользователей, которые комментируют, задают вопросы. Задавая некоторые неудобные вопросы вы заставляете меня снова лезть в книжки, что-то повторять, что-то лучше осваивать и отвечать на ваши вопросы. Также каждый из вас может повлиять на выпуск следующей части. Не бойтесь задавать вопросы, если что-то не ясно.
План
По просьбам трудящихся, прежде всего хотелось выразить свое мнение относительно IPv6 и подвести некий итог написанного в предыдущей главе. Разберу по пунктам:
Ошибки свойственны человеку, но для нечеловеческих ляпов нужен компьютер. (Paul Ehrlich)
DHCPV6
SLAAC — это способ, который позволяет устройству получить свой префикс, длину префикса и адрес шлюза по умолчанию от маршрутизатора IPv6 без помощи DHCPv6-сервера. При использовании SLAAC для получения необходимой информации устройства полагаются на сообщения «Объявления маршрутизатора ICMPv6».
IPv6-маршрутизаторы периодически отправляют сообщения «Объявления маршрутизатора ICMPv6» всем устройствам в сети под управлением IPv6. По умолчанию маршрутизаторы Cisco отправляют такие сообщения каждые 200 секунд на адрес групповой передачи всем IPv6-узлам. IPv6-устройству, находящемуся в сети, не нужно ждать этих периодических сообщений. Устройство может отправить сообщение «Запрос маршрутизатора ICMPv6», который использует адрес групповой передачи всем IPv6-узлам. Когда маршрутизатор IPv6 получает такое сообщение, он сразу же отправляет в ответ объявление маршрутизатора.
IPv6-маршрутизация не включена по умолчанию. Чтобы маршрутизатор работал как IPv6-маршрутизатор, необходимо использовать команду глобальной конфигурации ipv6 unicast-routing.
Сообщение «Объявления маршрутизатора ICMPv6» содержит префикс, длину префикса и другие сведения IPv6-устройства. Кроме того, такое сообщение указывает IPv6-устройству, как ему получить информацию по адресации. сообщение «Объявления маршрутизатора» может выглядеть в одном из следующих 3 вариантов.

Компьютер позволяет нам совершать ошибки гораздо быстрее, чем любые другие изобретения человечества: за исключением, пожалуй, текилы и оружия. (Mitch Radcliffe)
Общие сведения о SLAAC
Автоматическая настройка адреса без отслеживания состояния (SLAAC) — это способ получения устройством глобального IPv6-адреса одноадресной рассылки без использования DHCPv6-сервера. В основе SLAAC лежит протокол ICMPv6. Протокол ICMPv6 аналогичен ICMPv4, но при этом он имеет дополнительные функциональные возможности и демонстрирует большую устойчивость к ошибкам. SLAAC использует ICMPv6-сообщения запроса маршрутизатора и объявления маршрутизатора, чтобы предоставить информацию об адресации и другую информацию о конфигурации, обычно предоставляемую DHCP-сервером.
Как видно из термина, SLAAC не отслеживает состояние адреса. Служба без отслеживания состояния говорит о том, что ни один из серверов не поддерживает информацию о сетевом адресе. В отличие от сервера DHCP, сервер SLAAC не знает, какие IPv6-адреса используются, а какие доступны
Принцип работы SLACC + DHCPV6 без отслеживание состояния

Для отправки маршрутизатором сообщений RA, на нём предварительно необходимо настроить работу IPv6-маршрутизации. Для активации IPv6-маршрутизации необходимо выполнить следующие команды:
Router(config)# ipv6 unicast-routing
Существует для способа создания PC1 собственного уникального IID:
EUI-64, генерация случайным образом.
Поскольку SLAAC — это процесс без отслеживания состояния, перед использованием PC1 этого вновь созданного IPv6-адреса, необходимо проверить его уникальность., PC1 посылает по протоколу ICMPv6 сообщение запроса поиска соседа с собственным адресом в качестве IPv6-адреса назначения. Если другие устройства не отвечают сообщением запроса поиска соседа, значит, адрес является уникальным и может быть использован PC1. Если сообщение запроса поиска соседей получено PC1, значит, адрес не уникален и операционная система должна установить новый идентификатор интерфейса для использования.
Этот процесс является частью процесса обнаружения соседних устройств ICMPv6 и известен как обнаружение адресов-дубликатов (DAD).
Настроен ли клиент на автоматическое получение информации об IPv6-адресации с использованием SLAAC, DHCPv6 или сочетанием обоих вариантов, зависит от настроек, содержащихся в сообщении RA. ICMPv6 сообщения RA содержат два флага, обозначающих, какой из вариантов должен быть использован клиентом (смотреть в Части 1 [1]).
Этими флагами являются флаг управляемой конфигурации адресов (M) и флаг другой конфигурации (O).

Утверждать, что Java хорош тем, что работает на всех ОС, — то же самое, что утверждать, что анальный секс хорош тем, что подходит к любому полу. (Alanna)
Функции SLAAC,DHCPV6+SLAAC,DHCPV6
Рассмотрим все три способа, изменение флагов.
Сообщения RA настроены на отдельном интерфейсе маршрутизатора. Для повторной активации режима SLAAC на интерфейсе, на котором мог быть установлен другой вариант работы, флаги M и O необходимо сбросить на их первоначальные значения, равные 0. Для этого применяются следующие команды режима конфигурации интерфейса:
Router(config-if)# no ipv6 nd managed-config-flag
Router(config-if)# no ipv6 nd other-config-flag

Для того чтобы изменить сообщение RA, отправляемое на интерфейс маршрутизатора для указания использования DHCPv6 без отслеживания состояния, используйте следующие команды:
Router(config-if)# ipv6 nd other-config-flag

Router(config-if)# ipv6 nd managed-config-flag

Создание языка программирования — это как прогулка по парку. По парку Юрского периода. (Larry Wall)
Процессы DHCPV6
В случае если в сообщении RA указан вариант работы DHCPv6 (с отслеживанием состояния или без), инициируется работа DHCPv6. Сообщения протокола DHCPv6 посылаются через протокол UDP. Сообщения DHCPv6 от сервера к клиенту используют UDP порт назначения 546. Клиент отправляет сообщения на сервер DHCPv6 через UDP порт назначения 547.
Клиенту — теперь DHCPv6-клиенту — необходимо определить местоположение сервера DHCPv6. клиент передаёт сообщение DHCPv6 SOLICIT на зарезервированный IPv6-адрес многоадресной рассылки FF02::1:2, используемый всеми DHCPv6 серверами. Этот адрес многоадресной рассылки действует в рамках канала link-local, это означает, что маршрутизаторы не направляют сообщения в другие сети.
Один или несколько серверов DHCPv6 отвечают DHCPv6-сообщением ADVERTISE. Сообщение ADVERTISE сообщает DHCPv6-клиенту, что сервер доступен для предоставления службы DHCPv6.
Клиент отвечает серверу DHCPv6 сообщением REQUEST или INFORMATION-REQUEST, в зависимости от того, является ли DHCPv6-сервер сервером с отслеживанием состояния или без него.

Программы — это как секс: гораздо лучше, когда бесплатно. (Linus Torvalds)
Теперь оставим теорию и выведем только настройку
Router(config)# ipv6 unicast-routing
Настройка DHCPV6 пула
Router(config)#ipv6 dhcp pool (pool-name)
Настройка параметров пула
Router(config-dhcpv6)# dns-server (указываем адрес dns-server-address)
Router(config-dhcpv6)#domain-name (указываем имя domain)
Настройка интерфейса
Router(config-)# interface (type number)
Router(config-if)# ipv6 dhcp server (pool name)
Router(config-if)# ipv6 nd other-config-flag
Router(config)#interface (interface-number)
Router(config-if)# ipv6 enable
Router(config-if)# ipv6 address autoconfig
(Команда ipv6 address autoconfig включает автоматическую настройку IPv6-адресации с использованием SLAAC)
Проверка: show ipv6 dhcp pool,show ipv6 interface (type-number)
Router(config)#ipv6 unicast-routing
Настройка DHCPV6-пула
Router(config)#ipv6 dhcp pool (pool-name)
Настройка параметров пула
Router(config-dhcpv6)# address (prefix/length (lifetime (valid-lifetime preferred-lifetime)infinite))
Router(config-dhcpv6)# dns-server (dns-server-address)
Router(config-dhcpv6)# domain-name (domain-name)
Настройка интерфейса
Router(config)#interface (interface-number)
Router(config-if)# ipv6 dhcp server (pool-name)
Router(config-if)# ipv6 nd managed-config-flag
Настройка маршрутизатора в качестве DHCPV6-клиента с отслеживанием состояния
Router(config)#interface (interface-number)
Router(config-if)# ipv6 enable
Router(config-if)# ipv6 address dhcp
Router(config)#interface (interface-number)
Router(config-if)# ipv6 dhcp relay destination (address)
Если отладка — процесс удаления ошибок, то программирование должно быть процессом их внесения. (Edsger W. Dijkstra)
2) Настройка статических маршрутов в IPv6
Router(config)# ipv6 route ipv6-prefix/prefix-length { ipv6-address | exit-intf }
2) Настройка рекурсивного статического маршрута
Router(config)#ipv6 route 2001:DB8:ACAD:2::/64 2001:DB8:ACAD:4::2
Router(config)#ipv6 route 2001:DB8:ACAD:5::/64 2001:DB8:ACAD:4::2
Router(config)#ipv6 route 2001:DB8:ACAD:3::/64 2001:DB8:ACAD:4::2
Название сети – next-hop.В данном примере разные сети next-hop один и тот же.
3) Настройка напрямую подключнного статического маршрута
Router(config)#ipv6 route 2001:DB8:ACAD:3::/64 s0/0/0
Настройка полностью заданного статического маршрута IPv6
Router(config)#ipv6 route 2001:DB8:ACAD:3::/64 s0/0/0 fe80::2 (суть его в том,что если используете адрес типа Lin-Local то надо обязательно указать тип выходного интерфейса)
5)настройка маршрутов по умолчанию
ipv6 route ::/0 { ipv6-address | exit-intf }
Настройка суммарного IPv6-адреса
Router(config)#ipv6 route 2001:DB8:ACAD:1::/64 2001:DB8:ACAD:4::2
Router(config)#no ipv6 route 2001:DB8:ACAD:2::/64 2001:DB8:ACAD:4::2
Router(config)#no ipv6 route 2001:DB8:ACAD:3::/64 2001:DB8:ACAD:4::2
Router(config)#no ipv6 route 2001:DB8:ACAD:4::/64 2001:DB8:ACAD:4::2
В сумме
Router(config)#ipv6 route 2001:DB8:ACAD:4::/61 2001:DB8:ACAD:4::2
Если бы McDonalds разрабатывал ПО, один из сотни биг-маков был бы отравлен, а администрация отвечала бы: «В качестве извинения примите купон на два бесплатных биг-мака». (Mark Minasi)
3) Настройка динамической маршрутизации в IPv6
Ripng
Router(config)#interface (number)
Router(config-if)# ipv6 rip RIP-AS enable
Router(config-if)# exit
передать маршрут по умолчанию
Router(config)# pv6 rip имя_домена default-information originate
EIGRP
Router(config)# ipv6 router eigrp autonomous-system
Router(config-rtr)# eigrp router-id 1.0.0.0 – задание номера процесса
Router(config-rtr)# no shutdown
Router(config)# interface (type/number) (заходим в интерфейс)
Router(config-if)# ipv6 eigrp (AS)
Router(config-if)# ipv6 bandwidth-percent eigrp as-number percent-настройка процентного соотношения пропускной способности,
R2(config-rtr)# redistribute static - распределения маршрута по умолчанию
Router(config-if)# ipv6 hello-interval eigrp as-number seconds - изменение hello интервала
Router(config-if)# ipv6 hold-time eigrp as-number seconds - изменение hold-time
OSPF3
Router(config)# ipv6 router ospf 10 –активировать режим OSPF
Router(config-rtr)# router-id 1.1.1.1 (задаем router-id)
Router(config-rtr)# auto-cost reference-bandwith 1000 (задаем cost)
Router(config)# interface (type/number) (заходим в интерфейс)
Router(config-if)# ipv6 ospf 10 area (number) (назначаем интерфейс в протокол ospf,номер процесса,номер
area)
Router#clear ipv6 ospf process
IS-IS
Router(config)# isis area-tag (например router isis area2)
Router(config-rtr)# net network-entity-title (например 49.0001.0000.0000.000с.00
Router(config)# interface Ethernet 0/0/1
Router(config)# ipv6 address {ipv6-address/prefix-length | prefix-name sub-bits/prefix-length}
Router(config-if)# ipv6 router isis area-name (ipv6 router isis area2)
BGP
Router(config)# router bgp 65000
Router(config-rtr)# no bgp default ipv4-unicast ( выключаем ipv4 unicast аддресса для BGP)
Router(config-rtr)#bgp router-id (сконфигурим 32-битный роутер id ,будьте аккуратный эта команда сбросит все активный BGP peering сессии)
Router(config-rtr)# neighbor 2001:DB8:0:CC00::1 remote as 64600 – добавим ipv6 адрес соседа и автономную систему.
Router(config-rtr)# address-family ipv6 [unicast |multicast]
Router(config-rtr-af)#neighbor 2001:DB8:CC00::1 activate – активируем соседа для обмена префиксами ipv6
4) ACL
Router(config)#ipv6 access-list NO-BYX-SIDET-VKONTAKTE
Router(config-ipv6-acl)#deny ipv6 2001:db8:cafe:30::/64 any
Router(config-ipv6-acl)#permit ipv6 any any
все это может выглядеть следующем образом-
Router(config)#ipv6 access-list access-list-name
Router(config-ipv6-acl)#deny | permit protocol (source-ipv6-prefix/prefix-length |any|host source-ipv6-addres) (operator(port-number)) (destination-ipv6-prefix/prefix-length | any | host destination-ipv6-address) (operator(port-number))
Router(config)# interface (type/number) (заходим в интерфейс)
Router(config-if)# ipv6 traffic-filter access-list-name { in |out }
5) VRRP,HSPR
Router(config)# fhrp version vrrp v3 – включаем ,когда используется 3 версия,вторая не не активна.
Router(config)# interface type number
Router(config-if)# vrrp (group-id address-family (ipv6)
Router(config-if)# vrrp 3 address-family ipv6
Router(config-if-vrrp)# address 2001:abc:cafe:11::/64 primary (или secondary)
Router(config-if-vrrp)# description group 3
Router(config-if-vrrp)# match-address (добавляем второй адрес в объявление)
Router(config-if-vrrp)# preempt delay minimum 30 – включаем преимущество низкой приоритетности мастера с опцией задержки (опциально)
HSPR
Switch (config)# interface type number
Switch (config-if)#no switchport
Switch (config)#standby 1 ipv6 autoconfig
Router(config)# interface type number
Router(config-if)#standby version (2)
Router(config)# interface type number
Router(config-if)#standby (group-number) ipv6 (link-local |address)
Router(config-if)#standby [group-number]preempt [delay {minimumseconds | reload seconds |sync seconds}]
Router(config-if)#standby [group-number]priority priority
6) Настройка IPv6 ICMP ограничение по скорости
Router(config)#ipv6 icmp error- interval (bucketsize) (interval в милл сек,диапозон 0 2147483647,bucketsize – опциально,диапозон 1 - 200
7) Dual IPv4 and IPv6 Protocol Stacks
Switch(config)# sdm prefer dual-ipv4-and-ipv6 default
Switch(config)# ip routing
Switch(config)# ipv6 unicast-routing
Switch(config)# interface gigabitethernet2/0/1
Switch(config-if)# no switchport
Switch(config-if)# ip address 192.168.99.1 244.244.244.0
Switch(config-if)# ipv6 address 2001:0DB8:c18:1::/64 eui 64
Switch(config-if)# end
Учитывая печальное состояние современных компьютерных программ, разработку ПО до сих пор можно считать искусством, а не научной дисциплиной. (Bill Clinton)
Вот и подошла вторая часть к концу. Кто слушал — молодец. Из написанной статьи я понял одно: для настройки BGP, IS-IS нужно писать отдельные статьи. В целом настройка ipv6 не сильно отличается от ipv4, местами получается даже проще. В третьей части я опишу настройку протоколов на основе оборудования Juniper networks. Она, по сути, будет довольно короткой, поэтому оставляйте свои комментарии под статьей. Повторюсь, ваша критика, вопросы или пожелания могут повлиять на написании новой статьи. Всем удачи.
Автор: Kasatka23
Источник [4]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/cisco/87252
Ссылки в тексте:
[1] IPV6 — это весело. Часть 1: http://habrahabr.ru/post/253803/
[2] XGU.RU: http://xgu.ru
[3] cisco.com: http://Cisco.com
[4] Источник: http://habrahabr.ru/post/254293/
Нажмите здесь для печати.