Skip to main content

Case 1 - rtr-a - rtr-b

Онлайн документация по 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-service-instance)#end

# Порт в сторону локальной сети:
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)#
# Выбираем диапазон локальных адресов для которых будет выполняться nat
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

Настройка административного доступа (Radius)

Продолжение настройки Radius из Case 9 - srv1-a

# Подключение к Radius
rtr-a(config)#security none 
rtr-a(config)#aaa radius-server 192.168.10.1 port 1812 secret P@ssw0rd auth
# Задаем приоритет
rtr-cod(config)#aaa precedence local radius
rtr-cod(config)#write memory

# Проверяем возможность входа:
# login: netuser
# Password: P@ssw0rd

# Проверяем возможность входа с обычного профиля admin:


Настройка синхронизации времени

# Устанавливаем корректный часовой пояс
rtr-a(config)#ntp timezone utc+3
# Устанавливаем синхронизацию времени с 100.100.100.100
rtr-a(config)#ntp server 100.100.100.100
rtr-a(config)#write memory

# Проверить текущий часовой пояс можно командой show ntp timezone
rtr-a#show ntp timezone

Для завершения настройки перейдите на sw1-a, sw2-a,fw-a, cli-a, srv1-a, srv2-a, admin-a


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 → сервер получает пакет
На rtr-b локальные сети подключены прямо к роутеру — поэтому OSPF видит их сам и анонсирует через network.
На rtr-a локальные сети «спрятаны» за фаерволом — поэтому приходится «подсказывать» OSPF через статические маршруты и redistribute static.
Трафик между офисами идёт без NAT через туннель — адреса остаются оригинальными.
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)#

# Выбираем диапазон локальных адресов для которых будет выполняться nat
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

Настройка синхронизации времени

# Устанавливаем корректный часовой пояс
rtr-a(config)#ntp timezone utc+3
# Устанавливаем синхронизацию времени с 100.100.100.100
rtr-a(config)#ntp server 100.100.100.100
rtr-a(config)#write memory

# Проверить текущий часовой пояс можно командой show ntp timezone
rtr-a#show ntp timezone

Для завершения настройки перейдите на sw1-b, sw2-b, dc-b, cli1-b, cli2-b