Все знают, что это невозможно. Но вот приходит невежда, которому это неизвестно - он-то и делает открытие.

Встречаются два программиста. Первый: ...

Начальный план разработки Qt 6
Thu, 21 Jun 2018 22:26:33 +0300

Разработчики Netfilter официально объявили инструментарий iptables устаревшим
Thu, 21 Jun 2018 14:18:47 +0300

Blender тестирует децентрализованный PeerTube после блокировки видео на YouTube
Wed, 20 Jun 2018 20:35:28 +0300

Представлен проект Fedora CoreOS
Wed, 20 Jun 2018 19:05:49 +0300

В OpenBSD добавлен код программного отключения SMT (HyperThreading)
Wed, 20 Jun 2018 12:11:25 +0300

В рамках проекта Devilution предпринята попытка воссоздания кода игры Diablo
Tue, 19 Jun 2018 13:06:26 +0300

Проекту FreeBSD исполнилось 25 лет
Tue, 19 Jun 2018 12:18:37 +0300

Открыт код C++ компилятора Zapcc
Mon, 18 Jun 2018 11:26:24 +0300

Установочный скрипт проекта yandex-disk-indicator удалял раздел /usr
Sun, 17 Jun 2018 20:11:45 +0300

Mozilla рассматривает возможность создания системы голосовой навигации для браузера
Sun, 17 Jun 2018 13:27:14 +0300

Разбор ситуации с обвинением OpenBSD в нарушении эмбарго при исправлении уязвимости KRACK
Sat, 16 Jun 2018 08:46:44 +0300

Подготовленный в Microsoft deb-пакет с Open R принудительно заменяет /bin/sh на bash
Thu, 14 Jun 2018 20:15:07 +0300

В Chrome будет прекращена поддержка установки дополнений по запросу сторонних сайтов
Thu, 14 Jun 2018 12:04:29 +0300

Раскол среди создателей проекта CopperheadOS
Wed, 13 Jun 2018 10:34:17 +0300

Началась разработка GitPub, протокола для децентрализованных Git-сервисов
Tue, 12 Jun 2018 10:04:53 +0300

Новости OPENNET
Новости

Разработчики подсистемы NetFilter выставили на обсуждение патчи с начальной реализацией нового пакетного фильтра bpfilter, который со временем может заменить ныне поддерживаемые механизмы фильтрации пакетов nftables и iptables. Несмотря на все свои достоинства интенсивность внедрения механизма Nftables оставляет желать лучшего и iptables до сих пор остаётся более востребован и не желает повторять судьбу ipchains и ipfwadm.

В nftables логика фильтрации и специфичные для протоколов обработчики компилируются в байткод в пространстве пользователя, после чего данный байткод загружается в ядро при помощи интерфейса Netlink и выполняется в специальной виртуальной машине, напоминающей BPF (Berkeley Packet Filters). При этом последние годы в ядре Linux поставляется универсальная встроенная виртуальная машина BPF с JIT, для которой активно ведётся работа по улучшению производительности, функциональности и безопасности. Чтобы не поддерживать две разные виртуальные машины, выполняющие сходные задачи, и для достижения более высокой производительности у разработчиков возникла идея построения пакетного фильтра на основе штатного BPF-движка ядра Linux.

В итоге был подготовлен прототип нового пакетного фильтра bpfilter, иллюстрирующий идею применения BPF для фильтрации пакетов. Наиболее важным решением в предложенном прототипе стало желание обеспечить полную совместимость с наборами правил iptables, т.е. bpfilter сможет выступить в роли прозрачной замены iptables, полностью совместимой со всеми существующими конфигурациями (администраторам не придётся изучать новый синтаксис правил). Для достижения данной задачи планируется обеспечить совместимость на уровне API, который использует утилита iptables для взаимодействия с ядром (штатную утилиту можно будет пересобрать с реализацией API на базе bpfilter).

Bpfilter обрабатывает запросы API iptables и транслирует их в программы BPF, привязываемые к различным подсистемам. Например, при помощи XDP (eXpress Data Path) можно запустить BPF-программу на уровне сетевого драйвера, с возможностью прямого доступа к DMA-буферу пакетов для высокопроизводительной обработки.

Трансляция правил выполняется целиком в пространстве пользователя, что упрощает отладку и повышает безопасность. Для повышения производительности также может применяться JIT-компиляция BPF в машинные инструкции для архитектур x86_64, arm64, ppc64, sparc64, mips64, s390x и arm32, или задействование аппаратных механизмов выполнения BPF на уровне сетевого адаптера (например, Netronome NFP SmartNIC).

Харальд Вельте (Harald Welte), один из основных разработчиков netfilter/iptables, поставил под сомнение идею полной эмуляции API iptables через BPF для обеспечения прозрачной замены iptables, так как полностью повторить поведение iptables будет слишком трудно, а наличие различий при обработке существующих наборов правил iptables может привести к возникновению неожиданных проблем с безопасностью.

К тому же некоторые элементы дизайна iptables нельзя назвать удачными и повторение API iptables в bpfilter может привести к тому, что допущенные 18 лет назад ошибки проектирования iptables закрепятся ещё на 10 лет. Например, API iptables не предоставляет способа добавления/замены единичного правила или небольшого набора правил, а может только целиком очистить и перезагрузить всю конфигурацию. Данная особенность делает внесение изменений в межсетевой экран неудобным и существенно усложняет координацию одновременного внесения изменений несколькими обработчиками. Недовольство также вызывает необходимость разделения наборов правил для IPv4 и IPv6.

Вельте предложил не фокусироваться только на повторении iptables, а реализовать в bpfilter эмуляцию nftables API, который спроектирован с учётом недостатков iptables и больше соответствует современным реалиям. Возможность использования API nftables позволит поддержать тех, кто уже перешёл на nftables, а для остающихся на iptables будет стимулировать миграцию.

Дэвид Миллер (David Miller), мэйнтейнер сетевой подсистемы ядра, возразил, что iptables до сих пор существенно более распространён и реализация его интерфейса позволит достичь широкого охвата при тестировании. Вельте парировал тем, что в наиболее крупных областях применения, таких как Docker и Kubernetes, используются утилиты командной строки, а не iptables API, поэтому нет смысла в эмуляции API как такового для проведения тестирования в подобных системах.

Миллер также обратил внимание на то, что nftables так и не решил проблемы с производительностью подсистемы фильтрации пакетов, сместив вместо этого внимание на сетевые технологии в пространстве пользователя. Nftables может стать одним из тех экспериментов, которые позволяют разобраться в некоторой проблемной области, но никогда не получают распространения в реальной практике. При этом, bpfilter ещё очень далеко до интеграции в ядро, так как представления о его производительности пока носят лишь теоретический характер, код достаточно сырой, отсутствуют многие возможности, а некоторые функции не могут быть реализованы через BPF и требуют дополнительной поддержки в ядре (например, отслеживание соединений).

63.7873 73.6871 0.5768 9.8233

НОВОСТИ: Компания Oracle выпустила обновление Solaris 11.3 SRU 33 Sun, 17 Jun 2018 12:29:13 +0300

Сформировано обновление операционной системы Solaris 11.3 SRU 33, в котором предложена очередная серия исправлений и улучшений для ветки Solaris 11.3, изначально опубликованной в 2015 году. Параллельно развивается новая значительная ветка Solaris 11.4, которая пока находится на стадии бета-тестирования.

???????@Mail.ru Opera Firefox INFOBOX - хостинг Google Chrome