Пакетът се инсталира чисто, правилата бяха тествани и след следващия рестарт шлюзът беше напълно отворен. Нищо в транзакцията не се провали; провалът беше в допускането какво ще се запази. Инсталирането на инструменти за защитна стена, решаването кои правила да оцелеят и възстановяването им в точния момент са три отделни задачи.

Какво всъщност ви казва симптомът

Набор от правила, който изчезва при рестарт, има един от три собственика: нищо не го е запазило, нещо друго го е заменило или той е бил възстановен преди да съществува нещото, от което зависи. Първите две се виждат в конфигурацията; третото се проявява само в подредбата. Затова рестартът може да изглежда като загуба на данни, когато всъщност е проблем с последователността.

Започнете, като запишете какво е било вярно преди рестарта: коя услуга е държала правилата, кой файл или база данни е чела при стартиране и дали този източник някога е бил записван. Жив набор от правила, който никой не е запазил, е валидно обяснение и най-честото.

Не започвайте с преинсталиране на пакета.

Прочетете инструмента за устойчивост, преди да го използвате

Инструментите на Дебиан третират устойчивостта като проблем с приставки: всяка приставка знае как да запише собствените си правила и една обвивка ги извиква. Действието за запазване съхранява всичко, което е заредено в този момент, а действието за стартиране връща тази снимка. Нищо в двете действия не преглежда какво съхранява.

Това е снимка, не преглед. Остатъчно разрешение от сесия за отстраняване на грешки, недовършен експеримент или разрешаващо правило, вмъкнато от друг помощник, всичко това става постоянно заедно с политиката, която сте искали да запазите. Запазването на състояние и одобряването на състояние са различни дейности и само една от тях изисква преценка. Прочетете заредения набор първо, после решете кои редове заслужават да оцелеят.

Запазвайте съзнателно, след като прочетете какво е заредено.

Решете какво трябва да оцелее

Някои правила принадлежат на жизнения цикъл на интерфейс и трябва да изчезнат с него. Други трябва да надживеят тунела и най-ясният пример е ограничение, което забранява на клиентския трафик да пада обратно към физическия интерфейс, когато тунелът падне. Тези две категории се нуждаят от различни задействащи механизми за възстановяване, а не от една обща снимка.

Запишете желания резултат за три момента: зареждане, активиране на VPN и загуба на тунела. След това проверете дали избраният инструмент може да изрази всеки от тях. Пакет за устойчивост, който презарежда статична снимка, се справя с първия и може да не се справи с нито един от другите, защото снимката няма представа кога състоянието на тунела се е променило. Ако не може да ги изрази, пропускът принадлежи на друг компонент.

Политиката, а не пакетът, решава отговора.

Проверете реда на възстановяване

Възстановяването на файла не е същото като притежаването на резултата. Друг мениджър може да замени правилата, по-ранно разрешение може да ги засенчи или клиентите може да започнат да изпращат, преди ограничението да влезе в сила. Прегледайте поведението при стартиране и повторно свързване, а не само наличието на запазен файл.

systemctl status netfilter-persistent
iptables -S

Не допускайте, че спирането на услугата за устойчивост е безвредно, защото пакетът документира условно изчистване при спиране. Установете действителната конфигурация на услугата, преди да използвате спиране или рестартиране като експеримент върху шлюз, който администрирате от разстояние. Конзолна сесия и документирано връщане назад са минимумът преди този тест.

Редът е свойство на работещата система, а не на файла на диска.

Приемете три отделни резултата

Запишете инсталирането на пакета, заредения набор от правила и наложената политика като отделни факти. Име на пакет в тема за поддръжка отговаря само на първото и то е това, което рядко има значение.

nft list ruleset

След това тествайте разрешена операция и изисквано отказване.

Ако отказът се задържи след рестарт и след загуба на тунела, политиката оцелява. Ако се задържи само в едно от тези състояния, намерили сте проблема с подредбата, вместо да го поправите.

Подобни статии