###### 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 Выставили сетевое оборудование (лабораторный стенд), в соответствии с методичкой;

1.2 Подключим VPS к статической сети через Switch для дальнейших действий. Они будут иметь разные Vlan-ы. Задача - проверить их взаимодействие.
Inter Vlan Routing.
* Traditional: Маршрутизация происходит внутри данной зоны Switch и не выходит наружу.
* Router-on-a Stick: Маршрутизация происходит на Router подключенном к Switch.
* Multilayer Switch: Switch уровня L3.

1.3 Настроим ip адресацию на Mikrotik.
ip address -> add address=10.0.0.12/24 interface=ether1;


Настройка на 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;

1.5 ping 10.0.0.12 (Mikrotik);

1.6 Настройка на C-R-4;

Ping ближайшего L-R-17 проходит, но Mikrotik не пингуется. Неизвестен маршрут. На Mikrotik то же самое.
Наше устройство знает только нашу сеть, оно должно узнать о новой сети.
1.7 Настроим подобное на Mikrotik.
ip route -> add gateway=10.0.0.17 dst-address=10.0.1.0/24;

Есть понятие Distance. Если 0 - сеть подключена напрямую, 1 - через 1 устройство.
1.8 Проверяем трафик на e1 L-R-17;

Трафик проходит, но ответа мы не получаем.
1.9 Проверяем трафик на e0/1 C-R-4;

Не доходит трафик, это означает, что проблема где-то посередине.
1.10 На Linux Debian.
nano /etc/sysctl.conf -> sysctl -p;


1.11 Проверим ping 10.0.1.4;

Пакеты прилетают на 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;


На Mikrotik трафик стал идти.
> Хост, который отправляет трафик в одну сторону, должен знать куда его отправлять. Хост, который отправляет обратно, тоже должен знать куда его отправлять.
> Если настраиваем оборудование, которое не является сетевым, то необходимо проверить, поддерживает ли оно маршрутизацию.
> Если на пользовательской машине включена маршрутизация, то это подозрительно.
1.13 Inter Vlan Routing. Заходим в Switch. Далее настройка по стандарту;

Как мы помним трафик с Vlan тегируется. И C-R-4 должен понимать, с какого vlan к нему прилетел трафик. Нужно создать виртуальный интерфейс.
1.14 Переходим в режим конфигурации на C-R-4. Указываем subinterface;

1.15 Назначим ip на VPC. Пропингуем 8.8.8.8;


Видим номер Vlan. Аналогично для остальных VPC.
1.16 Пропингуем соседнюю VPS;

Трафик полетел к C-R-4. Там маршрутизировался. Inter Vlan Routing - когда мы видим 2 одинаковых пакета.
1.17 Пропингуем L-R-17.
ping 10.0.1.17;

На самом деле пакет доходит, но L-R-17 не знает кому отвечать.
1.18 Пропишем маршрут на L-R-17. Пропингуем теперь.
ip route 192.168.0.0/16 via 10.0.1.17;

Работает. Мы прописали маршрутизацию сети 192.168.0.0 через 10.0.1.17. Пакет будет доходить до C-R-4, а там маршрут к нему известен.
1.19 Пингуем M-R-12;


ICMP пакеты доходят. Но обратно нет.
1.20 M-R-12 знает только такие маршруты;

1.21 Добавим настройку. Пропингуем.
ip route -> add dst-address=0.0.0.0/0 gateway=10.0.0.17;

M-R-12 ответил, но 10.0.0.17 ответил, что не знает куда отправить (так как при добавлении ip ... via 10.0.1.17 сразу удалили).


Теперь все приходит и уходит, как надо.
> Если какой-либо из узлов не будет знать куда идти, невозможно будет передать трафик. Но не обязательно знать, что находится между, то есть по пути следования трафика. Например, если M-R-12 будет знать только 10.0.0.17, то пакет все равно дойдет до 192.168.10.1 в нашем случае.
Также можем посмотреть трассировку;

### Часть 2. Настройка динамической маршрутизации OSPF
Для OSPF достаточно сконфигурировать интерфейсы и инстансы и поделиться своими маршрутами.
1.1 Настроили адреса на M-R-7 статически на каждый интерфейс;

Аналогично настраиваем всю сетку OSPF.
1.2 Мы настроили сетку OSPF. Теперь посмотрим, что принимает M-R-7 на ether4;


ping 11.0.6.7 с C-R-5 не дошел до M-R-7.
1.3 Начнем настройку OSPF на M-R-7;

instance - это конфигурация процесса, который заупскается на роутере, для тог чтобы запустить процесс ospf.
1.4 Настроили instance в положение as-type-1. Далее настраиваем network;


Теперь наш instance знает с кем обмениваться информацией.
1.5 Аналогично проводим настройку для остальных сетевых устройств. Обмен маршрутами осуществляется при "redistribute connected". Также посмотрим какие маршруты знает роутер;


1.6 Наш C-R-3 увидел маршруты M-R-7;

1.7 Трассировка C-R-5 до M-R-7;

1.8 Теперь отключаем M-R-8, через который шла трассировка. Он нашел другой маршрут;

### Часть 3. Настройка динамической маршрутизации BGP
IGP - Внутренний протокол, позволяет смотреть маршруты соседей, то есть соседний маршрутизатор может делиться с вами маршрутами, полученными не по протоколу BGP. В случае стандартной настройке соседний маршрутизатор делиться не будет. Эта система нужна, чтобы не плодить лишние маршруты.
EGP - Внешний протокол. Когда маршрутизатор имитирует пограничный маршрутизатор.
AS - Автономная систем. Маршруты передаются не полными маршрутами, а делится автономными системами. Знает связку систем и отправляет вас туда.
1.1 Включим устройства в зоне BGP. Начнем настройку.
Выставим адреса в соответствии со скриншотом;

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;

То с кем взаимодействует, чем делится с системой.
1.3 То же самое проделаем с C-R-6. А на C-R-2 появились новые маршруты;

1.4 Конфигурирование на M-R-11;

Сообщение о новом соседе.

1.5 M-R-7 -> ip route print;

### Пинг
1) M-R-12 и L-R-15:

2) M-R-10 и M-R-12:

3) M-R-10 и L-R-15:

4) C-R-6 и M-R-10:

5) C-R-6 и M-R-12:

6) C-R-6 и L-R-15:

### Конфигурация
1) Из Static:

2) Из OSPF:

3) Из BGP:

### Атаки
**OSPF**
На Fake Router выставляем на двух интерфейсах адреса. 11.0.4.250/24 и 8.8.8.9/24.
С этого роутера мы можем отпраавить OSPF на наши пакеты. Можем спреить маршруты, и эти маршруты будут сюда прилетать;



Выхода в интернет у нас нет, а мы можем спреить необходимые нам данные.
**BGP**
Суть атаки, при анонсировании маршрутов внешним узлам атрибут next-hop представлял бы локальный ip-адрес. Когда такой атрибут в маршрутах, полученных от внешних узлов как на скриншоте, сохраняется, внутренним узлам требуется IP адрес внешнего узла.

Опция Next-hop-self устраняет необходимость анонсировать внешнюю подсеть в IGP.
Как раз в нашем случае без дополнительной настройки сеть 12.0.4.0/24 была недоступно. Встроились туда, настроили next-hop-self.

Как видите адрес можно писать любой.