Отказоустойчивый доступ в Интернет с PI-адресом

Записки и примеры конфигураций IOS/RouterOS
Ответить
Аватара пользователя
root
Site Admin
Сообщения: 501
Зарегистрирован: 15 авг 2026 01:31

Отказоустойчивый доступ в Интернет с PI-адресом

Сообщение root »

Темы
Введение
Архитектура сети
Этап 1. Базовая маршрутизация и OSPF
Этап 2. Настройка eBGP с провайдерами
Этап 3. iBGP между граничными маршрутизаторами
Этап 4. NAT и проброс сервисов
Этап 5. Безопасность и управление
Этап 6. Взаимодействие с внутренней инфраструктурой
Этап 7. Резервирование и отказоустойчивость
Уточнения
Проект реализует отказоустойчивый доступ в Интернет для корпоративной сети CORP.RU (AS65100) через два независимых провайдера (ISP1.NET и ISP2.NET).
Задача — обеспечить надежное и отказоустойчивое подключение к Интернету через двух независимых провайдеров.
Ключевая особенность — использование единого PI-префикса 147.45.67.0/24, принадлежащего организации. Этот префикс анонсируется в глобальный Интернет с обоих граничных маршрутизаторов (GATE1 и GATE2) по eBGP, что обеспечивает полноценный multihoming с возможностью отказоустойчивости используемого оборудования.
Последний раз редактировалось root 24 июл 2026 16:17, всего редактировалось 1 раз.
Аватара пользователя
root
Site Admin
Сообщения: 501
Зарегистрирован: 15 авг 2026 01:31

Сообщение root »

Реализация отказоустойчивого доступа в Интернет для корпоративной сети CORP.RU
Схематично топология сети выглядит так:
Топология сети
Топология сети
Это решение позволяет:
  • сохранять один публичный IP при работе через любого из провайдеров;
  • обеспечить непрерывность работы сервисов при отказе канала;
  • гибко управлять маршрутизацией трафика с помощью BGP.
Компоненты:
  • GATE1 (AS65100) — основной шлюз (приоритет выше в OSPF и BGP Weight);
  • GATE2 (AS65100) — резервный шлюз;
  • LAN1 (Core) — L3-свитч, объединяющий внутренние VLAN’ы;
  • Server — сервер `server.corp.ru`, на котором терминируются VLAN’ы и размещены корпоративные сервисы (DNS, WWW, SSH);
  • ISP1.NET (AS65010) и ISP2.NET (AS65020) — провайдеры, к которым подключены GATE1 и GATE2 по eBGP.
Внутренняя адресация:

Код: Выделить всё

СегментНазначениеПодсеть
VLAN 100DefaultSECURE
VLAN 10INET192.168.1.0/24
VLAN 20Users10.10.11.0/29
VLAN 30MGMT10.10.11.8/29
VLAN 40Engineering10.10.11.16/29
VLAN 50Printers10.10.11.24/29
Транзит GATE1–LAN150.0.1.0/24
Транзит GATE2–LAN150.0.2.0/24
Внутренняя маршрутизация (OSPF + iBGP)
OSPF area 0 связывает LAN1, GATE1 и GATE2.
OSPF обеспечивает динамическое обновление маршрутов и распространение дефолтного маршрута к LAN1.

Между GATE1 и GATE2 работает iBGP (AS65100) по Loopback-интерфейсам (60.0.1.1 и 60.0.2.1).
Это обеспечивает синхронизацию маршрутов, полученных от внешних провайдеров, и единое распределение PI-префикса.

Внешняя маршрутизация (eBGP)

Код: Выделить всё

УзелПровайдерВнешняя ASПодсеть
GATE1ISP1.NET65010172.18.10.0/24
GATE2ISP2.NET65020172.180.100.0/24
Оба граничных маршрутизатора анонсируют сеть 147.45.67.0/24

