# Динамическая маршрутизация
**RIP**
RIP транслирует обновления маршрутизации каждые 30 секунд, независимо от того, изменилось что-то в сети или нет. По истечении 30 секунд маршрутизаторы, работающие по протоколу RIP, будут транслировать информацию о своей маршрутизации на любые устройства, подключенные к их интерфейсам
Настройка RIP
Роутер RIP5:
Router>en
Router#conf t
Router(config)#router rip
Router(config-router)#version 2
Router(config-router)#network 192.168.16.0
Router(config-router)#network 192.168.10.0
Router(config-router)#network 192.168.17.0
router rip - переход в режим конфигурации протокола.
version 2 - включение 2 версию протокола RIP.
network ip - анонсирование сети. Следует указать все сети, с которыми у роутера есть соседство.
Аналогично для остальных роутеров в зоне RIP.
Мы можем вывести все маршруты на роутере командой show ip route. Для вывода маршрутов, которые пришли с помощью протокола RIP воспользуемся командой show ip route rip.
**OSPF**
https://ru.wikipedia.org/wiki/OSPF
Принцип работы заключается в следующем: После включения маршрутизаторов протокол ищет непосредственно подключенных соседей и устанавливает с ними «дружеские» отношения. Затем они обмениваются друг с другом информацией о подключенных и доступных им сетях. То есть они строят карту сети (топологию сети).
Настройка OSPF
Роутер OSPF34
Router>en
Router#conf t
Router(config)#router ospf 1
Router(config-router)#network 172.16.0.0 0.0.255.255 area 0
router ospf id - запуск и переход в режим конфигурации OSPF. Последнее число — это PID процесса, может отличаться на разных роутерах, но исключительно для удобства лучше задавать одно и то же число.
network ip wildcard-mask area area-id - анонсирование непосредственно присоединенной сети к маршрутизатору. wildcard mask — маска, которая указывает с помощью 0 какая часть из указанной сети должна совпадать, а с помощью 1 какая часть сети может быть произвольной. area-id — идентификатор зоны, в которой будет работать интерфейс маршрутизатора.
Примечание! В отличие от протокола RIP с помощью wildcard маски можно указать, какая часть сети может быть произвольной. Одной командой network 172.16.0.0 0.0.255.255 можно сразу добавить сети 172.16.3.0, 172.16.9.0, 172.16.10.0, 172.16.17.0 в анонс.
Аналогично для остальных роутеров в зоне RIP.
Для вывода маршрутов, которые пришли с помощью протокола OSPF воспользуемся командой show ip route ospf.
**IBGP**
https://habr.com/ru/post/450814/
https://www.opennet.ru/docs/RUS/bgp_rus/
Для установления соседства необходимо выполнения следующих условий:
Номер версии. Нынешняя версия 4.
Номер AS должен совпадать с тем, что вы настроили neighbor 192.168.13.3 remote-as 10.
Router ID должен быть отличным от соседа.
Правила
1. Если маршрутизатор передает маршрут своему внутреннему соседу, то он не меняет параметр Next-hop.
2. Если маршрутизатор передает маршрут своему внешнему соседу, то меняет Next-hop на ip интерфейса, с
которого передает данный маршрутизатор.
команда: neighbor 192.168.56.5 next-hop-self
3. Маршруты, полученные от внутренних соседей не передаются другим внутренним соседям.
Команда: neighbor 192.168.57.7 route-reflector-client
4. Правило next-hop работает только для External маршрутов. Для внутренних маршрутов замена атрибута next-hop не происходит.
5. Маршрутизатор передает только те маршруты, которые использует сам.
6.
Присваивание веса соседу
neighbor 192.168.107.7 weight 200
# **Занятие 11 – Статическая и Динамическая маршрутизация: RIP, OSPF, BGP.**
RIP
Команда Описание
C-R1(config)#router rip конфигурируем RIP
C-R1(config-router)#version 2
C-R1(config-router)#no auto-summary отключить автосуммирование маршрутов (суммаризация сетей). не обязательный параметр
C-R1(config-router)#network 10.0.0.0
C-R1(config-router)#redistribute ospf 1 metric 1 перераспределение маршрутов из ospf в RIP. Без указания метрики не будет работать.
Команда Описание
[admin@MikroTik] > system identity set name=M-R11
[admin@M-R11] > routing rip set redistribute-connected=yes Делимся в протоколе рип информацией о connected сетях
[admin@M-R11] > routing rip network add network=10.0.0.0/8
По умолчанию в mkrt версия RIP – v2
OSPF Cisco
Команда Описание
C-R4(config)#interface loopback 0 создание виртуального интерфейса
C-R4(config-if)#ip address 127.0.0.4 255.255.255.255
C-R4(config)#router ospf 1 настройка OSPF
C-R4(config-router)#network 11.0.5.0 0.0.0.255 area 0
C-R4(config-router)#network 11.0.6.0 0.0.0.255 area 0
C-R4(config-router)#network 11.0.8.0 0.0.0.255 area 0
C-R4(config-router)#redistribute connected – отдавать информацию о непосредственно подключенных сетях через протокол маршрутизации
C-R4(config-router)#redistribute rip – аналогично, но отдавать маршруты RIP
OSPF Cisco
Команда Описание
Настройка интерфейсов
[admin@MikroTik] > system identity set name=M-R16
[admin@M-R16] > ip address add address=11.0.6.16/24 interface=ether3
[admin@M-R16] > ip address add address=11.0.7.16/24 interface=ether4
[admin@M-R16] > ip address add address=11.0.3.16/24 interface=ether2
[admin@M-R16] > ip address add address=11.0.4.16/24 interface=ether1
Настройка OSPF
[admin@M-R13] > interface bridge add name=loopback
[admin@M-R13] > ip address add address=127.0.0.13/32 interface=loopback
[admin@M-R13] > routing ospf instance set 0 router-id=127.0.0.13
[admin@M-R13] > routing ospf instance add name=default
[admin@M-R13] > routing ospf network add network=13.3.0.0/24 area=backbone – укажем сеть, через которую роутеры “дружат”
[admin@M-R13] > routing ospf neighbor print
[admin@M-R13] > routing ospf instance print
[admin@M-R13] > routing ospf instance set redistribute-connected=as-type-1
numbers: default какой инстанс изменяем
BGP
Cisco eBGP
C-R8(config)#router bgp 100
C-R8(config-router)#neighbor 14.3.0.9 remote-as 400
C-R8(config-router)#neighbor 14.2.0.13 remote-as 300
C-R8(config-router)#neighbor 14.1.0.12 remote-as 200
C-R8(config-router)#neighbor 14.3.0.9 default-originate распространяем шлюз последней надежды клиентам
C-R8(config-router)#neighbor 14.2.0.13 default-originate
C-R8(config-router)#neighbor 14.1.0.12 default-originate
C-R8(config-router)#network 14.1.0.0 mask 255.255.255.0
C-R8(config-router)#network 14.2.0.0 mask 255.255.255.0
C-R8(config-router)#network 14.3.0.0 mask 255.255.255.0
Mikrotik BGP
[admin@M-R15] > interface bridge add name=loopback
[admin@M-R15] > ip address add address=10.255.255.15/32 interface=loopback
[admin@M-R15] > routing bgp instance set default as=400 redistribute-static=yes redistribute-connected=yes router-id=10.255.255.15
[admin@M-R15] > routing bgp instance print
[admin@M-R15] > routing bgp peer add remote-address=12.0.3.6 remote-as=400
[admin@M-R15] > routing bgp peer print
Команда Описание
Cisco iBGP
C-R9(config)#int loopback0 Создаём интерфейсы loopback
C-R9(config-if)#ip address 10.255.255.9 255.255.255.255
Для обмена собственными маршрутами конфигурируем OSPF
C-R9(config)#router ospf 1
C-R9(config-router)#network 10.255.255.9 0.0.0.0 area 0
C-R9(config-router)#network 12.0.0.0 0.0.255.255 area 0
C-R9(config-router)#network 14.3.0.0 0.0.0.255 area 0
C-R9(config-router)#network 13.2.0.0 0.0.0.255 area 0
C-R9#show ip route ospf
Настроим iBGP
C-R9(config)#router bgp 400
C-R9(config-router)#network 12.0.0.0 mask 255.255.0.0
C-R9(config-router)#neighbor 10.255.255.6 remote-as 400
C-R9(config-router)#neighbor 10.255.255.6 update-source loopback0
C-R9(config-router)#neighbor 10.255.255.7 remote-as 400
C-R9(config-router)#neighbor 10.255.255.7 update-source loopback0
C-R9(config-router)#neighbor 10.255.255.14 remote-as 400
C-R9(config-router)#neighbor 10.255.255.14 update-source loopback0
C-R9(config-router)#neighbor 10.255.255.15 remote-as 400
C-R9(config-router)#neighbor 10.255.255.15 update-source loopback0
C-R9#show ip bgp summary
Доп команды
C-R(config-router)# neighbor <ip-address | peer-group-name> password < string> – аутентификация
# **Лабораторная работа**
# RIP
*Настроим роутер С-R-3*
en
conf t
hostname C-R3
int range e0/0-3
no shutdown
int e0/0
ip addr 10.0.1.3 255.255.255.0
int e0/1
ip addr 13.3.0.3 255.255.255.0
int e0/2
ip addr 10.0.4.3 255.255.255.0
int e0/3
ip addr 10.0.5.3 255.255.255.0
exit
router rip
version 2
network 10.0.5.0
network 10.0.4.0
network 10.0.1.0
no auto-summary
redistribute connected
do wr

