Pull to refresh
74
0.1
Михаил @gotch

Инженер

Send message

Что ты такое, dhclient?

Reading time19 min
Views39K

Сетевой стек Linux не прост даже на первый взгляд: приложение — в юзерспейсе, а всё, что после сокета, — в ядре операционки. И там тысяча реализаций TCP. Любое взаимодействие с сетью — системный вызов с переключением контекста в ядре.

Чтобы лишний раз не дёргать ядро прерываниями, придумали DMA — Direct Memory Access. И это дало жизнь классу софта с режимом работы kernel bypass: например при DPDK (Intel Data Plane Development Kit). Потом был BPF. А за ним — eBPF. 

Но даже помимо хаков работы с ядром есть такие штуки, как sk_buff, в которой хранятся метаданные всех миллионов протоколов. Есть NAPI (New API), которая призвана уменьшить число прерываний. Есть 100500 вариантов разных tables.

И копать можно безгранично далеко. Но сегодня мы всё же поговорим о вещах более приземлённых и повседневных, которые лишь приоткрывают вход в эту разветвлённую сеть кроличьих нор. Мы разберём одну любопытную задачку, на примере которой ужаснёмся тому, как сложно может быть реализован такой простой протокол, как DHCP.

Начать погружение
Total votes 177: ↑176 and ↓1+221
Comments61

Bleeding-edge обход блокировок с полной маскировкой: настраиваем сервер и клиент XRay с XTLS-Reality быстро и просто

Level of difficultyEasy
Reading time11 min
Views355K

В серии предыдущих статей я описывал, почему повсеместно используемые VPN- и прокси-протоколы такие как Wireguard и L2TP очень уязвимы к выявлению и могут быть легко заблокированы цензорами при желании, обозревал существующие гораздо более надежные протоколы обхода блокировок, клиенты для них, а также описывал настройку сервера для всего этого.

Но кое о чем мы не поговорили. Во второй статье я вскользь упомянул самую передовую и недетектируемую технологию обхода блокировок под названием XTLS-Reality, и пришло время рассказать о ней поподробнее, а именно - как настроить клиент и сервер для нее.

Кроме того, что этот протокол еще более устойчив к выявлению, приятным фактом будет и то, что настройка сервера XTLS-Reality гораздо проще, чем описанные ранее варианты - после предыдущих статей я получил довольно много комментариев типа "А что так сложно, нужен домен, нужны сертификаты, и куча всего" - теперь все будет гораздо проще.

Читать далее
Total votes 37: ↑37 and ↓0+37
Comments306

Краткий справочник по «всем-всем» командам Linux

Level of difficultyMedium
Reading time74 min
Views157K

Периодически меня на начальном курсе просят дать "список всех-всех команд с кратким описанием что делает"... Ну прям "всех-всех". И ведь если искать в интернете "такие" справочники существуют - либо про "20-30 команд, но самых важных", либо с неточностями и устаревшей информацией. Так что предлагаю вашему вниманию свою версию такого "краткого" справочника (на 300, 515, 612, 716, 842, 1005, 1110 команд) с ссылками на wiki-описание и на cheat.sh-примеры наиболее важных команд.

Справочник по всем-всем командам LINUX
Total votes 105: ↑102 and ↓3+120
Comments114

Linux, Git и базы данных: что почитать новичкам в Академии Selectel

Reading time4 min
Views7.8K

Источник.

Новичкам бывает сложно войти в администрирование. Комплексные курсы стоят дорого, а самостоятельный поиск информации заканчивается пополнением закладок, о которых вспоминают раз в год. В тексте собрали шесть бесплатных курсов по рекомендации от наших коллег. Их можно пройти сразу или постепенно — сохраним ваш прогресс, когда бы вы ни вернулись.
Читать дальше →
Total votes 42: ↑40 and ↓2+52
Comments5

Как я выбирал авто-холодильник для путешествий

Level of difficultyEasy
Reading time16 min
Views7.4K

Сохранение еды в путешествии – важный фактор комфорта. А охлаждение напитков в жаркий летний день – по-настоящему, бесценно. Раньше это было проблемой. Чего только не придумывали: охлаждали еду и воду, опустив в садке в реку, обматывали мокрыми тряпками, и даже выкапывали погреб в каждом месте стоянки. Всё это, конечно, лучше, чем хранение еды на жаре. Но очень неудобно и неэффективно.

