IPv6

Цель работы

Выработать у студента устойчивые практические навыки конфигурирования оборудования для работы с протоколом IP следующего поколения – IPv6. В работе используются следующие технологии: IPv6, GRE, OSPF, EIGRP, ACL.

Работа выполняется при помощи эмулятора GNS3. Предполагается, что обучающийся уже хорошо знаком с теоретической частью, которая в данной работе не поясняется. Для повторения теоретического материала стоит обратиться к книгам по курсу Cisco CCNP Route.

Схема сети

Описание работы

  1. Создайте адресный план для части сети, в которой используется IPv4. Поддержка IPv4 включена только на маршрутизаторах R2-R6.
  2. Создайте адресный план для части сети, в которой используется IPv6. Поддержка IPv6 включена только на следующих маршрутизаторах: R1, R2, R6 и R7. Сети A и B – обычные пользовательские IPv6 сети со стандартной маской /64.
  3. Для эмуляции локальных сетей A и B используйте два дополнительных маршрутизатора. Преобразуйте предложенную схему с учётом данного условия.
  4. Соберите предложенную схему в GNS3 и включите устройства. На интерфейсах настройте соответствующие IP-адреса.
  5. На маршрутизаторах, поддерживающих IPv4, настройте динамическую маршрутизацию с помощью протокола OSPF.
  6. Между маршрутизаторами R2 и R6 поднимите GRE-туннель.
  7. На маршрутизаторах, эмулирующих узлы локальных сетей A и B, настройте адреса IPv6 с использованием механизма EUI-64.
  8. На маршрутизаторах, эмулирующих узлы локальных сетей A и B, настройте шлюзы по умолчанию.
  9. На маршрутизаторах R1, R2, R6 и R7 настройте динамическую маршрутизацию с помощью протокола EIGRP. Добейтесь устойчивого прохождения пакетов между сетями A и B.
  10. На маршрутизаторах R1 и/или R7 настройте списки доступа так, чтобы TCP-соединение могло инициироваться только узлами из сети A в сторону узлов из сети B.
  11. На маршрутизаторах, эмулирующих хосты в локальных сетях A и B, настройте возможность удалённого управления с помощью Telnet. Убедитесь, что списки доступа, настроенные в предыдущем пункте, позволяет подключаться только в одном направлении.

Скачать PDF-файл с описанием лабораторной работы.

Лабораторная работа: ACLs, NAT, PAT

Цели

Получение практического навыка по построению защищенной сети, изучение принципов работы стека TCP/IP, развитие практических навыков работы с командами сетевого администрирования ОС Microsoft Windows.

Задачи

  • Создать начальную конфигурацию маршрутизатора, необходимую для удаленного администрирования (с помощью протокола telnet или ssh).
  • Создавать стандартный и расширенный списки доступа.
  • Создать статический NAT, создать PAT.

Оборудование

Router 1605, Switch Catalyst 2960 (для выполнения достаточно одного маршрутизатора и двух портов коммутатора). Допускается также использование эмулятора GNS3.

Предварительная настройка

  • Маршрутизатор должен иметь нулевую конфигурацию.
  • Коммутатор должен быть настроен для удаленного доступа к нему из локальной сети класса.
  • Один компьютер класса (например, компьютер преподавателя, этот компьютер мы будем называть “выделенным”) должен быть подключен к порту коммутатора. Этот порт должен находиться в другом VLAN, не в том в котором находится порт, подключенный к локальной сети.

Время выполнения

1 пара

Параметры выставления оценок

Ряд пунктов задания предполагают или определённое исследование со стороны студента, или проверяют то, насколько хорошо студент осознал проделанное. Например, некоторые пункты невозможно выполнить без настройки таблиц маршрутизации на компьютерах, о чем в самом задании ничего не говорится. Студент должен найти проблему и решить ее самостоятельно. Так же студент при демонстрации правильности работы NAT/PAT должен продемонстрировать навыки работы с Wireshark.

Потому работа должна оцениваться по нижеприведённым позициям.

  • Общее ориентирование в круге вопросов. Стек TCP/IP (IP адреса, порты TCP), технология NAT/PAT, маршрутизация.
  • Навыки работы с административными командами и Wireshark.
  • Способность быстро ориентироваться и находить решения.
  • Дополнительные вопросы и беседа.

