Разработчики NetBSD представили новый пакетный фильтр - NPF
Основные возможности NPF:
- Изначальная поддержка обработки пакетов в многопоточном режиме и минимизация блокировок в коде. NPF отлично масштабируется на многопроцессорных системах, в отличие от PF, в котором используется однопоточный режим работы.
- Использование эффективных хэш-таблиц и красно-черных деревьев для ускорения выборки элементов;
- Поддержка фильтрации с учетом состояния TCP-соединений;
- Поддержка нескольких режимов трансляции адресов, включая NAPT (несколько внутренних адресов могут быть привязаны к одному реальному IP с разделением по номеру порта) и ALG (Application-Level Gateway, учет особенностей прикладных протоколов при организации трансляции адресов, например, позволяет работать через NAT ftp, p2p, h.323, sip и т.п.);
- Привычный, для пользователей PF и IP Filter, синтаксис файла конфигурации и типовой набор утилит;
- Модульность и расширяемость: функции NPF могут расширяться через загрузку дополнительных модулей. Для создания модулей и расширений подготовлен специальный API. В заданных пользователем правилах фильтрации могут быть встроены обращения к внешним модулям;
- Движок инспектирования пакетов "N-Code processor", основанный на идеях, реализованных в интерфейсе BPF (Berkeley Packet Filter): попадание пакетов под правила обеспечивается через формирование набора RISC-подобных инструкций и CISC-подобных команд для выполнения типовых операций (например, проверка IPv4-адреса).
Разработку планируется довести до полнофункционального состояния к концу января 2011 года. Ожидается, что в это время NPF сможет обеспечить работу всех функций, свойственных другим пакетным фильтрам:
- поддержка пересборки IPv4-пакетов;
- двунаправленный NAT и форвардинг портов;
- режим FTP-прокси;
- возможность очистки флаговых полей в заголовках IP-пакетов;
- выборочное блокирования ICMP и TCP RST пакетов;
- сохранение и восстановление состояния;
- ведение лога пакетов, настраиваемого через систему фильтров.
В настоящее время NPF испытывает трудности с реализацией поддержки IPv6, разработчики NetBSD приглашают присоединиться к проекту энтузиастов, заинтересованных в интеграции поддержки IPv6.
Источник: http://www.opennet.ru/opennews/art.shtml?num=27955
|
0 | Tweet | Нравится |
|