# Networks. Практическая работа №3
## 3.1 Настройка статической маршрутизации
Необходимая топология сети

Для настройки домена статической маршрутизации нам необходимо обеспечит прохождение трафика до сетей 11.0.1.0/24, 11.0.2.0/24, 11.0.3.0/24, 11.0.4.0/24, 11.0.5.0/24, 11.0.6.0/24 в домене маршрутизации OSPF, до сетей 12.0.1.0/24, 12.0.2.0/24, 12.0.3.0/24, 12.0.4.0/24, 12.0.5.0/24, 12.0.6.0/24 в домене маршрутизации BGP, стыковочных сетей 13.0.1.0/24, 13.0.2.0/24, остальных публичных сетей, а также маршрутизации внутри собственного домена.
Внутри домена статической маршрутизации необходимо настроить следующие роутеры:
* M-R-12 (подключенные сети 10.0.0.0/24)
* L-R-27 (10.0.0.0/24, 10.0.1.0/24)
* C-R-4 (10.0.1.0/24, 10.0.2.0/24, 10.0.3.0/24)
* L-R-14 (10.0.4.0/24, 10.0.5.0/24)
* L-R-15 (10.0.5.0/24)
Укажем дефолтные гейтвеи для роутеров:
* M-R-12 (L-R-17 сеть 10.0.0.0/24)
* L-R-27 (C-R-4 сеть 10.0.1.0/24)
* C-R-4 (L-R-16 сеть 10.0.2.0/24)
* L-R-14 (L-R-16 сеть 10.0.4.0/24)
* L-R-15 (L-R-14 сеть 10.0.5.0/24)
Определим адресацию роутеров, так как все сети у нас имееют маску 24 будем использовать адреса 1 и 254. Если роутер для стети является дефолт гейтвеем то ему назначается адрес 1 в противном случае 254. Таким образом получим следующую конфигурацию:
* M-R-12 (10.0.0.254)
* L-R-27 (10.0.0.1, 10.0.1.254)
* C-R-4 (10.0.1.1б 10.0.2.254, 10.0.3.1)
* L-R-14 (10.0.4.254, 10.0.5.1)
* L-R-15 (10.0.5.254)
* L-R-16 (10.0.2.1, 10.0.4.1, 13.0.1.254)
Настроим роутер M-R-12. Это Mikrotik. Установим адрес на интерфейсе и дефолт роут:
```bash=
system identity set name=M-R-12
ip address add address=10.0.0.254 netmask=255.255.255.0 interface=ether1
ip route add gateway= 10.0.0.1
```

Проверим настройки

Далее настроим роутер L-R-17, это Linux:
```bash=
ip address
ip address add 10.0.0.1/24 dev ens4
ip address add 10.0.1.254/24 dev ens3
ip link set ens3 up
ip link set ens4 up
ip route add default via 10.0.1.1
ip address
ip route
```

Установим параметр net.ipv4.ip_forward=1 в файле /etc/sysctl.conf

Применим изменения командой
```bash=
sysctl -p /etc/sysctl.conf
```
Результат

Теперь настроим роутер C-R-4. Это cisco, порт e0/2 транковый, vlan 10, 20, 30:
```bash=
enable
configure terminal
interface e0/1
ip address 10.0.1.1 255.255.255.0
no shutdown
do write
interface e0/0
ip address 10.0.2.254 255.255.255.0
no shutdown
do write
interface e0/2
ip address 10.0.3.1 255.255.255.0
no shutdown
do write
interface e0/2.10
encapsulation dot1q 10
ip address 192.168.10.1 255.255.255.0
do write
interface e0/2.20
encapsulation dot1q 20
ip address 192.168.20.1 255.255.255.0
do write
interface e0/2.30
encapsulation dot1q 30
ip address 192.168.30.1 255.255.255.0
do write
exit
ip route 0.0.0.0 0.0.0.0 10.0.2.1
ip route 10.0.0.0 255.255.255.0 10.0.1.254
do write
```

Проверим роут
```bash=
show ip route
```