BGP настроен с фильтрами (prefix-list TO-ISP, External_Routers), чтобы наружу публиковался только PI-префикс.
От провайдеров принимаются маршруты по умолчанию (0.0.0.0/0), которые распространяются внутрь сети.

Отказоустойчивость и приоритет маршрутов
  1. GATE1 имеет больший OSPF priority (100) и BGP weight (200) → используется как основной выход.
  2. При потере связи с ISP1 — BGP-сессия падает, маршруты удаляются, и весь трафик уходит через GATE2 → ISP2.
  3. После восстановления — маршрут автоматически возвращается к основному каналу.
Вся сеть продолжает функционировать, клиенты не теряют доступ, так как PI-адрес остаётся неизменным.

Ключевые сервисы и безопасность
  • SSH доступ администратору на сервер через порт 2222;
  • DNS зоны `corp.ru` и `in-addr.arpa` для внешней и внутренней сети;
  • NTP, логирование, резервное копирование конфигов;
  • OSPF MD5-аутентификация для защиты маршрутизации.
Использование PI-адреса и NAT
Адрес 147.45.67.34 назначен как основной внешний IP и используется для NAT и статических публикаций сервисов:
Тем самым, независимо от активного провайдера, серверы доступны по тем же DNS-именам: DNS-зоны обслуживаются сервером `192.168.1.1`, который резолвит как внутренние, так и внешние PTR-записи для IP 147.45.67.34.

В Результате
  • Два независимых выхода в Интернет
  • Один PI-префикс и единый внешний IP
  • Динамическая маршрутизация и автоматическое резервирование
  • Отказоустойчивость без изменения DNS и публичных IP
  • Централизованная точка терминации VLAN и сервисов
Аватара пользователя
root
Site Admin
Сообщения: 501
Зарегистрирован: 15 авг 2026 01:31

Сообщение root »


Между внутренними маршрутизаторами (GATE1, GATE2, LAN1) настроен OSPF area 0.
Это обеспечивает обмен маршрутами внутри AS65100 и автоматическую передачу default-маршрута от гейтов в сторону LAN1.
Пример — фрагмент конфигурации GATE1:

Код: Выделить всё

router ospf 1
 router-id 60.0.1.1
 default-information originate always
GATE2 объявляет default с более высоким metric 20, чтобы быть резервом:

Код: Выделить всё

router ospf 1
 router-id 60.0.2.1
 default-information originate always metric 20
Внутренняя маршрутизация:
  • Между GATE1 ↔ LAN1 — сеть `50.0.1.0/24`
  • Между GATE2 ↔ LAN1 — сеть `50.0.2.0/24`
  • Между GATE1 ↔ GATE2 — сеть `50.0.3.0/24`
Все интерфейсы защищены MD5-аутентификацией OSPF.
Аватара пользователя
root
Site Admin
Сообщения: 501
Зарегистрирован: 15 авг 2026 01:31

Сообщение root »


Каждый шлюз подключается к своему провайдеру по отдельной подсети и устанавливает соседство eBGP:
GATE1 ↔ ISP1.NET

Код: Выделить всё

neighbor 172.18.10.1 remote-as 65010
neighbor 172.18.10.1 password DRhb5623$!
neighbor 172.18.10.1 weight 200
neighbor 172.18.10.1 prefix-list TO-ISP out
GATE2 ↔ ISP2.NET

Код: Выделить всё

neighbor 172.180.100.1 remote-as 65020
neighbor 172.180.100.1 password DRhb5623$!
neighbor 172.180.100.1 prefix-list TO-ISP out
Оба маршрутизатора анонсируют один и тот же PI-префикс:

Код: Выделить всё

network 147.45.67.0 mask 255.255.255.0
Благодаря этому:
  • В Интернет отправляются два независимых BGP-анонса.
  • При падении любого линка — трафик продолжает поступать через второй гейт.
Аватара пользователя
root
Site Admin
Сообщения: 501
Зарегистрирован: 15 авг 2026 01:31