Ход работы

  • С помощью консольного порта настройте маршрутизатор так, чтобы на него можно было зайти удаленно по протоколу telnet.

На маршрутизатор можно попасть через консольный интерфейс по протоколу RS-232. Для этого можно использовать программу PuTTy или HyperTerminal (Programs|Accessories|Communications|). Настройки RS-232 протокола: bits per second 9600, data bits 8, parity none, stop bits 1. Для того чтобы можно было зайти на маршрутизатор cisco по протоколу telnet, необходимо выполнить нижеприведённые пункты.

a) Настроить IP-адрес на интерфейсе Ethernet 0 (в режиме конфигурации интерфейса).

ip address ip_address mask

b) Включить интерфейс (в режиме конфигурации интерфейса).

no shu
exit

c) Настроить пароль для входа через telnet (в режиме конфигурации).

line vty 0 4
pass password
exit

d) Настроить пароль для входа в привилегированный режим (в режиме конфигурации).

enable secret password
  • Установите telnet сессию.

После установления telnet сессии, если были правильно выполнены предыдущие настройки, маршуртизатор потребует введение пароля. Надо ввести пароль, который был сконфигурирован на line vty.

a) Далее для входа в привилегированный режим введите команду.

enable

b) Введите пароль, который был сконфигурирован ранее.

  • Настройте логический интерфейс с произвольным ip адресом и “хостовой” маской (в подсети может быть только один IP-адрес). Для этого в режиме конфигурации выполняются следующие команды.

interface loopback 0
ip address ip_address mask
exit
  • Выйдите из telnet сессии – последовательно команды.

exit
exit
  • Попытайтесь “попасть телнетом” на логический интерфейс маршрутизатора. Почему получили такой результат? Сделайте так, чтобы команда выполнялась успешно.

  • Создайте список доступа, пропускающий только пакеты с source ip адрес вашего компьютера.

Для этого можно использовать так называемый “стандартный” список доступа. Для создания такого списка в режиме конфигурации выполняются команды.

access-list number permit | deny {any} | {host ip_adrress_host } | {ip_address_host} | { ip_address_network invert_mask }
number – номер списка доступа (1-99).
permit – разрешение
deny – запрещение
ip_adrress_host – IP адрес хоста
ip_address_network – идентификатор сети.
invert_mask – инвертированная маска
| - или
{} – группирует команды

Эти команды вводятся последовательно, и обрабатываются процессором последовательно сверху вниз. Если в конце нет явного permit any, то все пакеты, для которых не нашлось соответствия в списке, уничтожаются.

Пример (разрешает пакеты с хостов 1.1.1.1, 2.2.2.2, запрещает из сетки 3.0.0.0 255.0.0.0, разрешает все остальные, log – включение “журналирования” для данной строчки).

access-list 1 permit 1.1.1.1 
access-list 1 permit host 2.2.2.2
access-list 1 deny 3.0.0.0 0.0.0.255
accee-list 1 permit any log
  • Поставить список доступа на интерфейс.

Список доступа может быть поставлен на in или на out. Для маршрутизатора in – это то, что входит в маршрутизатор, out – то, что выходит из него. Команда в режиме конфигурирования интерфейса.

ip access-group number in | out
number – номер списка доступа

Если все сделано правильно – сессия telnet не должна прерваться. Если прервалась – студент должен использовать консоль, чтобы найти ошибку и поправить. Для этого используются, например, следующие диагностические команды в привилегированном режиме.

sh run
sh access-list number
sh inter e 0
sh ip inter e 0
term mon
term nomon
deb ip packet
no deb all

Если не получилось понять, в чем ошибка или непонятна диагностика – обратитесь к преподавателю. После выполнения – покажите преподавателю.

  • Студент создает список доступа позволяющий делать только telnet, только на interface loopback 0 (сконфигурированный ранее) и только с его компьютера. При этом предполагается, что telnet сессия установлена на интерфейс loopback 0.

