Налаштування маршрутизації IPv4/IPv6 на серверах

Розрив зв’язності між локаціями зупиняє доступ до сервісів і дані клієнтів. Ми налаштовуємо маршрутизацію під ключ: розбираємо схему, проєктуємо резервні шляхи та передаємо вам робочі конфігурації з регламентами. Перемикання оператора відбувається непомітно для користувачів.
Часті запитання

Налаштування маршрутизації Linux: де рветься зв’язність мереж

Зв’язність між підмережами рветься не в момент відмови каналу, а тихіше: сервіс відповідає з одного сегмента й мовчить з іншого, частина сесій відкривається, частина висить до таймауту.

Втрати пакетів на стику виглядають як плаваюча деградація — моніторинг показує норму за завантаженням, а прикладні перевірки ловлять поодинокі помилки рукостискання.

Саме тому такі збої шукають довго: мережа формально працює, а налаштування маршрутизації Linux живе набором правил, розкиданих по вузлах.

Найчастіше причина — перетинні адресні простори. Під час об’єднання контурів або підключення нового майданчика однакові діапазони починають жити в двох місцях, і маршрут із довшим префіксом заводить трафік у чужий сегмент.

Хост при цьому впевнений, що адресат локальний, і відповідає сам, оминаючи шлюз, — з’єднання встановлюється в один бік і обривається у зворотний.

Друга лінія проблем — асиметричний трафік. Запит іде через один маршрутизатор, а відповідь повертається через інший, і проміжний фільтр, що відстежує стани з’єднань, відкидає її як неочікувану.

Ззовні це читається як втрата пакетів на стику: з’єднання піднімається через раз, а діагностика з різних вузлів дає різні результати.

Окремий клас — ручні записи в таблицях маршрутизації. Правило, додане під разове завдання, переживає саме завдання, а після переїзду вузла залишається з попередньою адресою шлюзу й тихо ламає шлях.

Такі записи розходяться між серверами, і відмова проявляється не відразу, а за наступної зміни схеми. Розбираємо, як це закривається.

Що дає керована мережева зв’язність: вимірювані ефекти

Керована зв’язність — це коли шлях трафіку відомий заздалегідь, а не з’ясовується за фактом аварії. П’ять ефектів нижче вимірюються на стенді до передачі в експлуатацію, тому «стало краще» підтверджується числами, а не відчуттями.

Час відновлення зв’язку — секунди замість годин

Відмова каналу відпрацьовує за заздалегідь перевіреним сценарієм: маршрут переходить на резерв сам, без ручних правок і чергового з консоллю. Повернення сервісу вкладається в десятки секунд проти часу, який зазвичай іде на діагностику.

Частка втрачених з’єднань — обриви перестають бути фоном

Симетричні зворотні маршрути й коректна фільтрація прибирають втрати, які виглядали як «сайт то відкривається, то ні». Частка обірваних сесій падає до рівня, помітного лише в лічильниках, а не в скаргах.

Усунений клас відмов — асиметрія шляхів і тіньові підмережі

Двостороння перевірка маршрутів виключає асиметрію, за якої запит іде через один канал, а відповідь не повертається. Клас аварій «з’єднання є, даних немає» перестає відтворюватися в принципі.

Швидкість змін у мережі — новий сегмент за один прогін

Нова підмережа, адресний простір або другий оператор зв’язку описуються декларативно й застосовуються без простою. Зміна проходить той самий набір перевірок, що й поточна конфігурація, тому правки більше не відкладають до вікна обслуговування.

Передбачуваність поведінки мережі — єдине джерело істини

Адреси, підмережі й маршрути живуть в одному реєстрі (NetBox), а робочі конфігурації збираються з нього. Розбіжність між документацією та фактичним станом не накопичується, і будь-яку мережу можна розгорнути повторювано.

Варіанти маршрутизації: статика, динаміка, гібридна схема

Режим маршрутизації вибирають за двома параметрами: розмір топології мережі та частота її змін. Поки серверів десяток і підмережі фіксовані, статичні правила читаються за хвилину, не потребують демона й відновлюються з конфігурації.

