---
# System prepended metadata

title: Динамическая маршрутизация

---

# Динамическая маршрутизация
**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

![](https://i.imgur.com/SbpvHxj.png)
Настраиваем связь между 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

![](https://i.imgur.com/l83tyb6.png)



*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
![](https://i.imgur.com/ciMogwB.png)

- лишнее
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

![](https://i.imgur.com/EQNznsJ.png)


- лишнее
- 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.

Я думаю что где то команды не дописал, либо это баг какой-то.
Что именно я не так сделал?