Настраиваем связь между RIP и OSPF на C-R3.
C-R3>en
C-R3#conf t
C-R3(config)#router ospf 1
С-R3(config-router)#network 13.3.0.0 255.255.255.0 area 0
С-R3(config-router)#redistribute rip metric 1
C-R3(config-router)#router rip
C-R3(config-router)#redistribute ospf 1 metric 1
C-R3(config-router)#no auto-summary
C-R3(config-router)#do wr
C-R3(config-router)#do show ip route
*С-R-2*
en
conf t
hostname C-R-2
int range e0/0-2
no shutdown
int e0/0
ip addr 10.0.6.2 255.255.255.0
int e0/1
ip addr 10.0.5.2 255.255.255.0
int e0/2
ip addr 10.0.8.2 255.255.255.0
exit
router rip
version 2
network 10.0.8.0
network 10.0.6.0
network 10.0.5.0
no auto-summary
redistribute connected
do wr
*C-R-1*
en
conf t
hostname C-R-1
int range e0/0-2
no shutdown
int e0/0
ip addr 10.0.7.1 255.255.255.0
int e0/1
ip addr 10.0.2.1 255.255.255.0
int e0/2
ip addr 10.0.8.1 255.255.255.0
exit
router rip
version 2
network 10.0.8.0
network 10.0.7.0
network 10.0.2.0
no auto-summary
redistribute connected
do wr
*M-R11*
[admin@M-R11] > system identity set name=M-R11
[admin@M-R11] >> ip address add interface=ether1 address=10.0.3.11/24
[admin@M-R11] >> ip address add interface=ether2 address=10.0.4.11/24
[admin@M-R11] >> ip address add interface=ether3 address=10.0.7.11/24
[admin@M-R11] >> ip address add interface=ether4 address=10.0.6.11/24
[admin@M-R11] >> routing rip
[admin@M-R11] /routing rip>> network add network=10.0.3.0/24
[admin@M-R11] /routing rip>> network add network=10.0.4.0/24
[admin@M-R11] /routing rip>> network add network=10.0.6.0/24
[admin@M-R11] /routing rip>> network add network=10.0.7.0/24
[admin@M-R11] /routing rip>> set redistribute-connected=yes
[admin@M-R11] /routing rip>>
*M-R12*
system identity set name=M-R12
ip address add interface=ether1 address=13.1.0.12/24
ip address add interface=ether2 address=10.0.1.12/24
ip address add interface=ether3 address=10.0.3.12/24
ip address add interface=ether4 address=14.1.0.12/24
ip address add interface=ether5 address=10.0.2.12/24
routing rip
network add network=10.0.1.0/24
network add network=10.0.2.0/24
network add network=10.0.3.0/24
set redistribute-connected=yes
routing bgp peer
add name=c-r6 remote-address=13.1.0.6 remote-as=400 route-reflect=yes
add name=loopback0
ip address
add interface=loopback0 address=10.255.255.12/32 disabled=no
routing bgp instance
set default as=200 router-id=10.255.255.12
routing bgp network
add network=13.1.0.0/24
print
# OSPF
*C-R-4*
en
conf t
hostname C-R-4
int range e0/0-2
no shutdown
int e0/0
ip addr 11.0.6.4 255.255.255.0
int e0/1
ip addr 11.0.5.4 255.255.255.0
int e0/2
ip addr 11.0.8.4 255.255.255.0
router ospf 1
network 11.0.5.0 255.255.255.0 area 0
network 11.0.6.0 255.255.255.0 area 0
network 11.0.8.0 255.255.255.0 area 0
redistribute connected
do wr
*C-R-5*
en
conf t
hostname C-R-5
int range e0/0-2
no shutdown
int e0/0
ip addr 11.0.7.5 255.255.255.0
int e0/1
ip addr 11.0.2.5 255.255.255.0
int e0/2
ip addr 11.0.8.5 255.255.255.0
router ospf 1
network 11.0.7.0 255.255.255.0 area 0
network 11.0.2.0 255.255.255.0 area 0
network 11.0.8.0 255.255.255.0 area 0
redistribute connected
do wr
*C-R-10*
en
conf t
hostname C-R-10
int range e0/0-3
no shutdown
int e0/0
ip addr 13.2.0.10 255.255.255.0
int e0/1
ip addr 11.0.1.10 255.255.255.0
int e0/2
ip addr 11.0.3.10 255.255.255.0
int e0/3
ip addr 11.0.2.10 255.255.255.0
router ospf 1
network 11.0.1.0 255.255.255.0 area 0
network 11.0.2.0 255.255.255.0 area 0
network 11.0.3.0 255.255.255.0 area 0
network 13.2.0.0 0.0.0.255 area 0
redistribute connected
router bgp 300
redistribute connected
network 13.2.0.0
neighbor 13.2.0.9 remote-as 400
do wr
*M-R13*
system identity set name=M-R13
ip address
add interface=ether1 address=13.3.0.13/24
add interface=ether2 address=11.0.1.13/24
add interface=ether3 address=11.0.4.13/24
add interface=ether4 address=14.2.0.13/24
add interface=ether5 address=11.0.5.13/24
print
/
interface bridge add name=loopback
ip address add address=127.0.0.13/32 255.255.255.255
ip address add address=127.0.0.13/32 interface=loopback
routing ospf instance set 0 router-id=127.0.0.13
routing ospf instance set 0 redistribute-connected=as-type-1
routing ospf network add network=13.3.0.0/24 area=backbone
routing ospf network
add network=11.0.5.0/24 area=backbone
add network=11.0.4.0/24 area=backbone
add network=11.0.1.0/24 area=backbone
routing ospf neighbor print
routing bgp peer
add name=main-router remote-address=14.2.0.8 remote-as=100
*M-R16*
system identity set name=M-R16
ip address
add interface=ether1 address=11.0.4.16/24
add interface=ether2 address=11.0.3.16/24
add interface=ether3 address=11.0.6.16/24
add interface=ether4 address=11.0.7.16/24
print
/
routing ospf instance set 0 redistribute-connected=as-type-1
routing ospf network
add network=11.0.3.0/24 area=backbone
add network=11.0.4.0/24 area=backbone
add network=11.0.6.0/24 area=backbone
add network=11.0.7.0/24 area=backbone
routing ospf neighbor print
# **BGP**
**iBGP**
* команда Traceroute Mikrotik
tool traceroute address=
*M-R14*
system identity set name=M-R14
ip address
add interface=ether1 address=12.0.4.14/24 disabled=no
add interface=ether2 address=12.0.5.14/24 disabled=no
print
/
routing bgp network
add network=12.0.4.0/24
add network=12.0.5.0/24
/
routing bgp instance
add as=400 name=BGP400 redistribute-connected=yes router-id=12.0.4.14
/
routing bgp peer
set name=peer1 remote-address=12.0.4.7 remote-as=400 instance=BGP400 route-reflect=yes
set name=peer2 remote-address=12.0.5.15 remote-as=400 instance=BGP400 route-reflect=yes
/
ip dhcp-client remove numbers=0
export
- Лишнее
- routing bgp peer
add name=peer1 remote-address=12.0.4.7 remote-as=400 route-reflect=yes
add name=peer2 remote-address=12.0.5.15 remote-as=400 route-reflect=yes
- interface bridge
add name=loopback0
/
ip address
add interface=loopback0 address=10.255.255.14/32 disabled=no
/
routing bgp instance
set default as=400 router-id=10.255.255.14
*M-R15*
system identity set name=M-R15
ip address
add interface=ether1 address=12.0.3.15/24 disabled=no
add interface=ether2 address=12.0.5.15/24 disabled=no
add interface=ether3 address=12.0.6.15/24 disabled=no
/
routing bgp instance
add as=400 name=BGP400 redistribute-connected=yes router-id=12.0.3.15
/
routing bgp network
add network=12.0.3.0/24
add network=12.0.5.0/24
add network=12.0.6.0/24
/
routing bgp peer
add name=peer1 remote-address=12.0.3.9 remote-as=400
add name=peer2 remote-address=12.0.5.14 remote-as=400
add name=peer3 remote-address=12.0.6.7 remote-as=400
set name=peer1 remote-address=12.0.3.9 remote-as=400 instance=BGP400 route-reflect=yes
set name=peer2 remote-address=12.0.5.14 remote-as=400 instance=BGP400 route-reflect=yes
set name=peer3 remote-address=12.0.6.7 remote-as=400 instance=BGP400 route-reflect=yes
/
export
ip dhcp-client remove numbers=0
- Это лишнее
- print
interface bridge
add name=loopback0
/
ip address
add interface=loopback0 address=10.255.255.15/32 disabled=no
- set default as=400 router-id=10.255.255.15