Сообщение root »


Внутри AS65100 установлен iBGP между GATE1 и GATE2 по их loopback-интерфейсам:

Код: Выделить всё

neighbor 60.0.2.1 remote-as 65100
neighbor 60.0.2.1 update-source Loopback1
neighbor 60.0.2.1 next-hop-self
Аналогично на GATE2:

Код: Выделить всё

neighbor 60.0.1.1 remote-as 65100
neighbor 60.0.1.1 update-source Loopback1
neighbor 60.0.1.1 next-hop-self
Это гарантирует:
  • Полный обмен маршрутами между шлюзами.
  • Корректную передачу внешних префиксов через OSPF в сторону LAN1.
Аватара пользователя
root
Site Admin
Сообщения: 501
Зарегистрирован: 15 авг 2026 01:31

Сообщение root »


Внутренние сети транслируются во внешний адрес 147.45.67.34 (общий IP организации):

Код: Выделить всё

ip nat pool NAT 147.45.67.34 147.45.67.34 netmask 255.255.255.0
ip nat inside source list NET-NAT pool NAT overload
Статические пробросы:

Код: Выделить всё

ip nat inside source static udp 192.168.1.1 53 147.45.67.34 53
ip nat inside source static tcp 192.168.1.1 22 147.45.67.34 2222
ip nat inside source static tcp 192.168.1.1 9090 147.45.67.34 9090
Таким образом, сервер `server.corp.ru` доступен из внешней сети по:
  • SSH — порт 2222
  • DNS — порт 53
  • WEB — порт 9090
Аватара пользователя
root
Site Admin
Сообщения: 501
Зарегистрирован: 15 авг 2026 01:31

Сообщение root »


Аутентификация и SSH
Все устройства используют ключевую авторизацию SSH:

Код: Выделить всё

  ip ssh pubkey-chain
    username root
      key-hash ssh-rsa 34F338ECD166B1177E5935D981D22B09 root@sergey
  • Управление — только через SSH (transport input ssh).
  • Запрещён HTTP/HTTPS management:

Код: Выделить всё

no ip http server
no ip http secure-server
NTP
Вся сеть синхронизируется с внешним сервером 8.8.8.8.
Внутри AS время распространяется через GATE1 и GATE2:

Код: Выделить всё

ntp master 5
ntp server 8.8.8.8 prefer
LAN1 и SW-LAN1 синхронизируются с гейтами:

Код: Выделить всё

ntp server 60.0.1.1 prefer
ntp server 60.0.2.1
Аватара пользователя
root
Site Admin
Сообщения: 501
Зарегистрирован: 15 авг 2026 01:31

Сообщение root »


На уровне ядра (LAN1):
LAN1 соединяет все три маршрутизатора и внутреннюю сеть:
  • Распространяет OSPF-маршруты к VLAN.
  • Имеет адрес `192.168.1.254` — шлюз по умолчанию для внутреннего трафика.
  • Поддерживает аутентифицированные сессии с GATE1 и GATE2.
Коммутатор SW-LAN1:
SW-LAN1 пропускает trunk к серверу, где VLAN’ы терминируются:

Код: Выделить всё

interface FastEthernet1/0
 switchport trunk native vlan 100
 switchport mode trunk
А также подключает пользователей и управляющие сегменты:

Код: Выделить всё

interface FastEthernet1/1
 switchport access vlan 10
interface FastEthernet1/2
 switchport access vlan 20
Аватара пользователя
root
Site Admin
Сообщения: 501
Зарегистрирован: 15 авг 2026 01:31

Сообщение root »


Основной выход — через GATE1 → ISP1.
Приоритет обеспечен за счёт:
  • `weight 200` в BGP для маршрутов ISP1.
  • Default route `originate always` без метрики.
Резервный выход — через GATE2 → ISP2.
Используется только при недоступности основного.
При отказе:
  • OSPF автоматически убирает маршрут по GATE1.
  • Default от GATE2 становится активным.
  • BGP-анонс от GATE1 пропадает, остаётся от GATE2.