Щойно з’являються резервні канали й адресація змінюється частіше ніж раз на квартал, ручні таблиці починають розходитися між вузлами.

Нижче — три схеми, між якими реально обирають. Без оцінних «краще/гірше»: у кожної є топологія, де вона доречна, і своя ціна.

Варіант Коли підходить Обмеження підходу
Статичні правила Плеска мережа, десятки вузлів, маршрути змінюються рідко Не переживає відмову каналу без зовнішнього моніторингу; зі зростанням кількості сегментів таблиці дублюються на кожному сервері й розходяться під час ручної правки
Автоматична побудова шляхів Кілька підмереж, резервні канали, часта зміна адресації Потрібен демон маршрутизації та єдині правила анонсів; помилка у фільтрах заводить маршрути за межі контуру; стан мережі треба вміти читати
Гібридна схема Ядро й шлюзи на динаміці, периферійні сервери та службові мережі — на статиці Стик потребує явного перерозподілу маршрутів; шлях збирається з двох джерел, налагодження складніше

Межу між зонами фіксуємо письмово: які префікси анонсуються, звідки надходить маршрут за замовчуванням, що відбувається при падінні основного шлюзу. Це знімає головний ризик гібрида — впевненість, що «воно саме все залагодить».

Як відбувається впровадження: від розбору схеми до передачі

Роботи йдуть послідовно: спочатку фіксуємо фактичний стан мережі, потім проєктуємо цільовий, і лише потім змінюємо налаштування на бойових машинах.

На кожному переході є точка повернення — якщо поведінка трафіку розходиться з проєктом, повертаємося на попередній крок, а не шукаємо причину навмання на працюючому сервісі.

  1. Збір схеми мережі. Інвентаризуємо інтерфейси, адресні плани, таблиці маршрутизації, правила фільтрації та те, як трафік фактично ходить між сегментами. Розбіжності між документацією та реальними налаштуваннями спливають саме тут — на бою вони обернулися б втратою зв’язності.

  2. Проєкт адресації та шляхів. Визначаємо префікси, шлюзи, пріоритети маршрутів за замовчуванням, порядок розв’язання імен і поведінку при відмові одного зі шляхів. Отримуємо схему, де адреса й маршрут призначені усвідомлено, а не залишилися «як історично склалося».

  3. Налаштування. Переносимо проєкт у конфігурації: інтерфейси, статичні маршрути, окремі таблиці для розділення потоків, фільтри. Зміни вносимо повторювано й зберігаємо в репозиторії, щоб стенд, тест і прод не розходилися між собою.

  4. Перевірка на стенді. Проганяємо сценарії: зміна адреси, втрата каналу верхнього рівня, асиметричне повернення трафіку, змішані режими IPv4 та IPv6. Вимірюємо час збіжності й відновлення зв’язності — у прод ідемо лише з цими цифрами.

  5. Контрольоване перенесення. Перемикаємо по одному вузлу або сегменту, у погодженому вікні та з планом відкату: попередні конфігурації збережено. Доступність сервісів підтверджуємо запитами із зовнішніх точок, а не з самого сервера.

  6. Передача документації. Віддаємо актуальну схему адресації та маршрутів, карту залежностей, шаблони конфігурацій, порядок відкату й чек-лист перевірки після змін. Ваші інженери зможуть повторити налаштування й точково його змінити без звернення до нас.

Що залишається у вас: конфігурації, схеми, регламенти