Для этого используется список доступа, называемый “расширенным”. Такой список доступа позволяет при фильтрации использовать не только IP-адрес источника, но так же и IP-адрес получателя и информацию четвёртого уровня – номера TCP/UDP портов, флаги протокола TCP. Для расширенного списка доступа используются номера от 100 до 199 или можно создавать именованные списки доступа. Пример (в режиме конфигурации) представлен ниже.

ip access-list extend 100
permit ip 1.1.1.1 0.0.0.0 192.168.5.0 0.0.0.255
permit tcp host 2.2.2.2 192.168.5.1 0.0.0.0 eq 80
deny ip any host 192.168.5.1
deny udp any any eq rip
permit ip any any log

При написании команды пользуйтесь командой “?”.

  • Поставьте этот список доступа на interface e 0 на in. Если все сделано правильно, telnet сессия не должна быть прервана. Если прервалась – пользуйтесь консолью для выявления и исправление ошибки.

a) Проверьте, что с другим ip адресом telnet “не проходит”.

b) Проверьте, что ping “не проходит”.

c) Проверьте, что telnet на Ethernet 0 не проходит.

d) Покажите преподавателю.

  • Все списки доступа удаляются.

Все сконфигурированные строчки удаляются введением той же самой команды с префиксом “no ”.

  • Студент узнает у преподавателя адрес коммутатора и пароли. Заходит на него с помощью telnet.

Входит в привилегированный режим (пароль – у преподавателя).

  • Настройте другой Ethernet порт (Ethernet1) маршрутизатора.

Он должен быть в той же сети, что и выделенный (см. “предварительные настройки”) компьютер (узнайте у преподавателя).

  • Подключите этот порт маршрутизатора к коммутатору. Добейтесь того, чтобы команда ping с маршрутизатора на IP-адрес выделенного компьютера выполнилась успешно.

a) На коммутаторе нужно правильно настроить порт.

b) Предложите алгоритм действий. Если алгоритм правильный, преподаватель подскажет команды, которые необходимо ввести.

c) После выполнения этого пункта мы должны получить следующую топологию сети. Два интерфейса маршрутизатора смотрят в разные локальные сегменты. В одном сегменте находится компьютер студента (и вся локальная сеть), в другом - компьютер преподавателя.

  • Настройте статический NAT таким образом, чтобы вы могли выполнить telnet соединение с открытым TCP-портом на “выделенном” компьютере (компьютере преподавателя), таким образом, чтобы на “выделенный” компьютер приходили пакеты с IP-адресом источника – IP-адресом логического интерфейса маршрутизатора.

a) Для этого надо определить, какой локальный сегмент считать внутренним, какой внешним. На том интерфейсе, который “смотрит” во внутренний сегмент надо прописать команду.

ip nat inside

b) На том интерфейсе, который “смотрит” во внешний сегмент надо прописать команду.

ip nat outside

c) Для настройки статического NAT надо выполнить команду.

ip nat inside source static inside_local_address inside_global_address

Пользуйтесь командой “?”.

  • Добейтесь результата. На компьютере преподавателя продемонстрируйте, что пакеты действительно приходят с IP-адреса loopback.

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

  • Настройте PAT таким образом, чтобы вся локальная сеть класса имела доступ по telnet к открытому TCP-порту “выделенного” компьютера.

a) Сначала удалите команду статического NAT.

b) Создайте список доступа, в котором укажите какие IP-адреса разрешено “патить”.

c) В режиме конфигурации введите нижеприведённую команду.

ip nat inside source list number interface loopback 0 overload
  • Продемонстрируйте преподавателю, что все работает правильно.

Скачать PDF-файл с описанием лабораторной работы.

BGP RTBH – Remotely-Triggered Black Hole

Введение

Целью данной работы является знакомство студентов с решением, часто применяемым телекоммуникационными провайдерами для защиты своих клиентов от DoS -атак. Конечно же, защита от DoS и тем более DDoS-атак более сложная и не ограничивается описываемой технологией, однако такое решение весьма интересно само по себе, так как для его применения используются различные опции протокола BGP. При выполнении данной лабораторной работы студенты приобретут практические навыки работы с комьюнити в BGP, а также познакомятся с несколькими другими тонкостями функционирования маршрутизаторов.

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

Схема

Описание