Настроим Switch
```bash=
interface e0/1
switchport mode access
switchport access vlan 30
do write
interface e0/2
switchport mode access
switchport access vlan 20
do write
interface e0/3
switchport mode access
switchport access vlan 10
do write
interface e0/0
switchport trunk encapsulation dot1q
switchport mode trunk
do write
```




Настроим роутер L-R-15, это Linux
```bash=
ip address
ip address add 10.0.5.254/24 dev ens3
ip link set ens3 up
ip route add default via 10.0.5.1
ip address
ip route
```
Результат

Установим параметр net.ipv4.ip_forward=1 в файле /etc/sysctl.conf
Применим изменения командой
```bash=
sysctl -p /etc/sysctl.conf
``
Настроим роутер L-R-14, это тоже Linux
```bash=
ip address
ip address add 10.0.4.254/24 dev ens3
ip link set ens3 up
ip address add 10.0.5.1/24 dev ens4
ip link set ens4 up
ip route add default via 10.0.4.1
ip address
ip route
```
Результат

Установим параметр net.ipv4.ip_forward=1 в файле /etc/sysctl.conf
Применим изменения командой
```bash=
sysctl -p /etc/sysctl.conf
``
Настроим роутер L-R-16, и это Linux
```bash=
ip address
ip address add 13.0.1.254/24 dev ens3
ip link set ens3 up
ip address add 10.0.2.1/24 dev ens4
ip link set ens4 up
ip address add 10.0.4.1/24 dev ens5
ip link set ens5 up
ip route add default via 13.0.1.1
ip route add 192.168.10.0/24 via 10.0.2.254
ip route add 192.168.20.0/24 via 10.0.2.254
ip route add 192.168.30.0/24 via 10.0.2.254
ip route add 10.0.0.0/24 via 10.0.2.254
ip route add 10.0.1.0/24 via 10.0.2.254
ip route add 10.0.3.0/24 via 10.0.2.254
ip route add 10.0.5.0/24 via 10.0.4.254
ip address
ip route
```
Результат




