###### tags: `Network basic` # Network_Basic-Омаров_Джамалутин-Практика-3 *Выполнил Омаров Джамалутин* ## Практическая работа №3 Модель OSI. Сетевой уровень - L3 Задание: * Настроить сетевое оборудование в зоне статической маршрутизации * Настроить статические маршруты на устройствах в зоне статической маршрутизации * Настроить сетевое оборудование в зоне OSPF * Настроить динамическую маршрутизацию в зоне OSPF * Настроить сетевое оборудование в зоне BGP * Настроить динамическую маршрутизацию в зоне BGP * Провести атаку с подменой маршрута в зоне OSPF * Провести атаку с подменой маршрута в зоне BGP В отчете отразить: * Конфигурацию любого одно маршрутизатора в каждой из зон маршрутизации (должно получиться 3 конфигурации роутеров) * Скрин работы утилиты ping между каждыми крайними маршрутизаторами (MR-12, MR-10, CR-6, LR-15) * Скрин успешной атаки на OSPF (получен fake маршрут) * Скрин успешной атаки на BGP (если у вас получилось реализовать атаку), а также идею реализации атаки На уровне L3 работают протоколы: * IP * ICMP * IGMP * IPsec * RIP * OSPF * BGP * DVMRP ### Часть 1. Настройка статической маршрутизации 1.1 Выставили сетевое оборудование (лабораторный стенд), в соответствии с методичкой; ![](https://i.imgur.com/HW7M5th.png) 1.2 Подключим VPS к статической сети через Switch для дальнейших действий. Они будут иметь разные Vlan-ы. Задача - проверить их взаимодействие. Inter Vlan Routing. * Traditional: Маршрутизация происходит внутри данной зоны Switch и не выходит наружу. * Router-on-a Stick: Маршрутизация происходит на Router подключенном к Switch. * Multilayer Switch: Switch уровня L3. ![](https://i.imgur.com/26E4iY3.png) 1.3 Настроим ip адресацию на Mikrotik. ip address -> add address=10.0.0.12/24 interface=ether1; ![](https://i.imgur.com/cM5FuOC.png) ![](https://i.imgur.com/ojlRUhv.png) Настройка на Mikrotik происходит иначе: сначала выставляется ip, а потом он вешается интерфейс. 1.4 Настроим на Linux Debian. nano /etc/network/interfaces -> auto ens3 -> iface ens3 inet static -> address 10.0.1.17/24 (аналогично для ens4) -> systemctl restart networking; ![](https://i.imgur.com/znukOj8.png) 1.5 ping 10.0.0.12 (Mikrotik); ![](https://i.imgur.com/679UagN.png) 1.6 Настройка на C-R-4; ![](https://i.imgur.com/13SVL2L.png) Ping ближайшего L-R-17 проходит, но Mikrotik не пингуется. Неизвестен маршрут. На Mikrotik то же самое. Наше устройство знает только нашу сеть, оно должно узнать о новой сети. 1.7 Настроим подобное на Mikrotik. ip route -> add gateway=10.0.0.17 dst-address=10.0.1.0/24; ![](https://i.imgur.com/YrflhWM.png) Есть понятие Distance. Если 0 - сеть подключена напрямую, 1 - через 1 устройство. 1.8 Проверяем трафик на e1 L-R-17; ![](https://i.imgur.com/Nf6Cg6Y.png) Трафик проходит, но ответа мы не получаем. 1.9 Проверяем трафик на e0/1 C-R-4; ![](https://i.imgur.com/to2KZ6f.png) Не доходит трафик, это означает, что проблема где-то посередине. 1.10 На Linux Debian. nano /etc/sysctl.conf -> sysctl -p; ![](https://i.imgur.com/uStlPT0.png) ![](https://i.imgur.com/dgKZqn3.png) 1.11 Проверим ping 10.0.1.4; ![](https://i.imgur.com/1LxBlBk.png) Пакеты прилетают на C-R-4, но не возвращаются. Нет дороги обратно, C-R-4 может не знать 10.0.0.12 1.12 Добавим сеть 10.0.0.0 на C-R-4. И проверим пинг. ip route 10.0.0.0 255.255.255.0 10.0.1.17; ![](https://i.imgur.com/Ae4FheG.png) ![](https://i.imgur.com/llS9ENa.png) На Mikrotik трафик стал идти. > Хост, который отправляет трафик в одну сторону, должен знать куда его отправлять. Хост, который отправляет обратно, тоже должен знать куда его отправлять. > Если настраиваем оборудование, которое не является сетевым, то необходимо проверить, поддерживает ли оно маршрутизацию. > Если на пользовательской машине включена маршрутизация, то это подозрительно. 1.13 Inter Vlan Routing. Заходим в Switch. Далее настройка по стандарту; ![](https://i.imgur.com/BYGNFec.png) Как мы помним трафик с Vlan тегируется. И C-R-4 должен понимать, с какого vlan к нему прилетел трафик. Нужно создать виртуальный интерфейс. 1.14 Переходим в режим конфигурации на C-R-4. Указываем subinterface; ![](https://i.imgur.com/iJccPs1.png) 1.15 Назначим ip на VPC. Пропингуем 8.8.8.8; ![](https://i.imgur.com/vjBCz9Y.png) ![](https://i.imgur.com/1jR4hbK.png) Видим номер Vlan. Аналогично для остальных VPC. 1.16 Пропингуем соседнюю VPS; ![](https://i.imgur.com/iAXyV7g.png) Трафик полетел к C-R-4. Там маршрутизировался. Inter Vlan Routing - когда мы видим 2 одинаковых пакета. 1.17 Пропингуем L-R-17. ping 10.0.1.17; ![](https://i.imgur.com/EyGPuEk.png) На самом деле пакет доходит, но L-R-17 не знает кому отвечать. 1.18 Пропишем маршрут на L-R-17. Пропингуем теперь. ip route 192.168.0.0/16 via 10.0.1.17; ![](https://i.imgur.com/hfztV7b.png) Работает. Мы прописали маршрутизацию сети 192.168.0.0 через 10.0.1.17. Пакет будет доходить до C-R-4, а там маршрут к нему известен. 1.19 Пингуем M-R-12; ![](https://i.imgur.com/sTtcd9G.png) ![](https://i.imgur.com/5gUx16a.png) ICMP пакеты доходят. Но обратно нет. 1.20 M-R-12 знает только такие маршруты; ![](https://i.imgur.com/Ea9ooON.png) 1.21 Добавим настройку. Пропингуем. ip route -> add dst-address=0.0.0.0/0 gateway=10.0.0.17; ![](https://i.imgur.com/IwYvUhD.png) M-R-12 ответил, но 10.0.0.17 ответил, что не знает куда отправить (так как при добавлении ip ... via 10.0.1.17 сразу удалили). ![](https://i.imgur.com/0mSRsZ6.png) ![](https://i.imgur.com/XOUglWP.png) Теперь все приходит и уходит, как надо. > Если какой-либо из узлов не будет знать куда идти, невозможно будет передать трафик. Но не обязательно знать, что находится между, то есть по пути следования трафика. Например, если M-R-12 будет знать только 10.0.0.17, то пакет все равно дойдет до 192.168.10.1 в нашем случае. Также можем посмотреть трассировку; ![](https://i.imgur.com/ZEN0IzC.png) ### Часть 2. Настройка динамической маршрутизации OSPF Для OSPF достаточно сконфигурировать интерфейсы и инстансы и поделиться своими маршрутами. 1.1 Настроили адреса на M-R-7 статически на каждый интерфейс; ![](https://i.imgur.com/KDBGov4.png) Аналогично настраиваем всю сетку OSPF. 1.2 Мы настроили сетку OSPF. Теперь посмотрим, что принимает M-R-7 на ether4; ![](https://i.imgur.com/wCecaG1.png) ![](https://i.imgur.com/Sbw2yHf.png) ping 11.0.6.7 с C-R-5 не дошел до M-R-7. 1.3 Начнем настройку OSPF на M-R-7; ![](https://i.imgur.com/p5R5zSi.png) instance - это конфигурация процесса, который заупскается на роутере, для тог чтобы запустить процесс ospf. 1.4 Настроили instance в положение as-type-1. Далее настраиваем network; ![](https://i.imgur.com/uBQCzkT.png) ![](https://i.imgur.com/dnm1VVf.png) Теперь наш instance знает с кем обмениваться информацией. 1.5 Аналогично проводим настройку для остальных сетевых устройств. Обмен маршрутами осуществляется при "redistribute connected". Также посмотрим какие маршруты знает роутер; ![](https://i.imgur.com/9W4YWsa.png) ![](https://i.imgur.com/RxcMX78.png) 1.6 Наш C-R-3 увидел маршруты M-R-7; ![](https://i.imgur.com/nZf0i5f.png) 1.7 Трассировка C-R-5 до M-R-7; ![](https://i.imgur.com/Al5DdB2.png) 1.8 Теперь отключаем M-R-8, через который шла трассировка. Он нашел другой маршрут; ![](https://i.imgur.com/GvLSl1d.png) ### Часть 3. Настройка динамической маршрутизации BGP IGP - Внутренний протокол, позволяет смотреть маршруты соседей, то есть соседний маршрутизатор может делиться с вами маршрутами, полученными не по протоколу BGP. В случае стандартной настройке соседний маршрутизатор делиться не будет. Эта система нужна, чтобы не плодить лишние маршруты. EGP - Внешний протокол. Когда маршрутизатор имитирует пограничный маршрутизатор. AS - Автономная систем. Маршруты передаются не полными маршрутами, а делится автономными системами. Знает связку систем и отправляет вас туда. 1.1 Включим устройства в зоне BGP. Начнем настройку. Выставим адреса в соответствии со скриншотом; ![](https://i.imgur.com/lJqDSFy.png) 1.2 Далее настроиваем связку. C-R-2 -> router bgp 100 -> neighbor 12.0.5.7 remote-as 100 -> neighbor 12.0.2.9 remote-as 100 -> neighbor 12.0.1.6 remote-as 100 -> redistribute connected; ![](https://i.imgur.com/Ox3ZD0L.png) То с кем взаимодействует, чем делится с системой. 1.3 То же самое проделаем с C-R-6. А на C-R-2 появились новые маршруты; ![](https://i.imgur.com/1n6ruus.png) 1.4 Конфигурирование на M-R-11; ![](https://i.imgur.com/nNz0aHB.png) Сообщение о новом соседе. ![](https://i.imgur.com/wwc4NpM.png) 1.5 M-R-7 -> ip route print; ![](https://i.imgur.com/liczmKO.png) ### Пинг 1) M-R-12 и L-R-15: ![](https://i.imgur.com/6t7vBaF.png) 2) M-R-10 и M-R-12: ![](https://i.imgur.com/cHSw4wJ.png) 3) M-R-10 и L-R-15: ![](https://i.imgur.com/pHlFblE.png) 4) C-R-6 и M-R-10: ![](https://i.imgur.com/0Rz2qiL.png) 5) C-R-6 и M-R-12: ![](https://i.imgur.com/9SKyqEG.png) 6) C-R-6 и L-R-15: ![](https://i.imgur.com/xUx6ZiK.png) ### Конфигурация 1) Из Static: ![](https://i.imgur.com/y1q9Cob.png) 2) Из OSPF: ![](https://i.imgur.com/napSXnb.png) 3) Из BGP: ![](https://i.imgur.com/w1vzcKi.png) ### Атаки **OSPF** На Fake Router выставляем на двух интерфейсах адреса. 11.0.4.250/24 и 8.8.8.9/24. С этого роутера мы можем отпраавить OSPF на наши пакеты. Можем спреить маршруты, и эти маршруты будут сюда прилетать; ![](https://i.imgur.com/5QFQgYi.png) ![](https://i.imgur.com/7aef03g.png) ![](https://i.imgur.com/bpGKsKL.png) Выхода в интернет у нас нет, а мы можем спреить необходимые нам данные. **BGP** Суть атаки, при анонсировании маршрутов внешним узлам атрибут next-hop представлял бы локальный ip-адрес. Когда такой атрибут в маршрутах, полученных от внешних узлов как на скриншоте, сохраняется, внутренним узлам требуется IP адрес внешнего узла. ![](https://i.imgur.com/nkbwQEy.png) Опция Next-hop-self устраняет необходимость анонсировать внешнюю подсеть в IGP. Как раз в нашем случае без дополнительной настройки сеть 12.0.4.0/24 была недоступно. Встроились туда, настроили next-hop-self. ![](https://i.imgur.com/1IwYhY2.png) Как видите адрес можно писать любой.