Iptables перевіряють синтаксис сценарію


11

Чи є спосіб перевірити / перевірити синтаксис сценарію правил iptables без зміни фактичної конфігурації брандмауера (я думаю, додавання та видалення кожного правила - не найкращий спосіб ...).

Я знаю про варіант -C, але він не перевіряє такі параметри, як ланцюги, і він трохи хитрий зі своїми кодами повернення, тому що 1 не завжди означає, що синтаксис правильний.

Дякую!

Відповіді:


9

Як запропонували дігови, ви можете використовувати відновлення iptables, проте ви можете використовувати його з прапором --test, щоб просто перевірити конфігурацію, а не перевірити її як частину фактичної установки.

iptables-restore --test [YOUR RULES AS A FILE]

Здається, це не завжди працює добре. В даний час я працюю над файлом iptables, який не працює при його фактичній установці (iptables-recovery <iptables-new), але за допомогою параметра --test, помилок не створюється. Я б опублікував це, але це довго. m15440 @ NDC01P04CU2PNGA sysconfig # Iptables-відновлення --test <Iptables-нові m15440 @ NDC01P04CU2PNGA sysconfig # Iptables-відновлення <Iptables-нові Iptables-відновлення: рядок 217 не вдалося m15440 @ NDC01P04CU2PNGA sysconfig #
PatrickTaylor

1

Використовуйте iptables-save / iptables-Resto. На мою думку, використання скрипту - погана ідея. Напишіть свої перші правила з командного рядка, а потім збережіть їх за допомогою «iptables-save> file» та продовжуйте редагувати цей файл. "iptables-recovery <файл" використовується для застосування правил. Ця команда перевірятиме синтаксис і не застосовуватиме правила, якщо є помилка.


1
Крім того, граючи з iptables на віддаленій машині, я також налаштовував роботу cron, щоб запускати кожні 5 або 10 хвилин, що відновлює iptables до стану "дозволити всім" за замовчуванням, тож якщо я заблокував себе, я повернусь у протягом 5 - 10 хвилин. Просто пам’ятайте, щоб заблокувати його ще раз і відключити роботу cron;)
jwbensley
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.