Казалось бы, решение в виде термоэлектрического автомобильного холодильника было найдено еще 50 лет назад. Однако, на практике, такими холодильниками можно худо-бедно пользоваться только «на ходу», потому что они жутко прожорливы и неэффективны. Я сталкиваюсь с выбором авто-холодильника уже не первый раз. И каждый раз это превращается в какое-то хождение по мукам...

К обзору!
Total votes 44: ↑41 and ↓3+65
Comments65

Деплой .NET приложений для самых маленьких. Часть 0

Level of difficultyMedium
Reading time11 min
Views8.5K

Давным-давно, когда Linux был ещё на ядре 2.6, а PHP5 был глотком свежего воздуха, я впервые заинтересовался миром веб-технологий. Читал учебники, статьи, зависал на форумах, но все равно мало мог понять как код, который я вижу на экране, превращается в волшебные сайты с кнопками, формами и анимациями. Узнал про LAMP и его аналоги для Windows, узнал, что, оказывается, есть хостинги, где такие сайты размещаются. Как только появился внешний интернет без трафика, я поспешил перенести свои локальные поделия во внешний мир, попутно узнав про замечательный протокол FTP. Просто мир волшебных открытий был для меня, особенно когда узнал, что не нужно писать свой форум с нуля, а можно использовать что-то из phpBB, vBulletin и других уже готовых движков.

И когда я много лет спустя переключился в мир .NET, перечисленные ранее умения сыграли со мной злую шутку – я долго не мог понять, как мне найти хостинг для .NET приложений. Почему все известные мне хостинги с лёгкостью предоставляли возможность развернуть PHP приложения, причём даже предлагая какие-то предустановленные версии CMS, но днём с огнём не сыщешь хостинг под .NET. Мое непонимание принципа развертывания приложений усугубляли статьи, которые предлагали их размещать в подходящих сервисах типа Heroku, Digital Ocean или Azure – ведь это так просто и дешево…

Поэтому предлагаю максимально подробно рассмотреть вопрос публикации .NET приложений в арендованном VPS.

Читать далее
Total votes 26: ↑22 and ↓4+26
Comments31

Тест аккумуляторов 18650 EVE

Level of difficultyEasy
Reading time3 min
Views14K
Когда речь заходит о хороших литиевых аккумуляторах формата 18650, большинство вспомнит корейские и японские бренды, но в последние годы появилось много хороших аккумуляторов китайских брендов, один из крупнейших таких брендов — EVE.

Я протестировал два типа аккумуляторов EVE — обычные и высокотоковые и сравнил их с аккумуляторами, которые считаются эталоном в этой категории.



Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments17

Всё что вы хотели знать про ACL в Active Directory

Level of difficultyMedium
Reading time25 min
Views7.3K

В данной статье я постарался максимально полно и глубоко рассказать про построение и внутреннее использование ACL (Access Control List) внутри Active Directory. В этой статье нет рассказов про "null DACL" и "empty DACL" и тому подобного. Если читатель хочет изучить все более простые нюансы использования ACL, то рекомендую почитать другую мою статью или лучше сразу почитать комментарии к моему тестовому коду для этой статьи.

Что будет в этой статье:

- Расскажу про все 22 различных типа ACE, а также разделю их на 4 различных вида;

- Расскажу, почему прав вида "GENERIC" не существует;

- Покажу, как именно флаги из ACCESS_MASK работают при проверках в Active Directory;

- Расскажу почему вы не сможете "сделать RBCD" имея AllExtendedRights на "computer";

- Расскажу и дам ссылку на программу для получения всех "control access rights" (extended rights, validated writes, property sets);

- Покажу, как получить полный список всех атрибутов, связанных control access rights и подчинённых классов для любого объекта в домене;

- Расскажу про каждое "validated write" в отдельности и покажу как можно обойти их контроль;

- Как именно хранятся security descriptors в NTDS.DIT и почему их там мало;

- Дам таблицу для всех "extended access rights" со ссылками на алгоритмы их использования;

Читать далее
Total votes 8: ↑8 and ↓0+10
Comments0

Опыт замены Microsoft Outlook на Mozilla Thunderbird с сервером Exchange

Reading time8 min
Views116K

Задача