Усе, що ми налаштовуємо, залишається у вашому репозиторії та працює без нашої участі: підняти маршрутизацію на новому майданчику або повернути попередній стан можна за документами, не розшукуючи автора змін. Нижче — набір артефактів, який передається за кожним контуром.

  • Конфігурації маршрутизації — декларативні файли з адресами інтерфейсів, шлюзами, статикою й окремими таблицями; застосовуються однією командою, а стан після перезавантаження звіряється автоматично.
  • Схема адресації — які префікси закріплено за сегментами, де ввімкнено обидва протоколи, що віддано сервісам, шлюзам і службовим мережам, із резервом під розширення.
  • Правила фільтрації — що й куди дозволено між сегментами, прив’язано до сервісів, а не до конкретних хостів: нова машина не потребує правки політики.
  • Правила маршрутизації за політикою — який трафік іде через який канал і як система поводиться при відмові основного.
  • Порядок змін — гілка, перевірка на стенді, вікно застосування, відкат: заздалегідь видно, які правки безпечні в робочі години.
  • Інструкція для чергової зміни — як за хвилини відрізнити проблему маршруту від спрацьованого фільтра й які дані зняти до підключення інженера.
  • Карта зв’язності — потоки між майданчиками та зовнішніми сервісами, точки виходу в мережу й резервні шляхи.

Артефакти лежать поруч із кодом і версіонуються: історію правок видно, стан на будь-яку дату відновлюється. Передачу закриваємо розбором із вашою командою та черговою зміною — щоб документи не залишилися непрочитаними.

Кейс: перемикання оператора без обривів зв’язку

До: зміна оператора як планова аварія

Розподілена мережа з кількох майданчиків виходила в інтернет через одного оператора, а резервний канал вмикався вручну: інженер помічав деградацію, правив таблицю маршрутизації й перезапускав сесії.

Перемикання займало від 12 до 40 хвилин, і весь цей час рвалися встановлені з’єднання — вивантаження між майданчиками, клієнтські сесії, канали підрядників. Резерв формально був, але кожна зміна оператора перетворювалася на простій сервісу.

Після: перемикання за секунди без втрати з’єднань

Ми розвели майданчики на двох незалежних операторів і перевели маршрутизацію на динамічну схему з перевіркою доступності через окремий шлях.

Маршрут вибирається за метриками затримки й втрат: поки обидва канали живі, трафік іде основним, під час деградації переходить на резерв за секунди. Стан активних з’єднань синхронізовано між пограничними вузлами, тому й повернення на основний канал не рве сесії.

  • простій під час перемикання: 12–40 хвилин → 3–5 секунд;
  • втрата встановлених з’єднань: за кожної зміни оператора → поодинокі випадки лише на планових роботах;
  • хибні перемикання: кілька за квартал → нуль;
  • доступність зовнішнього контуру: 98,2% → 99,94%.

Цифри підтверджують два незалежні джерела: телеметрія Prometheus і логи пограничних маршрутизаторів; зовнішні перевірки з незалежних точок дають ту саму картину. Стійкість каналів перестала залежати від одного оператора й від ручних дій чергового.

Чим автоматична перебудова шляхів відрізняється від ручних записів?

Перша вісь — реакція на збій. За ручних записів таблиця маршрутів залишається такою, якою її залишив інженер: трафік продовжує йти у канал, що відмовив, поки черговий не помітить проблему й не поправить конфігурацію.

Автоматична перебудова спирається на постійний обмін службовими повідомленнями між вузлами — пропуск підтверджень знімає маршрут з активних, і трафік переходить на резервний напрямок за секунди, без участі людини.

Друга вісь — супровід мережі, тобто обсяг ручної роботи. Статичні записи ведуть на кожному вузлі окремо: нова підмережа, перенесення сегмента, другий оператор зв’язку — правку потрібно рознести по всіх конфігураціях і не пропустити жодної.

Динамічна схема описує правила один раз: вузли самі повідомляють про доступні напрямки, а ваги й метрики задають пріоритет. Чим більше точок і каналів, тим помітніший розрив у трудовитратах.

Кваліфікація чергової зміни — третя вісь. Ручні записи вимагають, щоб черговий тримав топологію в голові й прораховував наслідки правки: помилка в адресі або масці заводить у відмову цілий сегмент.

Автоматика переносить цю роботу на правила — достатньо перевірити стан сусідства, метрики й наявність анонсів. Поріг входу нижчий, а коло людей, здатних безпечно втрутитися в нічну зміну, ширше.

Передбачуваність змін і вибір підходу пов’язані напряму. Статична схема прозора, але погано переживає зростання: зв’язки між вузлами доводиться утримувати в документації та голові.

