Case 1 - Ecorouter
Онлайн документация по Ecorouter.

| Провайдер | Адрес IPv4/Маска | Шлюз IPv4 | AS |
| Signal A | 95.46.124.4/29 | 95.46.124.1/29 | 31133 |
| Signal B | 95.46.124.28/29 | 95.46.124.25/29 |
rtr-a
Настройка интерфейсов
# Смена имени хоста
ecorouter(config)#hostname rtr-a
# Задать доменное имя
rtr-a(config)#ip domain-name my.domain.name
# Сохранить изменения
rtr-a(config)#write memory
#----------------------------------------------
# Настройка WAN интерфейса до провайдера ISP
# Создаем интерфейсы ( это логический интерфейс для адресации, работает на сетевом уровне (L3) )
rtr-a(config)#interface isp
# Задать IP аддрес
rtr-a(config-if)#ip address 95.46.124.4/29
# Выйти
rtr-a(config-if)#exit
# Создать интерфейс в локальную сеть до Firewall-а
rtr-a(config)#interface fw-a
rtr-a(config-if)#ip address 172.16.1.1/30
# Настраиваем порты (это устройство в составе EcoRouter, которое работает на физическом уровне (L1))
# Порт до ISP
rtr-a(config)#port te0
# Создатеся service instance (Данный вид интерфейса необходим для соединения физического порта с интерфейсами L3, интерфейсами bridge, портами)
rtr-a(config-port)#service-instance te0/isp
rtr-a(config-service-instance)#encapsulation untagged
rtr-a(config-service-instance)#connect ip interface isp
# Порт в сторону локальной сети:
rtr-a(config-port)#service-instance te1/fw-a
rtr-a(config-service-instance)#encapsulation untagged
rtr-a(config-service-instance)#connect ip interface fw-a
# Проверяем конфиги
rtr-a#show ip interface brief
rtr-a#show service-instance brief
#----------------------------------------------
# Настройка маршрутизации - способ через BGP:
# BGP через анонс (для симуляции работы провайдера):
# Активирует протокол BGP и переходит в режим конфигурации BGP-роутера
rtr-a(config)#router bgp 64500
# Явно задаёт идентификатор BGP-роутера (Router ID)
rtr-a(config-router)#bgp router-id 95.46.124.4
# Настраивает BGP-соседа (пира) с IP-адресом 95.46.124.1, принадлежащего к автономной системе AS 31133
rtr-a(config-router)#neighbor 95.46.124.1 remote-as 31133
rtr-a(config-router)#exit
rtr-a(config)#write memory
# Проверить получен ли маршрут по умолчанию
rtr-a(config)#show ip bgp summary
# Проверить доступность в интернет
rtr-a(config)#ping 8.8.8.8
Настройка GRE на стороне rtr-a
# Настройка туннеля GRE между роутерами
# Создаем виртуальный туннель
rtr-a(config)#interface tunnel.0
# Задаем ip адрес с наименьшей маской (2 полезных ip)
rtr-a(config-if-tunnel)#ip address 10.10.10.1/30
# Указываем свой и ip соседа
rtr-a(config-if-tunnel)#ip tunnel 95.46.124.4 95.46.124.28 mode gre
rtr-a(config-if-tunnel)# exit
rtr-a(config)#write memory
Настройка NAT port forwarding и dynamic PAT
Важно понимать специфику ecorouter: в отличие от классического Cisco, здесь ip nat pool указывает диапазон внутренних адресов, которые нужно транслировать (а не внешних адресов назначения).
# Настройка доступа в интернет
rtr-a(config)#interface isp
rtr-a(config-if)#ip nat outside
rtr-a(config-if)#exit
rtr-a(config)#interface fw-a
rtr-a(config-if)#ip nat inside
rtr-a(config-if)#exit
rtr-a(config)#
# Выбираем подсети для vlan сетей
rtr-a(config)#ip nat pool fw-cod 172.16.1.1-172.16.1.2
rtr-a(config)#ip nat pool vlan100 192.168.10.1-192.168.10.254
rtr-a(config)#ip nat pool vlan300 192.168.30.1-192.168.30.254
rtr-a(config)#ip nat pool vlan400 192.168.40.1-192.168.40.254
rtr-a(config)#ip nat pool vlan500 192.168.50.1-192.168.50.254
rtr-a(config)#
# Создать правило трансляции адресов для каждого созданного nat pool, через интерфейс, который с точки зрения NAT outside
rtr-a(config)#ip nat source dynamic inside pool fw-a overload interface isp
rtr-a(config)#ip nat source dynamic inside pool vlan100 overload interface isp
rtr-a(config)#ip nat source dynamic inside pool vlan300 overload interface isp
rtr-a(config)#ip nat source dynamic inside pool vlan400 overload interface isp
rtr-a(config)#ip nat source dynamic inside pool vlan500 overload interface isp
rtr-a(config)#write memory
# Cтатические маршруты в локальные сети A.
# Пояснение 1 - «Всё, что адресовано в сеть 192.168.10.0/24 (vlan100), отправляй на шлюз 172.16.1.2 (это фаервол)».
# Пояснение 2 - У rtr-a нет физического/логического интерфейса в сетях VLAN100/300/400/500 — они за фаерволом
rtr-a(config)#ip route 192.168.10.0/24 172.16.1.2
rtr-a(config)#ip route 192.168.30.0/24 172.16.1.2
rtr-a(config)#ip route 192.168.40.0/24 172.16.1.2
rtr-a(config)#ip route 192.168.50.0/24 172.16.1.2
rtr-a(config)#
Настройка OSPF между офисами A и B
Пояснение по OSPF и пассивным интерфейсам
В OSPF маршрутизаторы «знакомятся» друг с другом через служебные Hello-пакеты, которые рассылаются каждые несколько секунд по всем активным интерфейсам.
Пассивный режим = «слушай, но не говори»:
✅ Маршрутизатор принимает трафик на этом интерфейсе
✅ Сеть интерфейса анонсируется в OSPF
❌ НЕ отправляет Hello-пакеты → соседство не устанавливается
По условию: «Все интерфейсы, кроме туннельных, должны быть переведены в пассивный режим»
|
Интерфейс
|
Куда смотрит
|
Должен ли устанавливать OSPF-соседство?
|
Почему
|
|---|---|---|---|
isp |
В интернет / к провайдеру
|
❌ Нет
|
Провайдер не наш сосед по OSPF. Отправлять ему Hello — бессмысленно и небезопасно
|
fw-a |
К фаерволу внутри ЦОД
|
❌ Нет
|
Фаервол не участвует в OSPF (по условию задачи). Hello-пакеты будут отброшены или вызовут проблемы
|
tunnel.0 |
К офису «B» через туннель
|
✅ Да
|
Это единственное место, где нужно обмениваться маршрутами между офисами
|
redistribute static - «Возьми все статические маршруты из моей таблицы и расскажи о них моим OSPF-соседям через туннель»
redistribute static передает только те сети, которые есть в статических маршрутах rtr-a
# Настройка динамической трансляции между офисами A и B
# Режим конфигурирования протокола
rtr-a(config)#router ospf 1
# Идентификатор маршрутизатора
rtr-a(config-router)#router-id 10.10.10.1
# Все интерфейсы в пассивный режим
rtr-a(config-router)#passive-interface default
# Исключаем интерфейс tunnel.0 из пассивного режима для установления соседства и дальнейшего обмена маршрутной информацией
rtr-a(config-router)#no passive-interface tunnel.0
# Объявляем сети, которые будут задействованы в процессе маршрутизации импортировав (redistribute) ранее указанные статические маршруты
rtr-a(config-router)#redistribute static
rtr-a(config-router)#network 10.10.10.0/30 area 0
rtr-a(config-router)#network 172.16.1.0/30 area 0
rtr-a(config-router)#exit
# Обеспечиваем защиту протокола маршрутизации посредством парольной защиты
rtr-a(config)#interface tunnel.0
rtr-a(config-if-tunnel)#ip ospf authentication message-digest
rtr-a(config-if-tunnel)#ip ospf message-digest-key 1 md5 P@ssw0rd
rtr-a(config-if-tunnel)#exit
rtr-a(config)#write memory
rtr-b
Базовые отличия rtr-a и rtr-b
|
Роутер
|
Где находятся локальные сети
|
Как анонсировать в OSPF
|
|---|---|---|
|
rtr-a (ЦОД)
|
За фаерволом (
172.16.1.2) — нет прямого интерфейса |
Только через
redistribute static (статические маршруты) |
|
rtr-b (офис B)
|
Напрямую подключены к роутеру (интерфейсы
vl100, vl200, vl300) |
Через
network ... area 0 (OSPF сам видит подключённые сети) |
Как работает трафик между офисами:
|
Шаг
|
Устройство
|
Что происходит
|
|---|---|---|
|
1
|
Клиент B
|
Отправляет пакет на
192.168.10.55 |
|
2
|
rtr-b |
Смотрит таблицу:
O E2 192.168.10.0/24 via 10.10.10.1 (tunnel.0) ← пришёл от rtr-a через redistribute static |
|
3
|
rtr-b |
Отправляет пакет в туннель к
rtr-a (10.10.10.1) |
|
4
|
rtr-a |
Распаковывает туннель, смотрит таблицу:
192.168.10.0/24 via 172.16.1.2 (статический маршрут) |
|
5
|
rtr-a |
Отправляет пакет на фаервол (
172.16.1.2) |
|
6
|
Фаервол
|
Доставляет пакет в VLAN100 → сервер получает пакет
|
network.На rtr-a локальные сети «спрятаны» за фаерволом — поэтому приходится «подсказывать» OSPF через статические маршруты и
redistribute static.NAT применяется только для выхода в интернет через интерфейс
isp.# Смена имени хоста
ecorouter(config)#hostname rtr-b
# Задать доменное имя
rtr-b(config)#ip domain-name notmy.domain.name
# Сохранить изменения
rtr-b(config)#write memory
#----------------------------------------------
# Настройка WAN интерфейса до провайдера ISP
# Создаем интерфейсы ( это логический интерфейс для адресации, работает на сетевом уровне (L3) )
rtr-b(config)#interface isp
# Задать IP аддрес
rtr-b(config-if)#ip address 95.46.124.4/29
# Выйти
rtr-b(config-if)#exit
# Настроить маршрут по умолчанию
rtr-b(config)#ip route 0.0.0.0/0 95.46.124.25
# Проверить доступность в интернет
rtr-b(config)#ping 8.8.8.8
#----------------------------------------------
#Настройка Vlan:
rtr-b(config)#interface vl100
rtr-b(config-if)#ip address 172.20.10.254/24
rtr-b(config)#interface vl200
rtr-b(config-if)#ip address 172.20.20.254/24
rtr-b(config)#interface vl300
rtr-b(config-if)#ip address 172.20.30.254/24
# Присваиваем vlan-ы на порт
rtr-b(config)#port te1
rtr-b(config-port)#service-instance te1/vl100
rtr-b(config-service-instance)#encapsulation dot1q 100
rtr-b(config-service-instance)#rewrite pop 1
rtr-b(config-service-instance)#connect ip interface vl100
rtr-b(config-service-instance)#exit
rtr-b(config-port)#service-instance te1/vl200
rtr-b(config-service-instance)#encapsulation dot1q 200
rtr-b(config-service-instance)#rewrite pop 1
rtr-b(config-service-instance)#connect ip interface vl200
rtr-b(config-service-instance)#exit
rtr-b(config-port)#service-instance te1/vl300
rtr-b(config-service-instance)#encapsulation dot1q 300
rtr-b(config-service-instance)#rewrite pop 1
rtr-b(config-service-instance)#connect ip interface vl300
rtr-b(config-service-instance)#exit
# Настройка туннеля GRE между роутерами
# Создаем виртуальный туннель
rtr-b(config)#interface tunnel.0
# Задаем ip адрес с наименьшей маской (2 полезных ip)
rtr-b(config-if-tunnel)#ip address 10.10.10.2/30
# Указываем свой и ip соседа
rtr-b(config-if-tunnel)#ip tunnel 95.46.124.28 95.46.124.4 mode gre
rtr-b(config-if-tunnel)# exit
rtr-b(config)#write memory
# Настройка доступа в интернет
rtr-b(config)#interface isp
rtr-b(config-if)#ip nat outside
rtr-b(config-if)#exit
rtr-b(config)#interface vl100
rtr-b(config-if)#ip nat inside
rtr-b(config-if)#exit
rtr-b(config)#interface vl200
rtr-b(config-if)#ip nat inside
rtr-b(config-if)#exit
rtr-b(config)#interface vl300
rtr-b(config-if)#ip nat inside
rtr-b(config-if)#exit
rtr-b(config)#
# Выбираем подсети для vlan сетей
rtr-b(config)#ip nat pool vlan100 172.17.10.1-172.17.10.254
rtr-b(config)#ip nat pool vlan200 172.17.20.1-172.17.20.254
rtr-b(config)#ip nat pool vlan300 172.17.30.1-172.17.30.254
rtr-b(config)#
# Создать правило трансляции адресов для каждого созданного nat pool, через интерфейс, который с точки зрения NAT outside
rtr-b(config)#ip nat source dynamic inside pool vlan100 overload interface isp
rtr-b(config)#ip nat source dynamic inside pool vlan200 overload interface isp
rtr-b(config)#ip nat source dynamic inside pool vlan300 overload interface isp
rtr-b(config)#write memory
# Настройка динамической трансляции между офисами A и B
# Режим конфигурирования протокола
rtr-b(config)#router ospf 1
# Идентификатор маршрутизатора
rtr-b(config-router)#router-id 10.10.10.2
# Все интерфейсы в пассивный режим
rtr-b(config-router)#passive-interface default
# Исключаем интерфейс tunnel.0 из пассивного режима для установления соседства и дальнейшего обмена маршрутной информацией
rtr-b(config-router)#no passive-interface tunnel.0
# Объявляем сети, которые будут задействованы в процессе маршрутизации импортировав (redistribute) ранее указанные статические маршруты
rtr-b(config-router)#redistribute static
rtr-b(config-router)#network 10.10.10.0/30 area 0
rtr-b(config-router)#network 172.20.10.0/24 area 0
rtr-b(config-router)#network 172.20.20.0/24 area 0
rtr-b(config-router)#network 172.20.30.0/24 area 0
rtr-b(config-router)#exit
# Обеспечиваем защиту протокола маршрутизации посредством парольной защиты
rtr-b(config)#interface tunnel.0
rtr-b(config-if-tunnel)#ip ospf authentication message-digest
rtr-b(config-if-tunnel)#ip ospf message-digest-key 1 md5 P@ssw0rd
rtr-b(config-if-tunnel)#exit
rtr-b(config)#write memory