Проверка и тестирование
  1. Проверка маршрутов внутри AS:

    Код: Выделить всё

     show ip route ospf
  2. Проверка BGP-анонса:

    Код: Выделить всё

    show ip bgp 147.45.67.0
  3. Проверка NAT и пробросов:

    Код: Выделить всё

       show ip nat translations
  4. Тестирование отказа:
    • Отключить интерфейс `GATE1 → ISP1`.
    • Проверить автоматическое переключение через GATE2.
Результат
  • Вся корпоративная сеть CORP.RU имеет стабильный выход в Интернет.
  • Используется один PI-префикс, что упрощает работу DNS и внешних сервисов.
  • При обрыве любого линка или маршрутизатора сохраняется доступность из и в Интернет.
  • Внутренняя маршрутизация, NAT, пробросы и BGP-анонсы работают согласованно.
Аватара пользователя
root
Site Admin
Сообщения: 501
Зарегистрирован: 15 авг 2026 01:31

Re: Отказоустойчивый доступ в Интернет с PI-адресом

Сообщение root »

Для OSPF рекомедуется включать point-to-point на линках с одним соседом, что ускоряет сходимость сети.

«Только два маршрутизатора»
В данном широковещательном домене (L2-сегменте, VLAN) присутствуют ровно два устройства, говорящих на OSPF.

Код: Выделить всё

┌─────────┐          ┌─────────┐
│  LAN1   │          │  FRR    │
│ Gi1/0   │──────────│enp0s3.10│
│ .254    │  VLAN 10 │ .1      │
└─────────┘          └─────────┘
       Только двое в этом сегменте
В такой ситуации:
  • Некого выбирать в DR и BDR (оба претендуют, но смысла нет).
  • Не нужен network LSA (Type-2), который описывает broadcast-сегмент с многими участниками.
  • Можно просто обменяться маршрутами напрямую — как на физическом P2P.
Контрпример (когда P2P включать нельзя)

Код: Выделить всё

┌─────────┐   ┌─────────┐   ┌─────────┐
│  R1     │   │   R2    │   │   R3    │
│ .1      │   │   .2    │   │   .3    │
└────┬────┘   └────┬────┘   └────┬────┘
     └─────────────┼─────────────┘
              ┌────┴────┐
              │ Switch  │
              └─────────┘
           VLAN 10: все трое
Тут трое OSPF-спикеров в одном L2-сегменте → нужен DR для оптимизации обмена LSA → режим broadcast (по умолчанию). Если включить P2P, OSPF сломается.

Вывод

Вы всё поняли правильно:
  • Один L2-сегмент (VLAN)
  • Два OSPF-маршрутизатора
  • Больше никого
→ Можно и нужно включать `ip ospf network point-to-point`, даже если физически это GigabitEthernet через свитч.

Во FRRouting (и в старом Quagga) команда neighbor X.X.X.X в секции router ospf принудительно переводит интерфейс в режим NBMA (non-broadcast), даже если на интерфейсе явно прописан point-to-point. Это баг/особенность FRR, которая проявляется не сразу. Могут быть проблемы с застреванием статуса в ExStart. Нужно удалить строки neighbor из секции router ospf ...

Код: Выделить всё

router ospf 1
 ! neighbor 192.168.1.254
И добавить на интерфейсы там где нужно

Код: Выделить всё

interface GigabitEthernet1/0
  ip ospf network point-to-point
так же можно выкрутить настройки таймеров для быстрой сходимости сети

Код: Выделить всё

interface GigabitEthernet1/0
  ip ospf dead-interval 3
  ip ospf hello-interval 1
Все настройки должны быть зеркальными на соседях, иначе соседство разорвётся и не будет установлено
Последний раз редактировалось root 24 июл 2026 16:46, всего редактировалось 2 раза.
Ответить