Я налаштовую маршрутизатор для Linux iptables
. Я хочу написати тести прийняття для конфігурації, які стверджують такі речі:
- трафік від якогось хлопця в Інтернеті не пересилається, і
- TCP на порт 80 на веб-сервері в DMZ від хостів у корпоративній локальній мережі передається.
Стародавній FAQ натякає на iptables -C
варіант, який дозволяє запитати щось на кшталт, "якщо пакет з X, Y, на порт Z, це буде прийнято чи відмовлено?" Хоча FAQ пропонує, що він працює так, iptables
але (але, можливо, не так, ipchains
як це використовується в прикладах), -C
варіант, здається, не імітує тестовий пакет, що проходить через усі правила, а навпаки, перевіряє наявність правильно відповідного правила. Це мало значення як тест. Я хочу стверджувати, що правила мають бажаний ефект, а не лише те, що вони існують.
Я розглядав можливість створення ще більше тестових віртуальних машин та віртуальної мережі, а потім зондування за допомогою інструментів, таких як nmap
ефекти. Однак я уникаю цього рішення через складність створення всіх цих додаткових віртуальних машин, що справді є досить важким способом генерування деякого тестового трафіку. Було б також непогано мати автоматизовану методологію тестування, яка також може працювати на реальному сервері у виробництві.
Як інакше я можу вирішити цю проблему? Чи є якийсь механізм, який я міг би використовувати для генерування або моделювання довільного трафіку, щоб потім знати, чи був він (або був би відхилений) або прийнятий iptables
?