Имеется компания с серверами Windows Server. На них поднят DNS, WINS, Active Directory, CA, Exchange. На пользовательских местах установлен Office с Outlook для обмена информацией, поскольку прямой связи у отделов нет и возможность записи на внешние носители существенно ограничена. Всё лицензионное. Довольно типичная ситуация для средних компаний.

В условиях экономии средств возник вопрос достаточной замены компонента Microsoft Office — Outlook. Преимуществ Outlook достаточно много: сквозная аутентификация, удобный и понятный интерфейс, автоматическая архивация, гибкая и полноценная интеграция с Exchange, в которую входят динамические адресные книги, общие папки и прочее. Заменить такой продукт достаточно сложно без потерь в функциональности.

Реализация


После некоторых сравнений альтернативным клиентом был выбран Mozilla Thunderbird (в данный момент версия 31) как бесплатный, открытый проект, поддерживающий IMAP и адресную книгу LDAP, а также с возможностью использования дополнений.
Читать дальше →
Total votes 22: ↑19 and ↓3+16
Comments39

Я ненавижу фитнес и поэтому занимаюсь им в VR. Часть 3: обзор фитнес-программ

Level of difficultyEasy
Reading time36 min
Views4K

В первой статье я рассказал о том, как пришёл к ежедневным тренировкам и что использую помимо VR, а во второй — подробно прошёлся по плюсам и минусам именно VR-фитнеса. Теперь мы взглянем на конкретные фитнес-программы, их преимущества и недостатки.

Я перепробовал практически всё, хоть как-то связанное с фитнесом и доступное для не-US аккаунтов, что есть в Meta¹ Quest Store (официальный магазин приложений), App Lab (тоже официальный, но без промо от Meta¹ и только по прямой ссылке / прямому поисковому запросу) и SideQuest (неофициальный, но не запрещённый магазин приложений, требует несложного танца с бубном), включая опубликованные там WebXR-приложения (не требуют установки и запускаются через браузер внутри VR). Не пробовал некоторые сильно платные приложения, у которых по трейлеру и так всё понятно: они отмечены в обзоре специальным образом.

До чего же дошли технологии?
Total votes 22: ↑20 and ↓2+25
Comments43

Я ненавижу фитнес и поэтому занимаюсь им в VR. Часть 1: предыстория

Level of difficultyEasy
Reading time7 min
Views3.1K

Статус моих отношений с физическими нагрузками: «всё сложно». К моему огромному сожалению, я не умею получать от них удовольствие. Я перепробовал уйму всего, всерьёз и «на потестить», — безрезультатно. Внутри ничего не шевельнулось.

С другой стороны, я всё ещё существо из мяса и прочих углеродных тканей. Увы, моё тело так устроено, что без физических нагрузок оно начинает работать плохо. А в перспективе их отсутствие может ещё и привести к тому, что я не успею заменить это тело на нечто получше. Было бы -обидно- чудовищно упустить бессмертие из-за каких-то пары десятков лет, которые мог бы обеспечить мне здоровый образ жизни.

Пришлось найти оригинальное решение дилеммы. :)

Какое же?
Total votes 11: ↑7 and ↓4+6
Comments4

Надежный обход блокировок в 2024: протоколы, клиенты и настройка сервера от простого к сложному

Level of difficultyMedium
Reading time45 min
Views149K

Поскольку блокировки интернета в РФ в последние недели и месяцы многократно активизировались, а маразм все крепчает и крепчает, стоит еще раз поднять тему обхода этих самых блокировок (и делаем ставки, через сколько дней на эту статью доброжелатели напишут донос в РКН чтобы ограничить к ней доступ на территории страны).

Вы, наверняка, помните отличный цикл статей на Хабре в прошлом году от пользователя MiraclePtr, который рассказывал о разных методах блокировок, о разных методах обхода блокировок, о разных клиентах и серверах для обходов блокировок, и о разных способах их настройки (раз, два, три, четыре, пять, шесть, семь, восемь, десять, десять, и вроде были еще другие), и можете спросить, а зачем еще одна? Есть две основные причины для этого.

Читать далее
Total votes 446: ↑438 and ↓8+490
Comments353

Обмани меня, если сможешь

Level of difficultyEasy
Reading time13 min
Views9.7K

