Даниил Батурин

Координатор проекта VyOS (https://vyos.io), «языковед», функциональщик, иногда сетевой администратор

Только самое нужное. Избавляем Linux от багажа прошивок для оборудования

Раз­работ­чики Linux под­держи­вают не толь­ко мно­жес­тво драй­веров устрой­ств в исходном коде ядра, но и боль­шую кол­лекцию про­шивок к устрой­ствам. Но…

Хитрости BIND. Берем контроль над DNS в свои руки

BIND был и остается одной из самых популярных реализаций сервера DNS. Долгое время он был фактическим стандартом. Более того, до…

GNU GuixSD. Знакомимся с операционкой нового поколения

Роль участников проекта GNU в развитии свободного программного обеспечения невозможно переоценить. Шелл по умолчанию в большинстве UNIX-подобных систем — GNU…

Nftables. Как выглядит будущее настройки файрвола в Linux

Начинающие админы часто считают, что файрвол в Linux называется iptables. Более опытные знают, что нынешняя подсистема ядра для фильтрации трафика…

Неизвестный OpenVPN. Знакомимся со скрытыми возможностями и настройками

OpenVPN был и остается одним из самых популярных проектов для построения виртуальных частных сетей. Да, к нему нет встроенного клиента…

Маленькие секреты сетевых утилит. Интерпретируем вывод ping, traceroute и whois для отладки

Команды ping, traceroute и whois — в числе первых вещей, о которых узнают начинающие админы. Многие, кто не специализируется на…

Immutable. Постигаем хитрости неизменяемых структур данных в функциональных языках

Ряд языков программирования заявляют неизменяемость переменных (immutability) как одну из своих главных фич. Среди них семейство ML (OCaml, F#, Standard…

Cygwin или MinGW? Собираем программы для Windows без Windows

Большая часть разработчиков свободного софта работает на Linux или Mac, а вот поддержка Windows обычно реализована по остаточному принципу. Заработало…

Переходим на Python 3. Как попрощаться с Python 2.7 и кодить дальше

В этом году анонсирован последний выпуск Python 2.7, после чего Python Software Foundation перестанет поддерживать ветку 2.7. Множество популярных библиотек…

Полезный демон. Как перестать бояться systemd и сделать свой сервис для Linux

Несмотря на множество проблем и противоречивые чувства пользователей, systemd уже стал стандартом де-факто в большинстве дистрибутивов Linux. С его помощью…

Непростой протокол. Автоматизируем настройку адресов в IPv6

IPv6 печально знаменит своей сложностью, во многом — оправданно. Взамен наследия IPv4 появились новые концепции и варианты настройки. Авторы стека…

Стойкий админ. Строим отказоустойчивые сети в Linux с keepalived

VRRP, несмотря на неясную ситуацию с патентами Cisco, остается стандартным протоколом для горячего резервирования маршрутизаторов. Популярный в системах семейства BSD…

Border Gateway Protocol. Изучаем хитрости и обходим подводные камни

BGP — единственный протокол глобальной маршрутизации в интернете, так что если ты зарегистрировал в RIPE или ином RIR автономную систему,…

Prefix hijacking. Используем RPKI для борьбы с потерей трафика

Инциденты с prefix hijacking случаются регулярно, когда трафик массово отправляется не тем путем, которым должен. Некоторые из них, может, и…

Искусство изоляции. Изучаем механизмы изоляции трафика в Linux

Изоляция трафика разных сетей в пределах одной ОС распространена повсеместно. Для конечных пользователей она незаметна — в этом ее цель.…

Почти single sign on. Используем системную аутентификацию с сокетами UNIX

В мире веб-приложений протоколы для SSO широко распространены и легко реализуемы. Ряд популярных приложений, к примеру консольный клиент PostgreSQL (psql),…

Магия iptables. Необычные виды преобразований сетевых адресов

Настраивать проброс портов и общий доступ к интернету через один публичный адрес умеют все, но не все знают, что возможности…

Загадочный IPsec. Все, что ты хотел узнать об IPsec, но не догадывался спросить

IPsec — сложный стек протоколов. На клиентской стороне он обычно автоматизирован, что в сочетании с его названием легко может вызвать…

Хитрый пингвин. Нестандартные трюки, которые помогут настроить сеть в Linux

Большую часть времени мы используем только самые простые возможности сетевого стека Linux. Маршрут по умолчанию, SNAT, несколько правил netfilter —…

Внутри x86-64 SystemV ABI. Как говорить с ядром Linux на его языке

Абстракция — основа программирования. Многие вещи мы используем, не задумываясь об их внутреннем устройстве, и они отлично работают. Всем известно,…

Неизвестные туннели Linux. Осваиваем новые способы строить виртуальные сети

Классические туннели, такие как GRE и IPIP, знакомы каждому админу. Однако Linux не ограничивается ими. Малоизвестные опции классических туннелей и…

Сила OCaml. Разбираемся с типизацией и пишем скрипты

Статически типизированные языки обычно вынуждают писать типы переменных по любому поводу. Но уже далеко не всегда: теория и практика языков…

На что способна ада. Делаем утилиту для детекта гипервизора на полузабытом языке

Лучше всего познавать язык на реальном проекте, поэтому, когда я решил поэкспериментировать с адой, я поставил себе реальную и интересную…

Python по всем правилам. Делаем свою структуру данных совместимой с фичами Python

Если ты пишешь на Python, то наверняка видел в стандартных библиотеках определения методов, обернутых в двойные подчеркивания. Эти «магические» методы…

Мифы об аде. Как и зачем программировать на аде в современном мире

Язык, разработанный по заказу Министерства обороны США и названный в честь первой в мире программистки Ады Лавлейс, активно используется для…