Пакет межсетевого экрана установлен, правила исчезли после перезагрузки
Установка, активный набор правил и то, что его восстанавливает, — три отдельные задачи. Сохранение каждого загруженного правила может закрепить эксперименты вместе с политикой VPN.
Пакет установился чисто, правила были проверены, а после следующей перезагрузки шлюз был широко открыт. Ничто в транзакции не сорвалось; ошибка была в допущении о том, что сохранится. Установка средств межсетевого экрана, решение о том, какие правила должны выжить, и их восстановление в нужный момент — три отдельные задачи.
Что на самом деле говорит симптом
Набор правил, исчезающий при перезагрузке, имеет одного из трёх владельцев: ничто его не сохранило, что-то другое его заменило, или он был восстановлен раньше, чем появилось то, от чего он зависит. Первые две причины видны в конфигурации; третья проявляется только в порядке. Поэтому перезагрузка может выглядеть как потеря данных, хотя на деле это проблема последовательности.
Начните с записи того, что было верно до перезагрузки: какая служба держала правила, какой файл или базу она читала при запуске и записывалось ли когда-нибудь в этот источник. Активный набор правил, который никто не сохранил, — обоснованное объяснение и самое частое.
Не начинайте с переустановки пакета.
Прочитайте инструмент сохранения, прежде чем использовать его
Средства Дебиана рассматривают сохранение как проблему плагинов: каждый плагин знает, как записать свои правила, а одна обёртка вызывает их. Его действие сохранения записывает всё, что загружено в этот момент, а действие запуска загружает этот снимок обратно. Ни одно из действий не проверяет, что именно оно сохраняет.
Это снимок, а не проверка. Оставшееся разрешение из сеанса отладки, незавершённый эксперимент или мягкое правило, вставленное другим помощником, — всё это становится постоянным рядом с политикой, которую вы хотели сохранить. Сохранить состояние и одобрить состояние — разные занятия, и только одно из них требует суждения. Сначала прочитайте загруженный набор, потом решите, какие строки заслуживают остаться.
Сохраняйте осознанно, после того как прочитали, что загружено.
Решите, что должно остаться
Некоторые правила относятся к жизненному циклу интерфейса и должны исчезать вместе с ним. Другие должны пережить туннель, и самый ясный пример — ограничение, которое запрещает клиентскому трафику откатываться на физический интерфейс, когда туннель падает. Эти две категории требуют разных триггеров восстановления, а не одного общего снимка.
Запишите желаемый результат для трёх моментов: загрузка, активация VPN и потеря туннеля. Затем проверьте, может ли выбранный инструмент выразить каждый из них. Пакет сохранения, который заново загружает статический снимок, покрывает первый и, возможно, ни один из остальных, потому что снимок не знает, когда изменилось состояние туннеля. Если он не может их выразить, пробел относится к другому компоненту.
Ответ определяет политика, а не пакет.
Проверьте порядок восстановления
Восстановить файл — не то же самое, что владеть результатом. Другой менеджер может заменить правила, более раннее разрешение может их заслонить, или клиенты могут начать отправлять раньше, чем ограничение вступит в силу. Проверьте поведение при запуске и переподключении, а не только наличие сохранённого файла.
systemctl status netfilter-persistent
iptables -S
Не считайте остановку службы сохранения безобидной: пакет документирует условную очистку при остановке. Установите действительную конфигурацию службы, прежде чем использовать остановку или перезапуск как эксперимент на шлюзе, которым управляете удалённо. Сеанс консоли и документированный откат — минимум перед этим тестом.
Порядок — свойство работающей системы, а не файла на диске.
Примите три отдельных результата
Записывайте установку пакета, загруженный набор правил и применяемую политику как отдельные факты. Имя пакета в ветке поддержки отвечает только на первое, и именно оно редко имеет значение.
nft list ruleset
Затем проверьте разрешённую операцию и требуемый отказ.
Если отказ сохраняется после перезагрузки и после падения туннеля, политика выживает. Если он сохраняется только в одном из этих состояний, вы нашли проблему порядка, а не исправили её.