Для захисту мережі використовуються спеціалізовані сервери – брандмауери, з яких найбільш надійними є програми firewall. У ОС FreeBSD інтерфейс для керування firewall має назву IPFW, окрім того, firewall має опції обліку трафіка та обмеження швидкості dumnunet; конфігурування брандмауера здійснюється за допомогою списку нумерованих правил:
1 Брандмауер перевіряє за цими правилами кожний вхідний та вихідний пакети, доки не буде віднайдено відповідне до нього правило.
2 Пакети може бути введено до брандмауера відповідно до правила повторно, залежно від характеру дії, яка визначає це правило, а також від системних налагоджувань.
3 Усі правила є чинними для всіх мережних інтерфейсів, тому системний адміністратор має так записати встановлення правил, щоби шлях перевірки був мінімальним.
Конфігурування завжди вміщує правило за умовою (DEFAULT rule, номер 65535), яке не можна потім змінити, тому що воно використовується для всіх типів пакетів. Це правило може або дозволяти все, або забороняти все, залежно від конфігурації системного ядра, якщо налагодження вміщує одне або більше правил в собі зі збереженням стану або обмеженням опцій, тобто ipfw створюватиме динамічні правила, відповідні до точних параметрів (адреси порту) пакета, доки консенсу не буде віднайдено. Ці динамічні правила мають необмежений час життя й перевіряються за першого входження; правила cheek-state (перевірка наявності динамічних правил) або keep-state (правила стають статичними й зазвичай використовуються брандмауером за вимогою й лише для бажаного трафіка).
Усі правила, так само й динамічні, мають кілька пов’язаних лічильників для підраховування пакетів, кількості байтів, реєстрації підрахунків та timestamp – реєстрації часу.
Лічильники можуть відбиватись або скидатись командами ipfw.
Правила можуть додаватися командою add, вилучені індивідуально – за допомогою команди delete, а також глобально (усі разом) за допомогою команди fluch (скидання); правила можуть виводитись на екран за оцінками разом із вмістом лічильників за допомогою команд list. Лічильники відновлюються за допомогою команд zero або resetlog.
Припустимими є опції до команд ipfw:
-а — при друкуванні зазначаються значення лічильників;
-d — при друкуванні на доповнення до статичних правил виводяться динамічні правила;
-е — при друкуванні, якщо зазначено опцію d, додатково зазначаються прострочені динамічні правила;
-f — заборона запиту на потвердження для команд, яка може спричинити проблему, якщо неправильно використовуються.
Доступ до консолі треба відновлювати у таких випадках:
-t — при друкуванні зазначити відповідний timestamp;
-n — перевіряти відповідність імені та адреси при введенні;
-s — [fild] при друкуванні каналів розподіляти, що згідно з одним з чотирьох лічильників (підраховують поточні пакети чи байти).
З метою спрощення конфігурування правила може бути переміщено до файла, якого опрацьовано ipfw. При цьому повинен використовуватись абсолютний шлях. Файл читатиметься рядок за рядком, які можуть застосовуватися як аргументи для ipfw. Опційно може бути зазначено, використовуючи – preproc, де pathname має бути наскрізним канальним. Сучасні препроцесори включають в себе cpp та m4. Якщо preproc не запускається з прямим слешем (“/”), то його першим символом виконується звичайний пошук шляху. Слід дотримуватися обережності з preproc у системах, де не всі файлові системи змонтовано на мить запуску ipfw або ж він перебуває в файловій системі NFS. Параметр -p, а також наступні за ним (опційно) -D та -U можуть також передаватися препроцесорові. Це дозволяє створити гнучкий конфігураційний файл – подібно до конфігурування локального імені хоста й, використовувати макроси для централізованого конфігурування, подібно до IP-адреси.