*C-R6*
en
conf t
hostname C-R6
interface e0/0
ip address 13.1.0.6 255.255.255.0
interface e0/1
ip address 12.0.1.6 255.255.255.0
interface e0/2
ip address 12.0.2.6 255.255.255.0
int range e0/0-2
no shutdown
do wr
router bgp 400
network 12.0.1.0 mask 255.255.255.0
network 12.0.2.0 mask 255.255.255.0
network 13.1.0.0 mask 255.255.255.0
neighbor 13.1.0.12 remote-as 200
redistribute connected
neighbor 12.0.1.9 remote-as 400
neighbor 12.0.2.7 remote-as 400
neighbor 12.0.2.7 route-reflector-client
neighbor 12.0.1.9 route-reflector-client
do wr
exit
router rip
redistribute connected
network 13.1.0.0
do wr
do sh bgp summary
- лишнее
- int loopback0
- ip address 10.255.255.6 255.255.255.255
do wr
- router bgp 400
neighbor 10.255.255.7 remote-as 400
neighbor 10.255.255.7 update-source loopback0
neighbor 10.255.255.9 remote-as 400
neighbor 10.255.255.9 update-source loopback0
neighbor 10.255.255.7 route-reflector-client
neighbor 10.255.255.9 route-reflector-client
-do wr
*C-R7*
en
conf t
hostname C-R7
interface e0/0
ip address 12.0.2.7 255.255.255.0
interface e0/1
ip address 12.0.4.7 255.255.255.0
interface e0/2
ip address 12.0.6.7 255.255.255.0
int range e0/0-2
no shutdown
do wr
router bgp 400
network 12.0.2.0 mask 255.255.255.0
network 12.0.4.0 mask 255.255.255.0
network 12.0.6.0 mask 255.255.255.0
neighbor 12.0.2.6 remote-as 400
neighbor 12.0.4.14 remote-as 400
neighbor 12.0.6.15 remote-as 400
neighbor 12.0.2.6 route-reflector-client
neighbor 12.0.4.14 route-reflector-client
neighbor 12.0.6.15 route-reflector-client
redistribute connected
do wr
do sh bgp summary

