Отказоустойчивый доступ в Интернет с PI-адресом
Отказоустойчивый доступ в Интернет с PI-адресом
Темы
Введение
Архитектура сети
Этап 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 с возможностью отказоустойчивости используемого оборудования.
Введение
Архитектура сети
Этап 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 раз.
Реализация отказоустойчивого доступа в Интернет для корпоративной сети 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.
Код: Выделить всё |
|---|
OSPF area 0 связывает LAN1, GATE1 и GATE2.
OSPF обеспечивает динамическое обновление маршрутов и распространение дефолтного маршрута к LAN1.
Между GATE1 и GATE2 работает iBGP (AS65100) по Loopback-интерфейсам (60.0.1.1 и 60.0.2.1).
Это обеспечивает синхронизацию маршрутов, полученных от внешних провайдеров, и единое распределение PI-префикса.
Внешняя маршрутизация (eBGP)
Код: Выделить всё |
|---|
BGP настроен с фильтрами (prefix-list TO-ISP, External_Routers), чтобы наружу публиковался только PI-префикс.
От провайдеров принимаются маршруты по умолчанию (0.0.0.0/0), которые распространяются внутрь сети.
Отказоустойчивость и приоритет маршрутов
- GATE1 имеет больший OSPF priority (100) и BGP weight (200) → используется как основной выход.
- При потере связи с ISP1 — BGP-сессия падает, маршруты удаляются, и весь трафик уходит через GATE2 → ISP2.
- После восстановления — маршрут автоматически возвращается к основному каналу.
Ключевые сервисы и безопасность
- SSH доступ администратору на сервер через порт 2222;
- DNS зоны `corp.ru` и `in-addr.arpa` для внешней и внутренней сети;
- NTP, логирование, резервное копирование конфигов;
- OSPF MD5-аутентификация для защиты маршрутизации.
Адрес 147.45.67.34 назначен как основной внешний IP и используется для NAT и статических публикаций сервисов:
Тем самым, независимо от активного провайдера, серверы доступны по тем же DNS-именам:
- `corp.ru`
- `mail.corp.ru`
- `www.corp.ru`
В Результате
- Два независимых выхода в Интернет
- Один PI-префикс и единый внешний IP
- Динамическая маршрутизация и автоматическое резервирование
- Отказоустойчивость без изменения DNS и публичных IP
- Централизованная точка терминации VLAN и сервисов
Между внутренними маршрутизаторами (GATE1, GATE2, LAN1) настроен OSPF area 0.
Это обеспечивает обмен маршрутами внутри AS65100 и автоматическую передачу default-маршрута от гейтов в сторону LAN1.
Пример — фрагмент конфигурации GATE1:
Код: Выделить всё
router ospf 1
router-id 60.0.1.1
default-information originate alwaysКод: Выделить всё
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`
Каждый шлюз подключается к своему провайдеру по отдельной подсети и устанавливает соседство 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Код: Выделить всё
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Код: Выделить всё
network 147.45.67.0 mask 255.255.255.0- В Интернет отправляются два независимых BGP-анонса.
- При падении любого линка — трафик продолжает поступать через второй гейт.
Внутри 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Код: Выделить всё
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.
Внутренние сети транслируются во внешний адрес 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- SSH — порт 2222
- DNS — порт 53
- WEB — порт 9090
Аутентификация и 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Вся сеть синхронизируется с внешним сервером 8.8.8.8.
Внутри AS время распространяется через GATE1 и GATE2:
Код: Выделить всё
ntp master 5
ntp server 8.8.8.8 preferКод: Выделить всё
ntp server 60.0.1.1 prefer
ntp server 60.0.2.1На уровне ядра (LAN1):
LAN1 соединяет все три маршрутизатора и внутреннюю сеть:
- Распространяет OSPF-маршруты к VLAN.
- Имеет адрес `192.168.1.254` — шлюз по умолчанию для внутреннего трафика.
- Поддерживает аутентифицированные сессии с GATE1 и GATE2.
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Основной выход — через GATE1 → ISP1.
Приоритет обеспечен за счёт:
- `weight 200` в BGP для маршрутов ISP1.
- Default route `originate always` без метрики.
Используется только при недоступности основного.
При отказе:
- OSPF автоматически убирает маршрут по GATE1.
- Default от GATE2 становится активным.
- BGP-анонс от GATE1 пропадает, остаётся от GATE2.
- Проверка маршрутов внутри AS:
Код: Выделить всё
show ip route ospf - Проверка BGP-анонса:
Код: Выделить всё
show ip bgp 147.45.67.0 - Проверка NAT и пробросов:
Код: Выделить всё
show ip nat translations - Тестирование отказа:
- Отключить интерфейс `GATE1 → ISP1`.
- Проверить автоматическое переключение через GATE2.
- Вся корпоративная сеть CORP.RU имеет стабильный выход в Интернет.
- Используется один PI-префикс, что упрощает работу DNS и внешних сервисов.
- При обрыве любого линка или маршрутизатора сохраняется доступность из и в Интернет.
- Внутренняя маршрутизация, NAT, пробросы и BGP-анонсы работают согласованно.
Re: Отказоустойчивый доступ в Интернет с PI-адресом
Для OSPF рекомедуется включать point-to-point на линках с одним соседом, что ускоряет сходимость сети.
«Только два маршрутизатора»
В данном широковещательном домене (L2-сегменте, VLAN) присутствуют ровно два устройства, говорящих на OSPF.
В такой ситуации:
Тут трое OSPF-спикеров в одном L2-сегменте → нужен DR для оптимизации обмена LSA → режим broadcast (по умолчанию). Если включить P2P, OSPF сломается.
Вывод
Вы всё поняли правильно:
Во FRRouting (и в старом Quagga) команда neighbor X.X.X.X в секции router ospf принудительно переводит интерфейс в режим NBMA (non-broadcast), даже если на интерфейсе явно прописан point-to-point. Это баг/особенность FRR, которая проявляется не сразу. Могут быть проблемы с застреванием статуса в ExStart. Нужно удалить строки neighbor из секции router ospf ...
И добавить на интерфейсы там где нужно
так же можно выкрутить настройки таймеров для быстрой сходимости сети
Все настройки должны быть зеркальными на соседях, иначе соседство разорвётся и не будет установлено
«Только два маршрутизатора»
В данном широковещательном домене (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: все трое
Вывод
Вы всё поняли правильно:
- Один L2-сегмент (VLAN)
- Два OSPF-маршрутизатора
- Больше никого
Во 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 раза.