Сегодня мы продолжим изучение протокола IPv6. Этот урок довольно длительный, поэтому не будем терять время и приступим к изучению 3-х тем: автоконфигурация IPv6, настройка и проблемы IPv6 и основы маршрутизации IPv6. Последнюю тему мы посвятим статической маршрутизации и роутингу нового поколения RIPng.
Как мы узнали из предыдущего урока, IPv4 использует автоматическую конфигурацию внутренних, или приватных IP-адресов (APIPA).
Этот механизм включается, когда сетевой клиент пытается связаться с DHCP-сервером, чтобы получить IP-адрес, но по каким-то причинам не может этого сделать. В этом случае устройство, работающее по протоколу IPv4, само присваивает себе случайный IP-адрес вида 169.254.Х.Х. После этого оно сообщает свой APIPA адрес с помощью широковещательной трансляции, и если больше ни одно устройство в сети не имеет такого IP-адреса, оставляет его себе. В противном случае клиент генерирует новый адрес, случайным образом выбирая содержимое третьего и четвертого октета, и снова использует broadcast – передачу.
Чтобы было понятно, что я имею в виду, перейдём к Packet Tracer. Возьмем компьютер, зайдем в сетевые настройки протокола IPv4 и установим «галочку» Static в пункте «Конфигурация IP». После этого компьютер попытается получить DHCP адрес, но как мы видим, устройство никуда не подсоединено и здесь не может быть никакого DHCP –сервера, способного присвоить ему адрес. Компьютер, не получив никакого адреса, должен сам себе его присвоить. Однако в командной строке мы видим только MAC-адрес устройства, вероятно, это потому, что мне все-таки следует подключить компьютер к свитчу, чтобы создать какое-то подобие сети. Я добавляю в схему свитч и соединяю его кабелем с нашим компьютером.
В пункте «Конфигурация IP» сетевых настроек теперь отмечен чекбокс DHCP, и технически компьютер сам должен попытаться присвоить себе IP-адрес. В окне командной строки вы видите, что именно это и произошло – компьютер присвоил себе автоматически сконфигурированный случайный адрес 169.254.26.192, после чего маркер его интерфейса изменил цвет с красного на зеленый, то есть между ним и свитчем была установлена связь.
Итак, компьютер попытался через свитч обратиться к DHCP-серверу, не получил ответа, потому что свитч не связан ни с каким сервером, и запустил механизм автоконфигурации IP-адреса. Этот механизм активизируется в любой локальной сети, не подсоединенной к DHCP-серверу. Например, если у вас в локальной сети имеется 5 компьютеров и свитч, то в результате автоконфигурации каждый из них получит свой собственный IP-адрес, позволяющий связываться по локальной сети друг с другом.
Давайте добавим к нашей сети ещё один компьютер, соединим его со свитчем, укажем DHCP в пункте «Конфигурация IP» сетевых настроек и через командную строку выполним команду PC>ipconfig. Как видите, второй компьютер назначил сам себе адрес 169.254.167.182, находящийся в диапазоне допустимых APIPA –адресов. Теперь оба компьютера имеют IP-адреса в одной локальной сети, а маска подсети 255.255.0.0 указывает на /16, то есть оба компьютера без проблем могут связываться друг с другом. Если я пропингую PC0 по адресу 169.254.26.192, мы увидим, что оба устройства могут общаться по сети.
Хотя сегодня мы рассматриваем IPv6, а не IPv4, данный пример удобен для понимания принципа автоконфигурации. Он показывает, что в локальной сети с автоматически сконфигурированными адресами можно свободно делиться файлами из общих папок разных компьютеров без необходимости ручной конфигурации IP-адресов.
Мы рассмотрели автоконфигурацию адресов IPv4, но IPv6 также имеет автоконфигурацию. Однако механизмы автоконфигурации двух разных версий IP-протокола существенно отличаются друг от друга. Рассмотрим ситуацию с использованием IPv4 – ели мы возьмем порт роутера и присвоим ему какой-то IP-адрес, а потом захотим его поменять, то новый IP-адрес просто затрет старый без всяких следов. Вот в чем состоит разница между IPv4 и IPv6 – в случае IPv6 один и тот же интерфейс может иметь несколько IP-адресов. В IPv4 существует возможность назначить интерфейсу вторичный IP-адрес с помощью команды secondary, однако на практике во всех случаях используется только основной адрес. В IPv6 нет необходимости назначать вторичный адрес, вы узнаете об этом из следующих слайдов, на которых будет показана конфигурация такого IP-адреса. Скажу, что если вы назначите одному интерфейсу два IP-адреса, они оба примут участие в маршрутизации и роутер будет иметь доступ к обоим адресам.
Когда вы присваиваете IP-адрес роутеру или любому устройству, работающему по протоколу IPv6, например, 2001::1/64, автоматически создается Link Local адрес. Как было сказано на предыдущем уроке, Link Local адрес автоматически генерируется устройством, присваивается интерфейсу и начинается с FE80. Это означает, что данный адрес присваивается только этому конкретному интерфейсу и не может связываться с внешними сетями, так как работает только в данном сегменте локальной сети. При этом в качестве основы IP-адреса используется уникальный 48-битный MAC-адрес устройства, разделенный посередине на 2 части символами FF:FE. Данный механизм известен как генерация IP-адресов с помощью EUI-64, который представляет собой стандарт IEEE. К MAC-адресу, уникальному для каждого устройства, EUI-64 добавляет ещё 16 бит, превращая его в уникальный 64-битный IP-адрес. Вот в чем заключается автоматическая конфигурация адреса Link Local по протоколу IPv6.
Вернемся к Packet Tracer, где мы выполняли конфигурацию компьютеров по протоколу IPv4, и посмотрим на IP-конфигурацию компьютера PC0.
Как видите, здесь имеется и Link Local IP-адрес, и автоматически сконфигурированный IP-адрес. При этом FE80 является частью адреса локальной сети, а остальные 4 октета адреса IPv6 представляют собой часть адреса хоста. Вы видите, что как раз посередине этой части хоста присутствуют FF:FE, создавая уникальный адрес FE80::2EO:8FFF:FE5A:1AC0. Глядя на эту запись, можно определить, что уникальным MAC-адресом данного устройства является 02EO:8F:5A:1AC0. Этот адрес был автоматически сконфигурирован в формате EUI-64, который представляет собой преобразование MAC-адреса в 64-битный IP-адрес. Возникает вопрос, можно ли создать Link Local адрес вручную? Конечно, можно, и сейчас мы попробуем это сделать.
Добавим к нашей схеме роутер Cisco и присвоим ему IP-адрес. Для этого я вхожу в глобальные настройки и набираю ipv6 address, а не просто ip address, как это делается для IPv4, и далее набираю адрес 2001::1/64.
Как видите, мы можем набрать /64, что очень удобно! В IPv4 мы тоже могли вписать слеш, но система не обращала на него внимания. Далее я ввожу команды no shutdown и мою любимую show ip interface brief, только для интерфейса 6 версии протокола я обязательно указываю это в виде не просто ip, а ipv6. Отличие заключается в том, что для шестой версии IP-протокола во всех командах вместо ip нужно использовать ipv6. Итак, я ввожу команду do show ipv6 interface brief, и система показывает мне интерфейсы по протоколу IPv6.
Вы видите как присвоенный нами адрес 2001::1/64, так и расположенный выше Local Link адрес, который был сгенерирован системой автоматически. В середине этого адреса вы видите FF:FE, которые указывают на форматирование адреса с помощью EUI-64.
Давайте вернемся к интерфейсу g0/0 и добавим другой адрес. Как я уже сказал, если я введу новый адрес интерфейса в случае IPv4, он просто перезапишет старый адрес. В случае IPv6, если я введу новый адрес 2002::1/64 и затем попрошу показать мне параметры интерфейса с помощью команды do show ipv6 interface, мы увидим, что нам доступны оба адреса — и старый, и новый.
Предположим, что мы хотим изменить адрес Link Local. Для этого я набираю команду ipv6 address FE80::1. Запомните, что в адресах Link Local нельзя использовать слеш, поэтому я добавляю в команду выражение link-local и ввожу команду изменения IP-адреса локальной сети FE80::1 link-local. Затем я прошу систему показать новые параметры интерфейса.
Как видите, старый адрес Link Local был заменен новым адресом, поскольку интерфейс может иметь только один адрес типа FE80::.
Итак, мы рассмотрели, как автоматически и вручную назначаются адреса Link Local, а теперь узнаем, что значит автоматический адрес IPv6.
Полноценная автоконфигурация IPv6 означает, что у нас имеется DHCP-сервер. Точно также, как и в случае использования IPv4, в версии IPv6 этот сервер просто присваивает IP-адрес устройству, которое его запрашивает.
Такая конфигурация используется, когда вы не хотите вручную присваивать интерфейсу IP-адрес и DHCP-сервер делает это автоматически. Если у вас нет DHCP –сервера и вы не хотите вводить адрес вручную, а хотите, чтобы он генерировался автоматически, вы можете снова обратиться к EUI-64. Это означает, что все, что не начинается с FE80, может быть IP-адресом, вы совершенно свободно можете использовать адрес формата 2001::_EUI-64_, и это является способом автоматически сконфигурировать IP-адрес. Если мы используем IPv6 со слешем /64, это означает, что мы выполняем ручную конфигурацию IP-адреса.
Сейчас я хочу показать вам, как происходит автоматическая конфигурация в формате EUI-64 при вводе выбранного нами адреса. Для этого я зайду в настройки CLI роутера и сконфигурирую IP-адрес шестой версии. Это делается тем же путем, что и ручная конфигурация IP-адреса.
Для этого я последовательно наберу команды ipv address 2010::/64 eui-64 и no shutdown, причем я могу не набирать полностью ipv6, потому что буква v после ip воспринимается системой как указание на 6-ю версию.
Затем я попрошу показать параметры интерфейса, и вы видите, что система сгенерировала адрес 2010::290:2BFF:FE52:6902, причем часть адреса хоста в этом unicast-адресе полностью повторяет MAC-адрес устройства, использованного как часть адреса хоста в Local Link адресе FE80::290:2BFF:FE52:6902.
Теперь давайте рассмотрим, как осуществляется конфигурация IPv6. На схеме показаны 2 компьютера-хоста, два свитча и два роутера, и сейчас я их быстро настрою.
Перейдем к Packer Tracer и рассмотрим три аспекта: конфигурацию IPv6 – адреса, пингование устройств IPv6 и команды, которые служат для обнаружения неполадок IPv6.
На топологии сети я уже пометил IP-адреса, которые нужно присвоить роутерам. Я захожу в сетевые настройки PC0, отключаю возможность использования DHCP по протоколу IPv6 и вручную конфигурирую статический адрес IPv6.
Для этого я наберу адрес устройства 2001::11::1/64 и адрес IPv6 – шлюза, в качестве которого выступает Router0. Слеш в этом адресе не используется, потому что мы точно знаем, где расположен роутер.
Аналогичным образом производится конфигурация компьютера PC1. Это обычная настройка сети в Windows, так что не будем заострять на ней внимание.
Теперь перейдем к более важной части настроек, для этого я удалю имеющиеся IP-адреса роутера R0 с помощью команды по ipv add и посмотрю на результат с помощью команды do show ip interface brief. Как видите, для интерфейса g0/0 операция прошла успешно, и сейчас я проделаю то же самое для интерфейса g0/1. Как видите, все назначенные ранее IP-адреса удалились.
Порт GigabitEthernet 0/0 отключен, то есть находится в состоянии down, на что показывают красные маркеры соединения R0-R1. Порт второго роутера также помечен красным маркером, потому что мы еще не приступили к его настройке, но можете не беспокоиться, я проделаю это позже. Пока что вернемся к настройкам порта g0/0 и присвоим ему нужный адрес командой ipv6 address 2001:120:1:1::1/64, не забыв про команду no shutdown. Затем перейдем к интерфейсу g0/1 и присвоим ему адрес командой ipv address 2001:11::10/64 и также используем команду no shutdown.
Давайте перейдем ко второму роутеру R1 и выполним настройку аналогично тому, как настроили роутер R0. При этом интерфейсу g0/0 будет присвоен адрес 2001:120:1:1::2/64, а интерфейсу g0/1 – адрес 2001:22::10/64. После этого цвет маркеров обеих интерфейсов поменяется с красного на зеленый, показывая, что они включились в сеть.
Если вернуться к первому роутеру R0 и посмотреть параметры интерфейсов IPv6, то мы увидим, что у нас настроены оба адреса – адрес Link Local и требуемый адрес 2001:11::10.
Для проверки установки соединения я пропингую первый роутер со второго, используя в CLI команду ping 2001:120:1:1::1. Пинг проходит успешно, потому что оба роутера напрямую соединены друг с другом. Теперь проверим, можно ли пропинговать адрес Link Local интерфейса g0/0 первого роутера, для этого я использую команду ping FE80::290:2BFF:FE52:6901, после чего система просит указать Output interface. Что это значит?
Если посмотреть на конфигурацию интерфейсов двух роутеров, мы увидим, что оба эти устройства имеют одинаковый Link Local адрес FE80::290:2BFF:FE52:6901. Это совершенно нормально. Packet Tracer показывает, что адресом интерфейса g0/1 является FE80::290:2BFF:FE52:6902, но если посмотреть на настоящее физическое устройство или использовать программу GNS3, мы увидим, что это один и тот же IP-адрес, потому что FE80 использует одинаковые адреса Link Local. Поэтому для пинга любого IP-адреса мы должны указать, с какого адреса и с какого интерфейса будем выполнять пингование. Поэтому я указываю Output interface: GigabitEthernet0/0 и пингование успешно проходит.
Теперь я попытаюсь пропинговать адрес FE80::290:2BFF:FE52:6901 с интерфейса GigabitEthernet0/1, и мне не удается это сделать. Дело в том, что Link Local адрес присваивается конкретному соединению, в данном случае это соединение интерфейсов f0/0 двух наших роутеров, и этот адрес не может использоваться ни в каком другом сегменте сети. Это очень важный момент, который вы должны запомнить.
Теперь давайте перейдем к командам, используемым для диагностики неисправностей. До этого я использовал команду show ipv6 interface brief, а сейчас введу команду show ipv6 route.
Помните, что практически все команды, которые мы использовали для IPv4, применимы и для IPv6, только с обязательным указанием версии. Поэтому вам будет легко разобраться с шестой версией протокола, если вы усвоили работу с четвертой. Если набрать команду show ipv6 interface g0/0, можно увидеть состояние и параметры настройки данного интерфейса. Здесь приводится Global Unicast адрес и присоединенная группа мультикаст-адресов FF02::1, FF02::1:FF00:2 и FF02::1:FF19:9701. Как я уже говорил, мультикаст-адреса начинаются с FF и действуют, как радиостанция, поэтому чтобы настроиться на их «канал», нужно присоединиться к этой группе. При этом любой пакет данных, предаваемый по сети, будет принят всеми устройствами, которые «настроены» на эту группу адресов, то есть присоединены к этой группе. Далее мы видим значение MTU, ICMP и прочие характеристики этого IPv6-интерфейса.
Итак, для обнаружения неполадок в работе IPv6 в основном используются две команды: show ipv6 interface brief и show ipv6 route.
Вернемся к топологии нашей сети, чтобы рассмотреть еще один вопрос. Могу ли я пропинговать с компьютера PC0 компьютер PC1? Давайте попробуем это проделать. Я вхожу в терминал командной строки первого компьютера и ввожу команду ping 2001:22::1. Пинг не проходит по весьма очевидной причине. Дело в том, что первому роутеру не задан маршрут между этими двумя устройствами, поэтому связь не работает. Когда пакет от PC0 поступает к роутеру R0, тот не знает, как доставить его компьютеру PC1, потому что ничего не знает о его сети 2001:22::1/24. Для того, чтобы обеспечить связь между двумя компьютерами, мы должны настроить для роутера статическую или динамическую маршрутизацию.
Начнем с настройки статического маршрута, а затем перейдем к динамическому. Так же, как и в настройках IPv4, мы используем команду ipv6 route и получаем подсказку с диапазоном возможных адресов в виде X:X:X:X::X/<0-128> IPv6 prefix. Далее я ввожу 2001:22::0/64 и получаю следующую подсказку системы.
Мы должны сообщить первому роутеру о существовании сети, в которой находится второй компьютер. Для этого он должен суметь отослать пакет интерфейсу f0/0 второго роутера. Существует два способа это сделать: мы можем указать выходной интерфейс или сообщить первому роутеру IPv6 –адрес следующего хопа. Выбираем последний вариант и набираем команду ipv6 route 2001:22::0/64 2001:120:1:1::2. Если мы захотим ввести административную дистанцию, то можем это сделать сейчас.
Теперь R0 знает, как добраться до сети второго компьютера. Аналогичным образом мы поступаем со вторым роутером R1. Я вхожу в режим глобальных настроек командой config t и набираю ipv6 route 2001:11::0/64 2001:120:1:1::1.
Давайте посмотрим, сможет ли теперь R0 пропинговать PC1. Используем команду ping 2001:22::10 и видим, что первый роутер уверенно пингует второй роутер. Однако после ввода команды ping 2001:22::1 пинг не проходит. Попробуем разобраться, в чем тут дело. Я проверяю сетевые настройки обеих компьютеров и вижу, что тут все в порядке. Что же случилось? Причина, по которой пингование не удается, заключается в IP-маршрутизации.
Я захожу в настройки первого роутера и ввожу команду ipv6 unicast routing, затем проделываю то же самое со вторым роутером. Как видите, после этого пингование PC0-PC1 проходит успешно. Итак, для того, чтобы обеспечить маршрутизацию по протоколу IPv6, вы должны зайти в настройки роутера и ввести команду ipv6 unicast routing. Моя ошибка состоит в том, что я не сделал этого раньше. Итак, мы сделали доступным unicast-роутинг, и теперь оба устройства могут связаться друг с другом. Вот так обеспечивается статическая маршрутизация.
Для того, чтобы обеспечить динамическую маршрутизацию, нужно использовать протокол RIP, который имеет свойство самообновления таблицы маршрутизации. Этот механизм называется RIPng, или динамический RIP-роутинг следующего поколения. Для его использования я сначала удалю все параметры статической маршрутизации, использовав в настройках обоих роутеров команду no ipv6 route.
Для того, чтобы просмотреть таблицу маршрутизации, я использую команду show ipv6 route.
Как видите, сейчас в ней нет никакой информации о сети второго компьютера, пингование не удается, так как адрес назначения недоступен. Это сообщение выдает R0, и оно означает, что он не знает, куда нужно отослать пакет, полученный от PC0. Теперь нам нужно включить RIP в настройках R0. Для этого нужно зайти в настройки конкретного интерфейса int g0/0 и ввести команду ipv6 rip, после чего система выдаст подсказку с просьбой ввести параметр WORD – слово, которое будет служить идентификатором данного процесса RIP. В этом состоит отличие между включением RIP по протоколу IPv4 и IPv6.
В качестве параметра WORD я использую слово NetworKing и добавлю enable, в результате чего команда принимает вид ipv6 rip NetworKing enable. Теперь интерфейс g0/0 доступен для маршрутизации ipv6. Ту же самую команду я использую для настройки интерфейса g0/1. Для того, чтобы протокол RIP работал при использовании IPv6, необходимо, чтобы идентификаторы процесса RIP, в данном случае это NetworKing, совпадали на всех интерфейсах.
Точно таким же образом нужно настроить второй роутер, причем идентификатор NetworKing будет означать, что только данный роутер сможет участвовать в маршрутизации, организованной первым роутером.
Если посмотреть на таблицу маршрутизации первого роутера, можно увидеть, что сейчас здесь появилась запись о маршруте по протоколу RIP к адресу 2001:11::/64 через интерфейс FE80::203:E4FF:FE19:9701.
После этого мы видим, что пингование второго компьютера прошло удачно, потому что теперь R0 знает, куда направлять пакеты первого компьютера. Важно, чтобы вы запомнили – для организации маршрутизации по протоколу IPv6 необходимо в настройках роутера использовать команду ipv6 unicast routing. Только после этого роутер начнет пересылать пакеты между устройствами или между сетями. Вот таким образом осуществляется статический роутинг и применяется RIPng.
Как обычно, я советую вам пересмотреть этот видеоурок несколько раз, чтобы усвоить все темы, которые мы сегодня обсудили. Я считаю, что в двух последних видеоуроках мы полностью охватили все вопросы IPv6, которые могут встретиться вам при сдаче экзамена CCNA. Если у вас всё же возникнут вопросы по этой теме, я готов на них ответить и при необходимости записать дополнительный видеоурок.
Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас оформив заказ или порекомендовав знакомым, 30% скидка для пользователей Хабра на уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps от $20 или как правильно делить сервер? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).
Dell R730xd в 2 раза дешевле? Только у нас 2 х Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 ТВ от $199 в Нидерландах! Dell R420 — 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — от $99! Читайте о том Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки?
Автор: ua-hosting