- лишнее
int loopback0
ip address 10.255.255.7 255.255.255.255
router bgp 400
neighbor 10.255.255.6 update-source loopback0
neighbor 10.255.255.14 update-source loopback0
neighbor 10.255.255.15 update-source loopback0
do wr
router bgp 400
neighbor 10.255.255.6 remote-as 400
neighbor 10.255.255.6 update-source loopback0
neighbor 10.255.255.14 remote-as 400
neighbor 10.255.255.14 update-source loopback0
neighbor 10.255.255.6 route-reflector-client
neighbor 10.255.255.14 route-reflector-client
neighbor 10.255.255.15 remote-as 400
neighbor 10.255.255.15 update-source loopback0
neighbor 10.255.255.15 route-reflector-client
do wr
*C-R9*
en
conf t
hostname C-R9
interface e0/0
ip address 12.0.1.9 255.255.255.0
interface e0/1
ip address 13.2.0.9 255.255.255.0
interface e0/2
ip address 12.0.3.9 255.255.255.0
interface e0/3
ip address 14.3.0.9 255.255.255.0
int range e0/0-3
no shutdown
do wr
router bgp 400
network 12.0.1.0 mask 255.255.255.0
network 12.0.3.0 mask 255.255.255.0
network 13.2.0.0 mask 255.255.255.0
neighbor 12.0.1.6 remote-as 400
neighbor 12.0.3.15 remote-as 400
network 14.3.0.0 mask 255.255.255.0
neighbor 12.0.3.15 route-reflector-client
neighbor 12.0.1.6 route-reflector-client
neighbor 14.3.0.8 remote-as 100
default-metric 1
neighbor 13.2.0.10 remote-as 300
redistribute connected
do wr
do sh bgp summary
router ospf 1
network 10.255.255.9 0.0.0.0 area 0
network 12.0.0.0 0.0.255.255 area 0
network 14.3.0.0 0.0.0.255 area 0
network 13.2.0.0 0.0.0.255 area 0
do wr

