Комментарии
Как книгоиздатель подтверждаю — тема BPF сейчас на подъёме не только у нас, но и на западе. По этому хотелось бы обратить внимание на нашу книгу «BPF для мониторинга Linux». Мы очень стараемся отслеживать тренды ещё на этапе формирования и готовить для русскоязычных читателей актуальные книги.
Более подробно с книгой можно ознакомиться на сайте издательства.

Ого, нечасто встречаю статьи о чем-то абсолютно новом для себя. И материал сам по себе достаточно полный. Спасибо!

Очень крутая статья, Марко!

Ну и кто захочет посмотреть bcc-tools, убедитесь, что у вас версия kernel-devel соответствует версии-релизу ядра :)
Версия от Cilium имеет те же особенности, что версия от Dropbox. Но она стоит упоминания хотя бы потому, что делается ребятами из проекта Cilium, а значит, обречена на успех.
libbpf-go — это совместная работа Cloudfare и cilium (вот как ее разработка начиналась год назад
A pure Go BPF library), и основная часть кода, скорее, разработана Cloudfare. Но когда они договаривались о сотрудничестве по разработке/поддержке этой библиотеки, cilium настояли, чтобы репозиторий был расположен в их github. И этот маркетинг, похоже, работает :)
Я правильно понимаю, что на BPF можно построить «избирательный VPN».
То есть который будет создавать туннель только для определённого адреса или группы адресов?
Боюсь что я не специалист в VPN, так что сходу не отвечу. VPN чуть более сложная штука, чем файрвол, даже умный файрвол.
Но разве текущие VPN технологии это не позволяют? Роутинг настроить можно.
Понятно. Спасибо за статью.

Почему у меня возник такой вопрос: участвовал несколько дней назад в хакатоне Demhack. Там была одна команда, они делали «VPN для демонстрации выборочного обхода блокировок».

Кстати, спросил у них про BPF. Ответ был ссылкой на их исходинки))
github.com/pokamest/obhod123
Хм, ну, казалось бы, 90% случаев использования vpn — это когда туннель для определенной группы адресов. И это разруливается через обычный ip route без всякого bpf. У меня вот сейчас два разных туннеля поднято (один на работу, другой на личный сервер) и траффик, не назначенный ни туда ни туда еще отдельно ходит.
Или я чего-то не понимаю в Вашем вопросе?
НЛО прилетело и опубликовало эту надпись здесь
Блин, зла не хватает. Ну расшифровывайте вы аббревиатуры хотя бы при первом применении! А ещё лучше — давайте определения. Я прочитал три экрана, и так и не понял, о чём вообще идёт речь. BPF то, BPF сё, BPF на пике популярности, в 1994 году появилась первая версия BPF… Всё это хорошо, но к пониманию предмета обсуждения не приближает. Вместо BPF можно было бы подставить любой другой TLA (three-letter acronym), хуже не стало бы. Всё это щедро перемешано с кучей других buzzwords: twitter, efi, k8s, go…
Наконец, в начале четвёртого экрана нашлось хоть что-то: «BPF — это подсистема ядра Linux». Ну наконец-то. Это даёт хоть какой-то контекст.

Короче. The Berkeley Packet Filter (BPF) is a technology used in certain computer operating systems for programs that need to, among other things, analyze network traffic.… Since version 3.18, the Linux kernel includes an extended BPF virtual machine with ten 64-bit registers, termed extended BPF (eBPF). It can be used for non-networking purposes, such as for attaching eBPF programs to various tracepoints. Since kernel version 3.19, eBPF filters can be attached to sockets, and, since kernel version 4.1, to traffic control classifiers for the ingress and egress networking data path.

Интересная технология.


в этом всём, повторюсь, то, что, будучи

А вот столько запятых подряд я ещё никогда не встречал :)

Поискал, для nodejs никак, к сожалению, не применить. Хотя было бы удобно слепок памяти по сигналу делать, производительность измерять…

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.