Для того, щоб ядро виконувало фільтрацію пакетів, потрібно щоб в його склад були включені відповідні модулі.
Для цього необхідно поправити файл конфігурації ядра і пересобрать ядро системи. У файлі / usr / src / sys / i386 / conf / ВАШЕ_ЯДРО потрібно додати такі рядки:
і пересобрать його. Опції. . є необов'язковими. Опція повинна використовуватися завжди, якщо потрібно включити підтримку ipfw в ядро.
Для підтримки модуля dummynet потрібно додати опцію DUMMYNET в конфігураційний файл ядра:
Розширені можливості пошуку, які можуть бути корисні при тонкій настройці dummynet, це NMBCLUSTERS і HZ. Перший дозволяє вказати обсяги мережевих буферів, а другий - точність (granularity) таймера.
Таблиця 6. Параметри конфігурації ядра, що відносяться до фільтру пакетів
Включити в ядро код, який виконує фільтрацію пакетів
Дозволити заносити інформацію про пакети в syslog. Якщо ця опція не включена, опція log в правилах ipfw нічого не дасть.
Якщо кількість записів занесених до журналу одним правилом перевищує указазнний межа (в даному випадку, 10), записи припиняють заноситися. Для того, щоб почати заносити їх знову, потрібно скинути лічильник за допомогою команди zero.
Перетворити правило-по-замовчуванню в allow. Якщо ця опція не вказана, правило-за замовчуванням встановлено в deny.
Налаштування пакетного фільтра, які виконуються за допомогою утліти ipfw дійсні тільки до перезавантаження. Для того, щоб зробити їх постійними, необхідно щоб фільтрація налаштовувалася кожен раз при завантаженні системи.
Нагадаємо, що конфігурація завантаження системи визначається файлом /etc/rc.conf. У ньому описуються змінні, які повідомляють завантажувальним скриптів, як вони повинні себе вести. Для того щоб вплинути на роботу завантажувальних скриптів, слід змінювати значення мінливих, устанавліваеми в цьому файлі.
При запуску машини головний завантажувальний скрипт /etc/rc.conf викликає скрипт налаштування мережі /etc/rc.network [3]; він в свою чергу викликає /etc/rc.firewall. Скрипт /etc/rc.firewall виконує настройку брандмауера.
У FreeBSD описано кілька типових конфігурацій брандмауера. Типова конфігурація вибирається за допомогою змінної firewall_type.
Брандмауер пропускає всі пакети.
Брандмауер налаштований так, як повинен бути налаштований стандартний клінетскій комп'ютер. Він дозволяє всі вихідні з'єднання, і забороняє всі вхідні з'єднання крім сполук по 25 порту.
пропускає пакети, які відправляються хостом $ в локальну мережу. ;
дозволяє всі вихідні з'єднання з хоста;
а всі вхідні з'єднання на 25 порт
забороняє всі інші вхідні TCP з'єднання;
дозволяє проходження UDP пакетів по портам DNS (53) і NNTP (123).
всі інші пакети розглядаються правилом-по-замовчуванню, яке визначається конфігурацією ядра
Простешій брандмаеур, що захищає локальну мережу від проникнення з Інтернету. Правила фільтрації точно такі ж, як і в CLIENT. але
Є підтримка natd. Виконуватися передача IP-пакетів на divert-сокет демона natd. за умови що natd_enable = YES;
Значення $. $ І $ слід вручну встановлювати у файлі /etc/rc.firewall.
Дозволяє тільки трафік через локальний інтерфейс lo0. Проходження решти трафіку визначається правилом-за замовчуванням.
Брандмауер в режимі CLOSED закритий тільки в тому випадку, якщо правило-за замовчуванням установелно ядром в deny
Брандмауер ніяк не налаштовується. Буде він пропускати трафік чи ні визначається конфігурацією ядра системи. Використовується за замовчуванням.
Правила брандмауера завантажуються з зовнішнього файлу. Файл визначається значенням змінної firewall_type. Додаткові аргументи ipfw можуть бути передані за допомогою firewall_flags.
Файл повинен містити команди ipfw в тому вигляді, в якому вони вказуються в його командному рядку. наприклад:
У найпростіших випадках можна скористатися одним з цих варіантів, але якщо потрібна більш тонка настройка, доведеться описувати правила фільтрації самостійно. Потрібно Соза файл, який містить правила фільтрації і вказати ім'я цього файлу в якості firewall_type.
Изменеия конфігурації фільтра пакетів вступлять в силу після перезавантаження комп'ютера. Щоб вони стали дійсними прямо зараз можна виконати [4].
При віддаленому адмініструванні потрібно бути обережним, щоб випадково не закрити собі доступ до хосту.
Таблиця 7. Деякі параметри /etc/rc.conf