- лишнее
- redistribute connected
router bgp 400
neighbor 10.255.255.6 remote-as 400
neighbor 10.255.255.6 update-source loopback0
neighbor 10.255.255.6 route-reflector-client
neighbor 10.255.255.15 remote-as 400
neighbor 10.255.255.15 update-source loopback0
neighbor 10.255.255.15 route-reflector-client
do wr
int loopback0
ip address 10.255.255.9 255.255.255.255
**eBGP**
*C-R8*
en
conf t
hostname C-R8
interface e0/0
ip address 14.3.0.8 255.255.255.0
interface e0/1
ip address 14.2.0.8 255.255.255.0
interface e0/2
ip address 14.1.0.8 255.255.255.0
int range e0/0-2
no shutdown
do wr
exit
router bgp 100
neighbor 14.3.0.9 remote-as 400
neighbor 14.2.0.13 remote-as 300
neighbor 14.1.0.12 remote-as 200
neighbor 14.3.0.9 default-originate
neighbor 14.2.0.13 default-originate
neighbor 14.1.0.12 default-originate
network 14.1.0.0 mask 255.255.255.0
network 14.2.0.0 mask 255.255.255.0
network 14.3.0.0 mask 255.255.255.0
do wr
# Вопросы по лабораторке
Внутри as400 все маршруты видны. С пограничных роутеров маршруты as400 тоже видны, но с роутеров as200 и as300 маршруты видны только 12.0.1.0 и 12.0.3.0.
Провозился с BGP не одну ночь, но так и не понял почему они не видят остальные подсети as400.
Я думаю что где то команды не дописал, либо это баг какой-то.
Что именно я не так сделал?