Первый игровой автомат Atari Pong, был выпущен в 1972 году. Это игра для двух игроков, основанная на настольном теннисе, где каждый игрок управляет ракеткой и должен отбить мяч на другую сторону. Если игрок промахивается, соперник набирает очки. Первый кто наберет 11 очков становится победителем. Kent Steven в своей книге "The Ultimate History of Video Games" (Вся история видеоигр) описывает, что проект был отдан инженеру Aлану Алькорну (Alan Alcorn), который до этого не занимался играми и игровыми автоматами. Учитывая, что в кармане основателя Atari было немногим больше 500$, и привлечь опытных разработчиков для работы над неизвестным проектом шансы были минимальные, то Нолан Бушелл представил это как выполнение контракта для General Electric.

Алькорн превзошел ожидания на этот проект, кроме функции подсчета очков и таймера раунда, он добавил в игру разделение каждой ракетки на восемь условных сегментов, попадая в которые мяч менял траекторию движения на разные углы. Также вместо проектирования нового аркадного автомата как единого устройства, он использовал дешевый черно-белый телевизор, деревянный шкаф и ручки от газовой плиты. Кроме этого Алан перепроектировал оригинальную схему, заменил компоненты на более дешевые аналоги. Впоследствии таймер раунда был поправлен на изменение скорости шарика, это изменение добавило игре динамики, но потребовало больше памяти, из-за чего игра получила особенность, что ракетки не могли дойти до верхнего края экрана. Алькорну, ограниченному по времени, уже некогда было исправлять такое поведение и баг стал фичей, которая позволяла опытному игроку так отразить мячик, что он улетал в "мертвую зону".

Но каким бы точным и выверенным не был игровой процесс, центром игры является человек, ему свойственно ошибаться. Ошибаться в оценках, в действиях, в движения мышкой или скорости нажатия на кнопки. Когда у игрока не получается выполнить действие, которое, как он думает, было сделано правильно, он начинает ругать игру и окружение, отвлекаться и еще больше ошибаться и бросает играть. Зная эти особенности опытные дизайнеры всегда дают возможность ошибиться, но делают это так чтобы вы этого не заметили. Если игра слишком явно поддается, это раздражает даже больше, чем завышенная сложность.

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

Осторожно, много картинок
Total votes 23: ↑21 and ↓2+22
Comments15

Как я апнул «чумадан»

Level of difficultyMedium
Reading time11 min
Views16K
Картинка Stockking, Tawatchai07, Freepik

Самодельщиков частенько обвиняют в том, что их самоделки представляет собой, по сути, «троллейбус из буханки хлеба», как в известном меме:-) То есть, можно было бы этого и не делать, но «как раз было время и зачем-то я это сделал».

Но есть некоторые из самоделок, которые в корне отличаются от этого всего, и каждый раз, когда их вспоминаешь, говоришь себе «как же хорошо, что когда-то я уделил этому своё время!», так как подобного рода самоделки отличаются крайней полезностью и являются весьма применимыми в жизни. Они могут быть по своей сути и не особо сложными, но польза от их наличия весьма велика. И в этой статье будет рассказ как раз об одной из таких.
Читать дальше →
Total votes 70: ↑62 and ↓8+78
Comments94

Аналог Duolingo для продвинутых — одна хорошая книга для пополнения словарного запаса в английском языке

Reading time2 min
Views38K

Наткнулся недавно на книгу "1100 words you Need to Know" by Murray Bromberg and Melvin Gordon" (для уровня C1-C2). Она легко гуглится в Яндексе.

Данную книгу упоминали уже здесь, на Хабре, как хороший способ изучения новых слов. Я напишу еще немного.

Читать далее
Total votes 16: ↑13 and ↓3+13
Comments18

Экономика загородного дома. Как утеплить дом и не разориться?

Reading time30 min
Views46K

Экономичное отопление. Как утеплить дом и не разориться?

Каждый городской житель мечтает о загородном доме.

Тишина, свежий воздух!

И тут же вы едете смотреть участок земли в превосходном живописном и экологичном месте.

Вопрос стоимости отопления загородного дома‑ это та проблема, которую начинают решать уже ввязавшись в стройку на уже купленном участке земли в живописном месте.

И тут внезапно выясняется, что газа нет!

Что это означает?

Это означает, что у вас в наличии 15 кВт подключенного электричества на все хозяйственные нужды, включая отопление.

15кВт — много это или мало?

Ответ как обычно прячется в самом вопросе, а именно: Смотря для чего?

