NPF

New Packet Filter (NPF)
Тип Межсетевой экран
Разработчик проект NetBSD
Написана на Си[1][2], yacc[3][2] и lex[2][4]
Операционная система NetBSD
Последняя версия 6.0
Репозиторий github.com/rmind/npf
Лицензия BSD
Сайт netbsd.org

NPF (New Packet Filter) — межсетевой экран, разработанный в рамках проекта NetBSD.

Изначальной целью проекта была разработка фильтра (сетевых) пакетов, который, с одной стороны, будет воплощать в себе удобства и возможности PF, а с другой — будет легко расширяем и масштабируем на мультипроцессорных системах.

История

Первым разработчиком NPF является Mindaugas Rasiukevicius. Разработка NPF была спонсирована NetBSD Foundation. В репозиторий NetBSD код NPF вошёл 22 августа 2010 года, а первым релизом этой операционной системы со входящим в поставку NPF, является версия 6.0.

Особенности

Как и PF, NPF состоит из двух основных частей: одна располагается в ядре ОС и осуществляет собственно обработку пакетов, а другая — конфигурационная утилита npfctl. Синтаксис конфигурационных файлов и самой утилиты npfctl приближен к оному у pfctl, утилиты конфигурации PF. Однако собственно NPF представляет собой совершенно новый продукт.

NPF изначально создавался с учётом использования на мультипроцессорных системах и поэтому умеет использовать все доступные ядра/процессоры. NPF, в отличие от большинства других пакетных фильтров, не просто проходит по наборам правил, но компилирует их в специальный псевдокод, схожий с BPF.

Примечания

  1. http://bxr.su/n/sys/modules/npf/Makefile
  2. 1 2 3 http://bxr.su/n/usr.sbin/npf/npfctl/Makefile
  3. http://bxr.su/n/usr.sbin/npf/npfctl/npf_parse.y
  4. http://bxr.su/n/usr.sbin/npf/npfctl/npf_scan.l

Ссылки

  • Введение NPF в NetBSD 6.0 Архивная копия от 26 июня 2017 на Wayback Machine
  • Руководство по конфигурационным файлам NPF Архивная копия от 18 февраля 2018 на Wayback Machine
Перейти к шаблону «Межсетевые экраны»
Свободные
Стена из чёрных кирпичей
Бесплатные
Коммерческие
Аппаратные
Перейти к шаблону «NetBSD»
Проект NetBSD
Операционная система
Связанные проекты
Notable subsystems
  • Veriexec
  • busdma
  • PUFFS
  • RUMP
  • NPF