Навколишнє середовище, в якому я працюю, - це широкомасштабна операція веб-хостингу (кілька сотень серверів під управлінням, майже загальнодоступні адреси тощо), тому все, що говорить про управління посиланнями ADSL, навряд чи добре працює), і ми ' шукайте те, що буде зручно керувати як основним набором правил (близько 12 000 записів у iptables при поточному рахунку), так і набором наборів правил, якими ми управляємо для клієнтів. Наш основний набір правил маршрутизатора змінюється кілька разів на день, а набори правил на основі хоста змінюються, можливо, 50 разів на місяць (на всіх серверах, тому можливо одна зміна на п’ять серверів на місяць).
В даний час ми використовуємо filtergen (що в основному є кулями, і супер-кулі в нашому масштабі роботи), і я використовував shorewall в минулому на інших роботах (що було б краще, ніж filtergen, але я думаю, що там треба бути щось там, що краще, ніж це).
"Необхідні", які ми придумали для будь-якої системи заміни:
- Потрібно створити набір правил досить швидко (запуск фільтра на нашому наборі правил займає 15-20 хвилин; це просто божевільно) - це пов'язано з наступним моментом:
- Потрібно створити файл відновлення iptables і відновити файл одним завантаженням, а не викликати iptables для кожної вставки правила
- Не слід знімати брандмауер протягом тривалого періоду, поки набір правил перезавантажується (знову ж, це є наслідком вищезазначеного пункту)
- Повинна підтримувати IPv6 (ми не розгортаємо нічого нового, що не сумісне з IPv6)
- Повинно бути без DFSG
- Потрібно використовувати текстові файли конфігурації (оскільки ми виконуємо все за допомогою контролю редагування та використання стандартних інструментів для обробки тексту Unix - це наш SOP)
- Повинно підтримувати RedHat і Debian (переважне в упаковці, але принаймні не повинно бути відверто ворожим або стандартам дистрибутива)
- Повинен підтримувати можливість запускати довільні команди iptables для підтримки функцій, які не входять до "рідної мови" системи
Все, що не відповідає всім цим критеріям, не вважатиметься. Нижче перелічені наші "приємно мати":
- Якщо слід підтримувати конфігураційний файл "фрагменти" (тобто ви можете скинути купу файлів у каталог і сказати в брандмауер "включити все в цей каталог до набору правил"; ми широко використовуємо управління конфігурацією і хотіли б використовувати цю функцію для надавати правила, що стосуються конкретних послуг, автоматично)
- Слід підтримувати необроблені таблиці
- Дозволяє вказати конкретний ICMP як у вхідних пакетах, так і в правилах ОТМЕНИТИ
- Якщо витончено підтримувати імена хостів, які вирізняються на більш ніж одну IP-адресу (нас це кілька разів спіймало filtergen; це досить королівський біль у задниках)
- Чим більше необов'язкових / дивних функцій iptables, які інструмент підтримує (як в домашніх умовах, так і через існуючі або легкозаписувані плагіни), тим краще. Ми використовуємо дивні функції iptables час від часу, і чим більше тих, хто "просто працює", тим краще для всіх.