Ниже приведён проект реального одноэтажного дома. (см.рис.1–2)

Читать далее
Total votes 88: ↑66 and ↓22+60
Comments408

Затыкаем рот Windows 10

Level of difficultyHard
Reading time33 min
Views101K


Windows 10 очень любит Интернет. Обновления, синхронизации, телеметрия и ещё куча разной другой очень нужной ЕЙ информации постоянно гуляет через наши сетевые соединения. В «стандартном» сценарии использования, когда Windows 10 управляет домашним или рабочим компьютером, это, в общем-то, терпимо, хотя и не очень приятно.

Однако жизнь сложная штука и не ограничивается только стандартными вариантами. Существуют ситуации, когда подобная сетевая активность операционной системы (ОС) нежелательна и даже вредна. За примерами далеко ходить не надо. Попробуйте подключить к Интернету давно не используемый резервный компьютер, собранный на старом железе. Пока софт на нём не обновится, использовать его будет практически невозможно, всё будет дико тормозить и еле шевелиться. А если вам в этот момент нужно срочно что-то сделать?

Для того чтобы подобного не происходило, необходимо «заткнуть рот Windows», то есть сделать так, чтобы она самостоятельно перестала «стучаться» в Интернет, устанавливать обновления и заниматься прочими непотребствами. Вот именно этим мы с вами и займёмся.
Читать дальше →
Total votes 171: ↑161 and ↓10+197
Comments308

Как делается OpenSource: личный опыт

Level of difficultyMedium
Reading time17 min
Views37K

Я - автор двух пакетов, входящих более-менее во все дистрибутивы Linux: sane-airscan и ipp-usb.

Кроме того, sane-airscan входит во все основные дистрибутивы BSD (FreeBSD, NetBSD и OpenBSD) и в ChromeOS. ipp-usb в ChromeOS не взяли потому, что он написан на Go, а у них там очень жестко с размером исполняемых файлов, вместо этого они написали свое на Rust, но предпочли бы взять моё изделие, если бы могли. Совсем недавно появился порт ipp-usb на FreeBSD, вероятно, другие BSD тоже скоро подтянутся.

Вместе эти два пакета образуют стек "бездрайверного" сканирования документов для Linux и *BSD, а в перспективе нескольких лет, когда старые сканеры, наконец, вымрут, вероятно других драйверов и не останется.

Кроме того, ipp-usb делает возможным "бездрайверную" печать на USB-устройствах.

Здесь я хочу рассказать, каково оно, быть автором популярных OpenSource пакетов. Хоть эта работа и не принесла мне особых денег (на что я, впрочем, особо и не рассчитывал), она принесла мне бесценный опыт.

В целом, я полагаю, продвижение OpenSource пакетов структурно близко к продвижению на рынок программных продуктов. Занимаясь этой деятельностью, очень хорошо начинаешь понимать разницу между (1) написать программу, которая работает для меня (2) написать программу, которую можно назвать продуктом (3) вывести продукт на рынок.

Первое занимает гораздо меньше времени, чем второе. Второе - гораздо меньше времени, чем третье.

Читать далее
Total votes 394: ↑394 and ↓0+394
Comments71

Нейробиолог рассказывает, как пережить праздники

Reading time5 min
Views2.8K

Как смена более коротких дней и холодной погоды может принести с собой перепады настроения и другие эмоциональные проблемы, так и сезон праздников может вызвать вполне предсказуемые изменения в настроении и поведении.

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

Читать далее
Total votes 11: ↑7 and ↓4+10
Comments1

Токены. От появления до продвижения в Active Directory

Level of difficultyMedium
Reading time18 min
Views13K

О токенах, используемых в операционных системах семейства Windows слышали многие, ведь они являются важным звеном, участвующим в контексте безопасности всей операционной системы. Данная статья является результатом моих наработок о токенах. В ходе написания данного материала я ставил перед собой следующие вопросы: откуда берутся токены? как устроены токены? как это работает на практике?

Читать далее
Total votes 16: ↑16 and ↓0+16
Comments2
1
23 ...

Information

Rating
3,412-th
Location
Саратов, Саратовская обл., Россия
Date of birth
Registered
Activity

Specialization

System Administration, Server Administrator
Lead
Active Directory
Microsoft Exchange Server
Hyper-V
Windows administration
PowerShell