На рисунке выше представлена упрощённая схема сети провайдера и двух его небольших клиентов. В сети оператора использовано три маршрутизатора для обеспечения простейшей отказоустойчивости. Сети клиентов представлены одним маршрутизатором для простоты.

Существует две разновидности RTBH: source based и destination based, различающиеся по тому, блокировка отправителя или получателя осуществляется. В данной лабораторной работе рассматривается destination based версия RTBH, например, из-за того, что в DDoS-атаках источников паразитного трафика может быть чрезвычайно много.

Включение RTBH требует предварительной подготовительной работы на сетях провайдера и клиента, проводимой до возникновения атаки. При детектировании паразитного трафика на определённый хост в сети клиента, администраторы компании-клиента могут заблокировать трафик на этот хост в сети оператора без вмешательства специалистов провайдера.

Лабораторная работа выполняется в эмуляторе GNS3 версии 1.1 или более поздней. В качестве маршрутизаторов использована модель 7204VXR с IOS версии 15.2(4)M6 или более поздней с набором опций ADVENTERPRISEK9.

  1. Соберите схему, представленную выше, в эмуляторе. Включите все устройства. Включите все интерфейсы между маршрутизаторами.
  2. На каждом маршрутизаторе настройте интерфейс Loopback1 с IP-адресом X.X.X.X/32, где X – цифра, входящая в название устройства. Так, например, для маршрутизатора R4 назначаемый адрес будет 4.4.4.4.
  3. На линках между маршрутизаторами настройте IP-адреса вида 192.168.YZ.Y/24 и 192.168.YZ.Z/24, где Y – номер меньшего устройства в паре, а Z – большего. Так, например, на интерфейсе Gi0/0 R5 должен быть назначен адрес 192.168.25.5, а на интерфейс Fa2/0 R2 – 192.168.25.2.
  4. С помощью команды ping с соответствующими аргументами убедитесь в доступности соседнего устройства.
  5. На маршрутизаторах R4 и R5 создайте интерфейсы Loopback0, на которых назначьте IP-адреса вида 10.X.0.1/16, где X – номер устройства. Данные префиксы будут эмулировать маршруты для внутренних сетей клиентов.
  6. В сети оператора настройте OSPF только между всеми маршрутизаторами провайдера.
  7. Передайте все непосредственно подключенные к этим маршрутизаторами сети в OSPF.
  8. Убедитесь в корректности маршрутной информации на всех устройствах провайдера.
  9. Настройте BGP в сети провайдера между адресами физических интерфейсов для всех маршрутизаторов.
  10. Убедитесь в успешном установлении соседства.
  11. Настройте BGP между клиентами и провайдером между адресами физических интерфейсов.
  12. Отключите автоматическое суммирование маршрутов командой no auto-summary.
  13. С помощью команды network организуйте передачу префиксов 10.X.0.0/16 в BGP от обоих клиентов.
  14. Просмотрите таблицы маршрутизации на клиентах. Убедитесь в том, что в них появилась информация о сети другого клиента.
  15. Убедитесь, что маршрутная информация о сетях клиентов НЕ появилась в процессе OSPF провайдера. Объясните, почему это важно.
  16. С помощью команды shutdown выключите интерфейс Gi0/0 R1.
  17. Убедитесь, что клиенты перестали получать информацию о префиксах друг друга. Объясните, почему так произошло.
  18. Только внутри сети оператора перенастройте BGP так, чтобы соседство устанавливалось между интерфейсами Loopback1, а не между физическими интерфейсами.
  19. Убедитесь, что BGP-соседство между R1 и R2 восстановилось.
  20. Убедитесь, что клиентские маршрутизаторы вновь начали получать информацию о сетях друг друга.
  21. Убедитесь, что между сетями клиентов передаётся пользовательский трафик.
  22. Так как R3 в данный момент не участвует в передаче обновлений о пользовательских маршрутах, объясните, возможно ли вообще выключить BGP на R3. К чему это приведёт?
  23. Включите все интерфейсы, выключенные в предыдущих пунктах.
  24. На маршрутизаторе R4 настройте фильтрацию исходящих маршрутов с помощью distribute-list или route-map. Требуется, чтобы передавались лишь маршруты из сети 10.4.0.0/16 с масками от 16 до 24.
  25. Создайте Loopback2 с адресом 10.3.0.1/16 на маршрутизаторе R4. С помощью команды network осуществите передачу данный префикс в BGP.
  26. Убедитесь, что префикс 10.3.0.0/16 попал в таблицу BGP на R4 с помощью команды sho ip bgp.
  27. Убедитесь, что префикса 10.3.0.0/16 нет в таблицах BGP других маршрутизаторов.
  28. На всех маршрутизаторах включите поддержку нового формата community с помощью команды ip bgp-community new-format.
  29. На маршрутизаторе R5 создайте route-map 666. Для всех маршрутов с тегом 666 должна выставляться community 5:666.
  30. На маршрутизаторе R5 осуществите передачу статических маршрутов в BGP с применением route-map 666 с помощью команды redistribute static route-map 666.
  31. Во всей лабораторной сети разрешите передачу community вместе с префиксами с помощью опции send-community both, указываемой для каждого BGP-соседа.
  32. На всех маршрутизаторах в сети оператора настройте статический маршрут на адрес 192.168.1.1/32 в интерфейс null 0.
  33. С помощью команды clear ip bgp * на маршрутизаторах R4 и R5 переустановите BGP-соседство с оператором. Не применяйте эту команду в реальной сети! Изучите менее «разрушительные» аналоги данной команды.
  34. На маршрутизаторе R5 создайте хостовой статический маршрут для адреса 10.5.1.1/32 в интерфейс null 0 с тегом 666.
  35. Убедитесь, что роутер R5 отдаёт только хостовой маршрут из предыдущего пункта с соответствующим значением community, а маршрут на всю сеть 10.5.0.0/16 без данного атрибута.
  36. На маршрутизаторе R2 убедитесь в корректности приходящих обновлений от соседа R5.
  37. Настройте на маршрутизаторе R2 route-map на вход от R5 с тремя записями. Первая должна проверять префикс на принадлежности сети 10.5.0.0/16. Вторая проверяет на наличие атрибута community со значением 666. При его наличии заменить атрибут next-hop на значение 192.168.1.1. Для проверки наличия определённого значения community в обновлении нужно создать соответствующий список сообществ командой ip community-list standard c666 permit 5:666, после чего внутри записи route-map осуществлять проверку с помощью команды match community c666. Третья запись должна проверять, что клиент присылает нам лишь префиксы с масками от 16 до 24. Логика обработки маршрутизатором объектов route-map похожа на ту, что используется при работе со списками доступа: любое срабатывание условия приводит к окончанию обработки. То есть первая сработавшая запись будет и последней проверяемой. Это означает, что если обновление содержит префикс из сети 10.5.0.0/16, то для него проверка на наличие community или правильность маски уже выполняться не будет. Чтобы этого не происходило, требуется добавить ключевое слово continue (новая возможность, добавленная в последние версии IOS) в соответствующую запись внутри route-map.
  38. Предложите способ написания route-map так, чтобы опция continue не использовалась. Такая конструкция может потребоваться при разворачивании RTBH в сети со старыми маршрутизаторами.
  39. Пересоздайте BGP-сессии между устройствами клиентов и провайдера.
  40. Изучите BGP-таблицу роутера R2. Что Вы можете сказать о префиксах, получаемых от R5?
  41. Убедитесь в отсутствии префикса 10.5.1.1/32 в RIB R2.
  42. Наблюдаемое явление связано с тем, что IOS маршрутизатора считает адрес следующего перехода для данного префикса недостижимым, так как сосед и следующий хоп достижимы через разные интерфейсы. Проблема не возникает, если соседство установлено с интерфейса Loopback. Перенастройте маршрутизаторы R2 и R5 так, чтобы BGP-соседство устанавливалось между следующими интерфейсами: R2 Loopback1 и R5 Gi0/0.
  43. Какие ещё настройки необходимо сделать на R5, чтобы соседство начало устанавливаться?
  44. Убедитесь, что BGP-сессия так и не установилась, даже после ввода дополнительных настроек на R2. Указанная проблема связана с тем, что при установлении eBGP сессии требуется, чтобы она устанавливалась только между непосредственно подключёнными физическими интерфейсами (проверка с помощью TTL). При установлении iBGP-сессии такая проверка не производится. Чтобы маршрутизаторы могли установить eBGP-соединение между устройствами, которые не подключены друг к другу напрямую, нужно использовать опцию ebgp-multihop 255 для соответствующего соседа. На R2 и R5 произведите требуемую настройку.
  45. Убедитесь в установлении BGP-сессии между R2 и R5.
  46. Проверьте, что префикс 10.5.1.1/32 появился в таблице маршрутизации устройств провайдера и указывает на правильный интерфейс.
  47. Убедитесь, что информация об этом префиксе также достигла роутера другого клиента.
  48. На маршрутизаторе R2 внесите изменение в route-map 666 так, чтобы для обновлений с сообществом 5:666 не только заменялся атрибут next-hop, но также и добавлялось community no-export.
  49. Переустановите BGP-соседство между R2 и R5.
  50. На остальных роутерах оператора проверьте, какие сообщества выставлены для префикса 10.5.1.1/32.
  51. Убедитесь, что префикс 10.5.1.1/32 теперь отсутствует в RIB второго клиента.
  52. Проверьте, как передаётся трафик с роутера R4 на адрес 10.5.1.1. Поясните увиденное.
  53. Проанализируйте все выполненные ранее настройки. Убедитесь, что присутствует полное понимание всех действий.