Автоматична перебудовується за заданими правилами, і результат правки перевіряють до застосування на робочому контурі. На практиці частіше беруть гібрид: автоматика там, де потрібна швидка реакція на збій, статика — на фіксованих стиках, де маршрут не повинен змінюватися.

Часті технічні сумніви перед початком робіт

Перед початком робіт замовнику важливо розуміти, як зміни позначаться на живому трафіку.

Нижче — відповіді на запитання, які найчастіше ставлять перед налаштуванням маршрутизації Linux: вони про збереження поточних правил, перевірку на регресії, простій і розподіл відповідальності.

Що буде з уже налаштованими правилами?

Наявні правила маршрутизації та політики фільтрації ми спочатку інвентаризуємо: збираємо таблиці маршрутів, списки в актуальній гілці ядра, зберігаємо їх у конфігураційні файли. Нові записи додаються поверх, конфліктні — переносяться явною заміною, а не видаленням. Після зміни стенда конфігурація залишається відтворюваною з файлів, а не з ручних команд у сесії.

Як перевіряєте відсутність регресій?

До правок знімаємо еталон: доступні маршрути, час відгуку до ключових вузлів, стан тунелів і балансування. Після — проганяємо той самий набір і порівнюємо результат.

Окремо перевіряємо симетричність шляхів і поведінку при відмові одного з каналів: маршрут має перебудуватися, а не обірвати з’єднання.

Чи потрібен простій?

У більшості сценаріїв — ні. Правила застосовуються точково, без перезавантаження вузла, а зміни набувають чинності на активних з’єднаннях поступово.

Якщо архітектура потребує перемикання шлюзу, вибираємо вікно мінімального навантаження й тримаємо його коротким: клієнтський сервіс бачить лише короткочасне зростання затримки, а не розрив.

Хто відповідає за збій після впровадження?

Налаштування, схему адресації та план відкату фіксуємо в документації — вона передається вашій команді разом із конфігураціями. Гарантійний період супроводу входить у роботи: якщо після зміни виявляється відхилення в маршрутах, розбираємо його й усуваємо. Відповідальність за зміни, внесені вже після передачі, залишається на вашій стороні.

Чи є план відкату?

Так, і він перевіряється до, а не після впровадження. Зберігаємо попередній стан маршрутів і таблиць, готуємо зворотний набір команд і точку повернення конфігурації.

Якщо контрольні перевірки після перемикання не проходять, стенд повертається в початковий стан за хвилини — трафік іде попередніми шляхами.

Що далі: обговорюємо завдання й повертаємося з планом

Щоб повернутися з оцінкою та планом впровадження, а не із загальними словами, нам потрібні ввідні щодо інфраструктури: маршрутизація на Linux-серверах майже завжди зав’язана на суміжне обладнання й на те, як правила потрапляють на вузли. Нижче — те, що варто надіслати до обговорення завдання.

  • Поточна адресація: статичні адреси або видача через DHCP, скільки інтерфейсів і підмереж на кожному вузлі, чи є подвійний стек IPv4/IPv6.
  • Хто роздає маршрути: шлюз, маршрутизатор, балансувальник — і де зараз описані правила.
  • Цільова логіка: що має ходити між підмережами, що потрібно ізолювати, де потрібен вихід назовні та трансляція адрес.
  • Як правила потрапляють на сервери: вручну, шаблонами конфігурації або через систему керування — від цього залежить схема робіт.
  • Обмеження щодо вікна робіт: допустимий простій, чи є резервний канал на час перемикання.
  • Доступи: тестовий контур для перевірки, порядок погодження змін, хто приймає результат.
  • Як ви зараз перевіряєте зв’язність: трасування, лічильники помилок на інтерфейсах, журнали.

Цього набору достатньо, щоб зібрати схему робіт і порядок перевірки результату: спочатку тестовий контур і контрольні точки зв’язності, потім розкатка по вузлах із можливістю відкату, потім звірка з початковим станом. Опишіть завдання — повернемося з оцінкою, планом впровадження та зрозумілим порядком приймання.

Наші компетенції:

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1542
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1394
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1369
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    816
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1141