Установим параметр net.ipv4.ip_forward=1 в файле /etc/sysctl.conf
Применим изменения командой
```bash=
sysctl -p /etc/sysctl.conf
``
На этом настройка статической маршрутизации закончена.
## 3.2 Настройка OSPF
На каждом из роутеров нам необходимо аносировать сети которые к нему подключены.
Настроим роутер C-R-5
```bash=
enable
configure terminal
interface e0/0
ip address 11.0.3.1 255.255.255.0
no shutdown
do write
interface e0/1
ip address 11.0.4.254 255.255.255.0
no shutdown
do write
exit
router ospf 1
network 11.0.3.0 0.0.0.255 area 0
network 11.0.4.0 0.0.0.255 area 0
do write
exit
show ip route ospf
```

Посмотриv роутинг
```bash=
show ip route ospf
```
Настроим роутер C-R-3
```bash=
enable
configure terminal
interface e0/0
ip address 11.0.5.254 255.255.255.0
no shutdown
do write
interface e0/1
ip address 11.0.1.254 255.255.255.0
no shutdown
do write
interface e0/2
ip address 11.0.2.1 255.255.255.0
no shutdown
do write
exit
ip route 0.0.0.0 0.0.0.0 11.0.5.1
router ospf 1
network 11.0.1.0 0.0.0.255 area 0
network 11.0.2.0 0.0.0.255 area 0
network 11.0.5.0 0.0.0.255 area 0
default-information originate
do write
exit
```
Результат

Настроим роутер M-R-10
```bash=
ip address add address=11.0.1.1 netmask=255.255.255.0 interface=ether1
ip address add address=11.0.4.1 netmask=255.255.255.0 interface=ether2
routing ospf network add network=11.0.1.0/24 area=backbon
routing ospf network add network=11.0.4.0/24 area=backbon
```
Результат

Настроим роутер M-R-8
```bash=
ip address add address=11.0.6.1 netmask=255.255.255.0 interface=ether1
ip address add address=11.0.3.254 netmask=255.255.255.0 interface=ether2
ip address add address=11.0.2.254 netmask=255.255.255.0 interface=ether3
ip route add gateway=11.0.6.1
routing ospf network add network=11.0.6.0/24 area=backbon
routing ospf network add network=11.0.3.0/24 area=backbon
routing ospf network add network=11.0.2.0/24 area=backbon
routing ospf instance add distribute-default=always-as-type-1
```
Результат

Включим Switch-OSPF и посмотрим на роутерах cisco следующей командой роуты OSPF
```bash=
show ip route ospf
```


OSPF работает
## 3.3 Настройка BGP
Настроим iBGP. Для этого назначим адреса роутерам и поднимем интерфейсы:
- C-R-2 - 12.0.1.1, 12.0.2.1, 12.0.5.254
- C-R-6 - 12.0.1.254, 12.0.4.1
- M-R-9 - 12.0.2.254, 12.0.6.254, 12.0.3.1
- M-R-11 - 12.0.3.254, 12.0.4.254
Настроим интерфейсы C-R-2
```bash=
enable
configure terminal
hostname C-R-2
interface range e0/0-2
no shutdown
interface e0/0
ip address 12.0.5.254 255.255.255.0
interface e0/1
ip address 12.0.1.1 255.255.255.0
interface e0/2
ip address 12.0.2.1 255.255.255.0
ip route 0.0.0.0 0.0.0.0 12.0.5.1
do write
```
Результат

Настроим iBGP на C-R-2. Номер нашей AS 100
```bash=
enable
configure terminal
router bgp 100
redistribute static
default-information originate
network 12.0.1.0 mask 255.255.255.0
network 12.0.2.0 mask 255.255.255.0
neighbor 12.0.1.254 remote-as 100
neighbor 12.0.1.254 route-reflector-client
neighbor 12.0.2.254 remote-as 100
neighbor 12.0.1.254 default-originate
do write
```
Результат

Настроим интерфейсы C-R-6
```bash=
enable
configure terminal
hostname C-R-6
interface range e0/0-1
no shutdown
interface e0/0
ip address 12.0.1.254 255.255.255.0
interface e0/1
ip address 12.0.4.1 255.255.255.0
do write
```
Результат

Настроим iBGP на C-R-6. Номер нашей AS 100
```bash=
enable
configure terminal
router bgp 100
network 12.0.1.0 mask 255.255.255.0
network 12.0.4.0 mask 255.255.255.0
neighbor 12.0.1.1 remote-as 100
neighbor 12.0.4.254 remote-as 100
do write
```
Результат

Теперь настроим роутеры на базе Mikrotik
Настройка интерфейсов M-R-9
```bash=
system identity set name=M-R-9
interface bridge add name=loopback0
ip address add interface=ether1 address=12.0.6.254/24 disabled=no
ip address add interface=ether2 address=12.0.2.254/24 disabled=no
ip address add interface=ether3 address=12.0.3.1/24 disabled=no
ip address add interface=loopback0 address=9.9.9.9/32 disabled=no
ip route add gateway=12.0.6.1
```
Результат

```bash=
routing bgp instance set default as=100 router-id=9.9.9.9
routing bgp network add network=12.0.2.0/24
routing bgp network add network=12.0.3.0/24
routing bgp peer add name=cr2 remote-address=12.0.2.1 remote-as=100
routing bgp peer add name=mr11 remote-address=12.0.3.254 remote-as=100 route-reflect=yes
routing bgp instance add redistibute-static=yes as=100
```
Результат

Настройка интерфейсов M-R-11
```bash=
system identity set name=M-R-11
interface bridge add name=loopback0
ip address add interface=ether1 address=12.0.3.254/24 disabled=no
ip address add interface=ether2 address=12.0.4.254/24 disabled=no
ip address add interface=loopback0 address=7.7.7.7/32 disabled=no
```
Результат

```bash=
routing bgp instance set default as=100 router-id=7.7.7.7
routing bgp network add network=12.0.3.0/24
routing bgp network add network=12.0.4.0/24
routing bgp peer add name=mr9 remote-address=12.0.3.1 remote-as=100
routing bgp peer add name=mr11 remote-address=12.0.4.1 remote-as=100
```
Результат

Включим Switch-BGP и посмотрим маршруты на C-R-6

## 3.4 Настроим стыковочные сети
Настроим роутер M-R-7
Настроим его статически не используя сабнеттинг
```bash=
system identity set name=M-R-7
ip address add interface=ether1 address=13.0.2.254/24 disabled=no
ip address add interface=ether2 address=12.0.5.1/24 disabled=no
ip address add interface=ether3 address=12.0.6.1/24 disabled=no
ip address add interface=ether4 address=11.0.6.1/24 disabled=no
ip address add interface=ether5 address=11.0.5.1/24 disabled=no
ip address add interface=ether6 address=13.0.1.1/24 disabled=no
ip route add gateway=13.0.2.1
ip route add dst-address=12.0.1.0/24 gateway=12.0.5.254 distance=1
ip route add dst-address=12.0.2.0/24 gateway=12.0.5.254 distance=1
ip route add dst-address=12.0.3.0/24 gateway=12.0.5.254 distance=1
ip route add dst-address=12.0.4.0/24 gateway=12.0.5.254 distance=1
ip route add dst-address=12.0.1.0/24 gateway=12.0.6.254 distance=2
ip route add dst-address=12.0.2.0/24 gateway=12.0.6.254 distance=2
ip route add dst-address=12.0.3.0/24 gateway=12.0.6.254 distance=2
ip route add dst-address=12.0.4.0/24 gateway=12.0.6.254 distance=2
ip route add dst-address=11.0.1.0/24 gateway=11.0.5.254 distance=1
ip route add dst-address=11.0.2.0/24 gateway=11.0.5.254 distance=1
ip route add dst-address=11.0.3.0/24 gateway=11.0.5.254 distance=1
ip route add dst-address=11.0.4.0/24 gateway=11.0.5.254 distance=1
ip route add dst-address=11.0.1.0/24 gateway=11.0.6.254 distance=2
ip route add dst-address=11.0.2.0/24 gateway=11.0.6.254 distance=2
ip route add dst-address=11.0.3.0/24 gateway=11.0.6.254 distance=2
ip route add dst-address=11.0.4.0/24 gateway=11.0.6.254 distance=2
ip route add dst-address=10.0.0.0/24 gateway=13.0.1.254
ip route add dst-address=10.0.1.0/24 gateway=13.0.1.254
ip route add dst-address=10.0.2.0/24 gateway=13.0.1.254
ip route add dst-address=10.0.3.0/24 gateway=13.0.1.254
ip route add dst-address=10.0.4.0/24 gateway=13.0.1.254
ip route add dst-address=10.0.5.0/24 gateway=13.0.1.254
ip route add dst-address=192.168.10.0/24 gateway=13.0.1.254
ip route add dst-address=192.168.20.0/24 gateway=13.0.1.254
ip route add dst-address=192.168.30.0/24 gateway=13.0.1.254
```
Результат

Проверим нашу связность запустив пинг с устройства M-R-12
```bash=
ip address print
# пинг до M-R-10)
ping 11.0.1.1 count=1
ping 11.0.4.1 count=1
# пинг до C-R-6)
ping 12.0.1.254 count=1
ping 12.0.4.1 count=1
# пинг до L-R-15)
ping 10.0.5.254 count=1
# пинг до сети 13.0.2.0/24
ping 13.0.2.254 count=1
```
Сеть настроена

## 3.4 Атаки на OSPF и BGP
Атака на OSPF
На Fake-router выполним следующие настройки
```bash=
enable
configure terminal
interface e0/0
ip address 11.0.4.225 255.255.255.0
no shutdown
do write
interface e0/1
ip address 8.8.8.9 255.255.255.0
no shutdown
do write
exit
router ospf 1
network 11.0.4.0 0.0.0.255 area 0
redistribute connected
do write
exit
```

На Kali установим адрес 8.8.8.8
```bash=
ip address
ip address add 8.8.8.8/24 dev eth0
ip link set eth0 up
ip route add default via 8.8.8.9
ip address
ip route
```

Теперь посмотрим например на роутере C-R-3 маршруты.
```bash=
show ip route ospf
```
Маршрут навязан