Скачать PDF-файл с описанием лабораторной работы.

Лабораторная работа: изучение технологии DHCP

  1. С помощью отрезка кроссоверного кабеля подключите компьютер к одному из Ethernet-портов маршрутизатора Cisco 1605 или другого, имеющегося в наличии.
  2. Из конфигурационного режима создайте новый пул протокола DHCP с помощью команды ip dhcp pool name, где name – имя вновь создаваемого пула.
  3. В режиме конфигурации вновь созданного пула DHCP укажите с помощью команды network 192.168.1.0 /24 адреса, которые будут раздаваться клиентам.
  4. Сконфигурируйте отдаваемые по DHCP адреса серверов DNS, для чего используйте команду dns server 192.168.1.2 192.168.1.3.
  5. Аналогично предыдущему пункту сконфигурируйте адреса серверов WINS командой netbios-name-server 192.168.1.4 192.168.1.5.
  6. Задайте IP-адрес шлюза по умолчанию для клиентов вызовом default-router 192.168.1.1.
  7. Установите время аренды адреса клиентом, для чего выполните команду lease 0 0 15.
  8. Выйдите из режима конфигурирования пула DHCP командой exit.
  9. Настройте сетевую карту компьютера на автоматическое получение параметров IP.
  10. Освободите полученный ранее адрес вызовом ipconfig /release.
  11. Получите новые параметры с помощью ipconfig /renew.
  12. Убедитесь в том, что вы получили конфигурацию протокола IP.
  13. Просмотрите на маршрутизаторе таблицу выданных IP-адресов командой привилегированного режима show ip dhcp binding.
  14. Исключите адреса 192.168.1.2 и 192.168.1.3 из пула выдаваемых адресов, для чего используйте команду режима конфигурации ip dhcp excluded-address 192.168.1.2 192.168.1.3. Если компьютеру был выдан какой-либо другой адрес, исключите и его из пула.
  15. Откажитесь от используемого ранее адреса на лабораторном компьютере и запросите его вновь.
  16. Убедитесь в том, что теперь сетевой карте компьютера присвоен другой адрес.
  17. Сконфигурируйте статическую привязку MAC-адреса компьютера к выдаваемому сервером DHCP IP-адресу. Для этого создайте новый пул DHCP, внутри этого пула дайте команду host address mask, где address и mask – IP-адрес и сетевая маска конфигурируемого хоста. Выполните команду client-identifier 01aa.bbcc.ddee.ff, где aabbccddeeff – MAC-адрес лабораторного компьютера, а 01 – указывает на тип среды Ethernet. Командой client-name test укажите имя настраиваемому клиенту.
  18. Откажитесь на компьютере от текущего адреса и получите его вновь. Убедитесь в том, что полученный адрес – именно тот, который только что был жёстко сконфигурирован.

Скачать PDF-файл с описанием лабораторной работы.