💡 Полезные Советы

Про APIPA, Эффект гонки и как DORA связана с DHCP?

30.03.26
12

DHCP (Dynamic Host Configuration Protocol) - это сетевой протокол, который автоматически раздает устройствам IP-адреса и другие важные настройки (маску подсети, шлюз по умолчанию и адреса DNS-серверов). Без него каждый адрес в сети пришлось бы вбивать руками.

Процесс получения IP-адреса называется DORA (по первым буквам четырех этапов):

  1. D - Discover (Поиск): Новое устройство кричит на всю сеть (широковещательный запрос): "Эй! Мне нужен IP-адрес. Тут есть DHCP-сервер?"
  2. O - Offer (Предложение): Роутер (или выделенный сервер) слышит запрос, резервирует свободный адрес и отвечает: "Я тут. Возьми вот этот IP".
  3. R - Request (Запрос): Устройство отвечает: "Отлично, беру! Оформи аренду".
  4. A - Acknowledge (Подтверждение): Сервер фиксирует выдачу: "Договорились. Адрес твой на следующие 24 часа".

Динамические адреса - это удобно для смартфонов, но плохо для серверов. Например, если вы подняли сервер Minecraft или развернули виртуалку в Proxmox, смена IP после перезагрузки сломает все доступы. Для таких случаев в DHCP используют Static Lease (Резервирование) - жесткую привязку нужного IP-адреса к MAC-адресу сетевой карты устройства.

Пример: Клиентский ПК без интернета
Во время удаленной поддержки клиент жалуется, что сеть "отвалилась". Ты просишь его проверить IP-адрес в настройках Windows, и он диктует что-то вроде 169.254.x.x.
Это так называемый адрес APIPA (Automatic Private IP Addressing). Он означает, что процесс DORA сломался на первом же шаге: ПК прокричал "Discover", но DHCP-сервер ему не ответил (или до него не дошел запрос из-за проблем со свитчем). ОС поняла, что ответа не будет, и назначила себе этот резервный адрес.

Подробнее про APIPA (169.254.x.x)

APIPA (Automatic Private IP Addressing) - это встроенный в операционные системы (Windows, macOS, большинство дистрибутивов Linux) механизм "спасения утопающих".

Когда ПК отправляет широковещательный DHCP Discover, но в ответ тишина (таймаут), ОС понимает: "Сервера нет, но сеть как-то строить надо". Тогда она делает следующее:

  1. Выбирает случайный адрес из зарезервированного диапазона 169.254.0.1 – 169.254.255.254 с маской подсети 255.255.0.0 (или /16).
  2. Проверяет на конфликты: Перед тем как назначить этот адрес сетевому интерфейсу, ПК отправляет специальный запрос (Gratuitous ARP) в сеть: "Эй, у кого-нибудь уже есть этот 169.254.x.y?". Если ответа нет - забирает адрес себе. Если есть - генерирует новый и спрашивает снова.

APIPA не назначает основной шлюз (Default Gateway) и DNS.
Это значит, что интернета на этом ПК не будет. Однако, если в кабинете стоит свитч, к которому подключены пять компьютеров, и роутер внезапно "умер", все пять ПК получат адреса 169.254.x.x. Они смогут пинговать друг друга, и ты даже сможешь расшарить между ними папку по локалке. Это так называемая Link-Local сеть.

Два DHCP-сервера в одной сети: Эффект гонки (Race Condition)

Представь ситуацию: в офисе работает основной роутер (сеть 192.168.1.0/24), но кто-то из сотрудников принес из дома свой Wi-Fi роутер (сеть 10.0.0.0/24), воткнул его LAN-портом в офисную розетку и забыл выключить на нем DHCP. Это называется Rogue DHCP (ложный/паразитный DHCP-сервер).

Оба сервера находятся в одном широковещательном домене (L2-сегменте). Что произойдет, когда новый клиент включит ПК?

Сработает правило: Кто первый встал, того и тапки.

  1. Клиент кричит на всю сеть DHCP Discover.
  2. Этот крик слышат оба DHCP-сервера.
  3. Оба сервера моментально формируют пакет DHCP Offer (один предлагает 192.168.1.50, другой - 10.0.0.20) и отправляют его клиенту.
  4. Клиент получает оба предложения, но принимает то, которое пришло к нему первым. Второе он просто игнорирует.
  5. Клиент отправляет DHCP Request на первый пришедший IP, официально забирая его. Проигравший сервер видит это и возвращает свой IP обратно в пул свободных.

От чего зависит скорость ответа?

  • От загрузки процессора роутера/сервера.
  • От топологии (какой сервер физически ближе по количеству свитчей к клиенту).
  • От настроек (некоторые enterprise-серверы искусственно делают микро-задержку пинга перед выдачей IP, чтобы проверить, не занят ли он, а дешевый домашний роутер выпаливает адрес не глядя).

Последствия для сети:

Абсолютный хаос. Половина офиса (те, кто успел получить правильный IP от 192.168.1.x) будет работать нормально. Вторая половина получит IP 10.0.0.x, неправильный шлюз (домашний роутер сотрудника) и останется без интернета и доступа к корпоративным ресурсам. Причем после перезагрузки ПК ситуация может поменяться местами.

Для защиты от таких паразитных серверов на умных (управляемых) коммутаторах настраивают функцию DHCP Snooping. Она разрешает пакетам DHCP Offer проходить только через один конкретный (доверенный) порт, к которому подключен легальный сервер, а на всех остальных портах такие пакеты жестко блокируются.

Защита инфраструктуры: DHCP Snooping

DHCP Snooping - это как раз тот самый "фейсконтроль" на уровне управляемого коммутатора (свитча), который защищает сеть от хаоса с двумя серверами.

Чтобы понять, какой именно порт блокируется, нужно посмотреть на то, как коммутатор делит все свои порты после включения этой функции. Он разбивает их на два лагеря: Trusted (Доверенные) и Untrusted (Недоверенные).

Как это выглядит под капотом
По умолчанию, когда ты включаешь DHCP Snooping на свитче, абсолютно все порты становятся недоверенными (Untrusted). Доверенные порты сетевой администратор должен назначить руками.

  1. Trusted (Доверенный) порт: Это порт, к которому физически подключен твой легальный DHCP-сервер (или аплинк-порт, который ведет к другому коммутатору, за которым стоит сервер).
    1. Что разрешено: Через этот порт коммутатор пропускает любые DHCP-пакеты. И запросы от клиентов (Discover, Request), и ответы от сервера (Offer, Acknowledge).
  2. Untrusted (Недоверенный) порт:
    1. Это порты, куда подключаются обычные пользователи, рабочие станции, принтеры и, потенциально, тот самый принесенный из дома роутер сотрудника.
    2. Что разрешено: Коммутатор разрешает получать из этого порта только клиентские запросы (Discover, Request), потому что ПК должны иметь возможность попросить IP.
    3. Что БЛОКИРУЕТСЯ: Если из этого порта вдруг "вылетает" пакет от имени сервера (например, DHCP Offer с предложением IP-адреса), коммутатор понимает: "Ага, за этим портом сидит самозванец!". Он моментально отбрасывает (drop) этот пакет, а сам порт может перевести в состояние ошибки (err-disable), выключив на нем линк и отправив алерт админу.

Binding Database

DHCP Snooping Binding Database (База данных привязок) - это специальная таблица, которую коммутатор (свитч) автоматически создает и хранит в своей оперативной памяти, когда на нем активирована функция DHCP Snooping.

Позже эта таблица используется для защиты от подмены IP-адресов и мак-спуфинга (например, с помощью функции Dynamic ARP Inspection), чтобы никто не мог вручную прописать себе чужой IP и перехватывать трафик.

Как выглядит эта таблица

Если зайти в консоль управления коммутатором (например, Cisco) и ввести команду show ip dhcp snooping binding, вы увидите примерно такую картину:

Сама по себе Binding Database - это просто лог-файл. Но она является фундаментом для работы двух очень мощных технологий защиты от хакеров внутри локальной сети:

  1. Dynamic ARP Inspection (DAI) - Защита от перехвата трафика
    1. Проблема: Хакер в локальной сети может отправить фальшивое сообщение (ARP-ответ) всем компьютерам: "Эй, теперь я ваш роутер (шлюз), отправляйте весь интернет-трафик через меня!". Это называется атакой Man-in-the-Middle (Человек посередине).
    2. Как помогает база: Если включить DAI, коммутатор перестает верить устройствам на слово. Когда порт хакера пытается заявить: "Мой IP - это IP роутера", свитч мгновенно сверяется с Binding Database. Он видит: "Так, на порту №8 у нас числится IP 192.168.1.51, а ты пытаешься выдать себя за шлюз 192.168.1.1. Блокирую!". Пакет уничтожается.
  2. IP Source Guard (IPSG) - Защита от подмены IP-адреса
    1. Проблема: Пользователь может вручную зайти в настройки сетевого адаптера Windows и прописать себе чужой IP-адрес (например, адрес начальника или сервера), чтобы получить чужие права доступа или избежать ограничений по скорости.
    2. Как помогает база: Свитч проверяет каждый исходящий пакет данных от пользователя. Если в пакете указан IP-адрес отправителя 192.168.1.100, а в базе привязок за этим портом числится 192.168.1.50, коммутатор просто не выпустит этот трафик за пределы порта.

Протоколы TCP и UDP: история, отличия и сферы применения.

17.03.26
90

Немного истории: зачем они были созданы?
В 1970-х годах, когда интернет только зарождался (тогда еще сеть ARPANET), инженеры Винт Серф и Боб Кан разработали протокол TCP (Transmission Control Protocol). Их главная цель заключалась в создании абсолютно надежной системы связи. Если военные или ученые отправляли данные с одного компьютера на другой, протокол должен был гарантировать, что ни один байт информации не потеряется по пути, даже если часть сети выйдет из строя.

TCP отлично справлялся со своей задачей - он бережно доставлял данные, проверял их целостность и собирал в правильном порядке. Но у этой надежности была своя цена: медлительность.

К концу 70-х годов стало понятно, что для некоторых задач (например, для передачи голоса в реальном времени) надежность не так важна, как скорость. Если при телефонном разговоре потеряется доля секунды звука, вы этого даже не заметите, но если голос будет приходить с огромной задержкой из-за проверок, общаться станет невозможно.

Поэтому в 1980 году ученый Дэвид П. Рид разработал UDP (User Datagram Protocol) - протокол, который избавился от всех проверок TCP ради максимальной скорости. Так интернет получил два фундаментальных инструмента: один для безупречной надежности, другой - для молниеносной скорости.

Определения: Что такое TCP и UDP?

TCP (Transmission Control Protocol - протокол управления передачей) - это протокол с предварительной установкой соединения. Перед отправкой данных он "звонит" принимающей стороне, убеждается, что та готова, и только потом начинает передачу - трёхстороннее рукопожатие. Он тщательно следит за тем, чтобы все пакеты данных дошли без потерь и в строгом порядке.

UDP (User Datagram Protocol - протокол пользовательских датаграмм) - это протокол без установки соединения. Он просто берет данные и "выстреливает" ими в сторону получателя без каких-либо предупреждений и проверок. Ему неважно, дошли ли данные, готовы ли их принять и в каком порядке они пришли. Главное - отправить их как можно быстрее.

 

В чем разница?

Чтобы легко понять разницу, представьте два способа доставки посылки:
TCP - это заказное письмо с курьером лично в руки. TCP работает так, будто сеть - это опасная дорога, и протокол обязан гарантировать, что каждая коробка дойдёт в целости и строго по порядку.
Основные механизмы, которые скрыты за образом "курьера":

  • Установление соединения - курьер сначала удостоверяется, что ты дома (3‑way handshake - тройное рукопожатие).
    • SYN (Synchronize) - стук в дверь: Клиент (курьер) обращается к серверу: "Привет! У меня есть для тебя коробки. Я хочу установить защищенное соединение, ты готов?"
    • SYN-ACK (Synchronize-Acknowledge) -  хозяин открывает дверь: Сервер (получатель дома) отвечает: "Привет! Да, я на месте и готов принимать твои данные (ACK). Со своей стороны тоже готов к работе (SYN)."
    • ACK (Acknowledge) - финальное подтверждение: Клиент (курьер) завершает ритуал: "Супер, я увидел, что ты готов (ACK). Начинаю передачу первой коробки!"
  • Подтверждение каждой коробки - получатель отправляет ACK за каждый полученный сегмент.
  • Повторная доставка - если ACK не пришёл, курьер везёт коробку снова.
  • Контроль порядка - если коробки пришли не по порядку, TCP складывает их в буфер и выдаёт тебе в правильной последовательности.
  • Контроль скорости - курьер замедляется, если дорога перегружена (congestion control).

Курьер звонит вам в дверь, просит расписаться за каждую коробку, а если коробка потерялась по пути - возвращается на склад и привозит новую. Это надежно, но долго.
 

 

UDP - это почтальон, который на ходу забрасывает газеты вам на балкон. Он не проверяет, поймали ли вы газету или она упала в лужу. Он просто кидает и едет дальше. Это невероятно быстро.

  • Установление соединения (отсутствует) - почтальон не звонит в дверь и не проверяет, дома ли ты (здесь нет никаких SYN и ACK). Он просто проезжает мимо на полном ходу и не глядя кидает стопку газет тебе на балкон. Клиент сразу начинает передачу данных.
  • Подтверждение получения (отсутствует) - почтальон не ждет, пока ты крикнешь: "Поймал!". Ему абсолютно всё равно, долетела ли газета до балкона или ударилась о стену. Сервер не отправляет никаких подтверждений.
  • Повторная доставка (отсутствует) - если газета упала в лужу, ее сдуло ветром или украла собака (пакет потерялся в сети), почтальон не вернется, чтобы привезти новую. Потерянные данные игнорируются, протокол двигается дальше.
  • Контроль порядка (отсутствует) - газеты могут прилететь в случайном порядке: сначала за среду, потом за понедельник, а во вторник вообще не прийти. UDP не выстраивает их в очередь, разбираться с этой кучей придется самому получателю (конечному приложению).
  • Контроль скорости (отсутствует) - почтальон не притормаживает, даже если весь двор уже завален чужими посылками, а сеть перегружена. Он продолжает "кидать" данные с максимальной скоростью, на которую способен.

Где используются эти протоколы?

Выбор между TCP и UDP всегда сводится к компромиссу: что в данный момент важнее - чтобы все пиксели картинки загрузились без ошибок, или чтобы видеозвонок не тормозил?

Где TCP там, важна надежность:

  • Веб-серфинг (HTTP/HTTPS): Когда вы читаете эту статью, текст должен загрузиться целиком, без пропущенных букв.
  • Электронная почта (SMTP, IMAP): Ваше письмо должно дойти слово в слово.
  • Передача файлов (FTP): Если при скачивании программы потеряется хотя бы один байт, она не запустится.
  • Мессенджеры (текст): Отправка текстовых сообщений всегда идет по TCP, чтобы сообщение точно было доставлено.

Где спасает UDP, там важна скорость:

  • Онлайн-игры: В шутерах или гонках (CS:GO, Dota 2) важнее получить информацию о том, где находится противник прямо сейчас, чем то, где он был секунду назад. Потерянный пакет данных менее критичен, чем задержка (пинг).
  • Стриминг и видеозвонки (Skype, Zoom, YouTube Live): Если во время звонка пропадет пара кадров видео, изображение просто на секунду "дернется", и трансляция пойдет дальше. Если бы использовался TCP, видео постоянно замирало бы на подгрузку ("буферизацию").
  • IP-телефония (VoIP): Передача голоса через интернет.
  • DNS-запросы: Быстрый перевод имени сайта (например, google.com) в IP-адрес.

Часто задаваемые вопросы

1. Можно ли использовать TCP и UDP одновременно?

Да, и многие современные приложения именно так и делают. Например, популярные многопользовательские онлайн-игры могут использовать TCP для надежной загрузки обновлений, авторизации в аккаунте и текстового чата, а для передачи движений персонажей в реальном времени использовать быстрый UDP.

2. Какой протокол лучше?

Нельзя сказать, что один протокол однозначно лучше другого - они созданы для разных задач. Если вам нужна 100% гарантия доставки каждого байта (скачивание файлов, загрузка веб-страниц), то лучше TCP. Если в приоритете максимальная скорость работы и минимальный пинг (стриминг, IP-телефония, онлайн-игры), то победитель - UDP.

3. Можно ли сделать UDP надежным, чтобы он не терял пакеты?

Сам протокол UDP изменить нельзя, но разработчики часто создают собственные надстройки поверх него. Отличный пример - современный протокол QUIC (разработанный Google). Он работает поверх быстрого UDP, но при этом берет на себя функции контроля потерянных пакетов, объединяя лучшие черты обоих миров.

4. Безопасны ли протоколы TCP и UDP?

Сами по себе базовые протоколы TCP и UDP не шифруют данные - они передаются в открытом виде. За безопасность отвечают протоколы более высокого уровня. Например, чтобы защитить данные, передаваемые по TCP, сверху "наслаивается" протокол TLS/SSL (так получается безопасный HTTPS). А для защиты UDP-трафика часто используются VPN-туннели (например, популярный протокол WireGuard работает именно поверх UDP).
 

Скрытая угроза! Риски использования софта, взломанного через гипервизор (Hypervisor-level Cracks)

12.03.26
97

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

Суть метода в том, что ваша операционная система фактически запускается внутри виртуализированной среды. Это позволяет взломщику перехватывать системные вызовы и подменять данные об оборудовании или лицензиях "на лету". Однако установка такого софта несет критические риски для безопасности всей системы.

Ещё несколько лет назад гипервизорные руткиты считались инструментом уровня APT‑групп и использовались в основном против корпораций. Сегодня ситуация изменилась: из-за гонки вооружений между античитами и разработчиками читов виртуализация уровня Ring ‑1 стала массовой технологией. Исходники простых гипервизоров и обходов SVM/VT‑x лежат в открытом доступе, и злоумышленники могут бесплатно интегрировать их в игровые читы, активаторы или пиратские репаки. Устанавливая такой софт, пользователь фактически запускает в системе механизм, который раньше был доступен только высококвалифицированным атакующим - и теперь он работает против него.

1. Абсолютный контроль на уровне Ring -1

Гипервизор работает на уровне привилегий, превышающем права самой операционной системы (так называемое кольцо защиты Ring -1). Это означает, что если в кряк зашит вредоносный код (Hypervisor-level Rootkit), он получает полный и безусловный контроль над железом. Ни один классический антивирус или EDR-решение внутри гостевой ОС не сможет обнаружить угрозу. Защитное ПО просто не видит того, что происходит на уровне выше, так как само находится под контролем скомпрометированного гипервизора.

2. Прямой доступ к оперативной памяти (Кража данных)

Поскольку гипервизор управляет выделением памяти для ОС, он может беспрепятственно читать и модифицировать её содержимое в реальном времени.

Утечка критичных данных: Злоумышленники могут настроить скрытый дамп памяти для извлечения SSH-ключей, мастер-паролей, токенов сессий браузера и seed-фразы криптокошельков прямо в момент их использования. Шифрование диска (например, BitLocker) в этом случае не спасет.

3. Конфликты виртуализации и нестабильность (BSOD)

Установка стороннего, часто написанного "на коленке" гипервизора неизбежно ведет к системным конфликтам.

Поломка рабочего окружения: Такой кряк сделает невозможной (или крайне нестабильной) работу легитимных инструментов: Docker, WSL2 (Windows Subsystem for Linux), VMware, VirtualBox и штатного Hyper-V.

Отключение встроенной защиты: Для работы гипервизорного кряка обычно требуется принудительно отключить механизмы безопасности Windows, такие как Memory Integrity и VBS (Virtualization-based Security).

4. Скрытые ботнеты и "невидимые" майнеры

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

Диспетчер задач внутри скомпрометированной ОС будет показывать нормальную загрузку ЦП. Гипервизор просто "скроет" от системы украденные такты процессора, из-за чего компьютер будет тормозить без видимых на то причин.

5. Угроза "окирпичивания" при обновлениях

Кастомные гипервизоры от взломщиков редко проходят проверку на совместимость с новыми патчами. Установка очередного обновления ядра Windows или Linux может нарушить работу нелицензионного гипервизора. Результат - система выпадет в вечный синий экран или перестанет загружаться на этапе бутлоадера, и для восстановления потребуется сложная работа с загрузочной флешкой.

Часто используемые команды Linux: быстрый справочник

11.02.26
128

📂 File and Directory Management (Управление файлами и папками)

Эти команды используются для навигации по файловой системе и работы с файлами.

  • ls (List): Выводит список файлов и папок в текущей директории.

  • pwd (Print Working Directory): Показывает полный путь к папке, в которой вы сейчас находитесь.

  • cd (Change Directory): Используется для перехода в другую папку.

  • mkdir (Make Directory): Создает новую папку.

  • rmdir (Remove Directory): Удаляет пустую папку.

  • touch: Создает пустой файл или обновляет время последнего изменения существующего файла.

  • cp (Copy): Копирует файлы или папки.

  • mv (Move): Перемещает файлы или папки (также используется для переименования).

  • rm (Remove): Удаляет файлы (или папки с ключом -r).

📝 File Viewing and Editing (Просмотр и редактирование файлов)

Инструменты для чтения содержимого файлов и внесения изменений.

  • cat (Concatenate): Выводит содержимое файла на экран полностью.

  • less: Позволяет просматривать длинные файлы постранично (можно листать вверх и вниз).

  • more: Старая версия less, позволяет листать только вниз (в большинстве случаев).

  • nano: Простой и понятный консольный текстовый редактор для новичков.

  • vim: Мощный и сложный консольный редактор для продвинутых пользователей.

  • gedit: Стандартный графический текстовый редактор (как Блокнот) для среды GNOME.

⚙️ Process Management (Управление процессами)

Команды для контроля запущенных программ и служб.

  • ps (Process Status): Показывает моментальный снимок текущих запущенных процессов.

  • top: Показывает список процессов в реальном времени (нагрузка на CPU, память).

  • kill: Завершает процесс по его идентификатору (PID).

  • killall: Завершает все процессы с указанным именем.

  • pstree: Показывает процессы в виде иерархического дерева (кто кого запустил).

  • htop: Более удобная, цветная и интерактивная версия top.

ℹ️ System Information (Информация о системе)

Диагностика ресурсов и параметров компьютера.

  • uname: Выводит информацию о системе (ядро, архитектура). Часто используют uname -a.

  • df (Disk Free): Показывает количество свободного и занятого места на дисках.

  • du (Disk Usage): Показывает размер папок и файлов.

  • free: Показывает использование оперативной памяти (RAM) и файла подкачки (Swap).

  • lscpu: Детальная информация о процессоре.

  • lshw (List Hardware): Подробная информация обо всем оборудовании.

  • lsblk (List Block Devices): Список всех подключенных накопителей и их разделов.

👤 User and Group Management (Управление пользователями и правами)

Администрирование учетных записей.

  • passwd: Смена пароля пользователя.

  • useradd: Создание нового пользователя.

  • userdel: Удаление пользователя.

  • usermod: Изменение параметров пользователя (например, добавление в группу).

  • groupadd: Создание новой группы пользователей.

  • groupdel: Удаление группы.

  • groups: Показывает, в каких группах состоит пользователь.

  • id: Выводит цифровые идентификаторы пользователя (UID) и групп (GID).

🌐 Network Configuration and Monitoring (Сеть)

Настройка сети и диагностика подключений.

  • ifconfig: Старая команда для просмотра и настройки сетевых интерфейсов (IP, маска).

  • ip: Современная и более мощная замена ifconfig.

  • ping: Проверка доступности удаленного узла (сервера/сайта).

  • netstat: Статистика сетевых подключений, портов и таблиц маршрутизации.

  • ss: Современная и быстрая замена netstat для просмотра сокетов.

  • traceroute: Показывает маршрут (узлы), который проходит пакет до цели.

  • ssh (Secure Shell): Безопасное подключение к удаленному компьютеру.

  • nc (Netcat): "Швейцарский нож" для сети — умеет читать и писать данные в сетевые соединения (тестирование портов, передача файлов).

📦 Package Management (Управление пакетами)

Установка и удаление программ. Команды зависят от вашего дистрибутива Linux.

  • apt-get / apt: Используются в Debian, Ubuntu, Mint. apt — более современная и удобная версия.

  • yum / dnf: Используются в RHEL, CentOS, Fedora. dnf — современная замена yum.

  • rpm: Низкоуровневый менеджер пакетов для Red Hat систем (установка .rpm файлов).

  • dpkg: Низкоуровневый менеджер пакетов для Debian систем (установка .deb файлов).

  • snap: Универсальный менеджер пакетов от Canonical (работает на большинстве дистрибутивов).

  • zypper: Менеджер пакетов для openSUSE.

PATA, SATA, SAS, SCSI, NVMe и M.2: что это, в чём разница и какой интерфейс лучше?

29.01.26
145

При сборке компьютера или апгрейде старого ноутбука легко запутаться в аббревиатурах. Почему диск M.2 не подходит в разъем M.2? Чем серверный SAS отличается от обычного SATA? И почему старые широкие шлейфы ушли в прошлое?

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

Часть 1. Эпоха кабелей: PATA, SATA и серверные монстры

В этом разделе речь пойдет о дисках, которые подключаются к материнской плате с помощью проводов (шлейфов).

1. PATA (IDE) - "Старая школа"

Parallel ATA, более известный как IDE. Доминировал в 90-х и начале 2000-х.

  • Как узнать: Широкий плоский серый шлейф (40 или 80 жил) и массивный разъем с кучей ножек.

  • Особенность: Передача данных шла параллельно (одновременно по нескольким жилам). Это требовало широких кабелей, которые перекрывали поток воздуха в корпусе.

  • Настройка: Чтобы подключить два диска на один шлейф, приходилось вручную переставлять перемычки (джамперы) в режим Master или Slave.

Вердикт: Полностью устарел. Встречается только в ретро-сборках.

2. SATA (Serial ATA) - современный массовый стандарт

Пришел на смену IDE и используется до сих пор практически в каждом домашнем ПК для жестких дисков (HDD) и 2.5-дюймовых SSD.

  • Как узнать: Тонкий кабель (обычно красный, черный или синий) шириной около 1 см. Г-образный коннектор.

  • Особенность: Последовательный интерфейс. Данные передаются по одной линии, но на очень высокой частоте. Это позволило сделать кабели компактными и поднять скорость до 600 МБ/с (в версии SATA III).

  • Плюсы: Дешево, просто, поддерживает "горячую замену".

Вердикт: Живее всех живых. Идеален для хранения больших объемов данных (HDD).

3. SCSI (Small Computer System Interface) - дедушка серверных технологий

Читается как "скази". Пока дома использовали IDE, в серверах и рабочих станциях стоял SCSI.

  • Особенность: Это была универсальная шина. К одному контроллеру можно было цепочкой подключить жесткие диски, сканеры и ленточные накопители.

  • Плюсы: Высокая надежность и умение работать с очередью команд.

  • Минусы: Дорогие и громоздкие кабели.

Вердикт: Физически устарел, но его логика переродилась в SAS.

4. SAS (Serial Attached SCSI) - серверный стандарт высокой надёжности

Прямой наследник SCSI, но переведенный на последовательную передачу данных (аналог того, как SATA заменил PATA).

  • Где используется: Серверы, корпоративные хранилища.

  • Главное отличие от SATA:

    1. Надежность: Рассчитан на работу 24/7 под высокой нагрузкой.

    2. Full Duplex: Умеет одновременно читать и писать данные (SATA делает это по очереди).

    3. Совместимость: В контроллер SAS можно воткнуть обычный диск SATA, и он будет работать. А вот наоборот (диск SAS в домашнюю плату) -  нет.

Вердикт: Стандарт для профессиональных серверов.

Эпоха плат: M.2, NVMe и путаница форм‑факторов

Здесь начинается самое интересное. Современные SSD стали настолько быстрыми, что старые провода их тормозили. Диски уменьшились и переехали прямо на материнскую плату.

Что такое M.2?

M.2 - это просто название разъема (форм-фактор). Это "гнездо" на плате. В него можно вставить устройства с разными технологиями работы. И вот тут часто совершают ошибки при покупке.

M.2 SATA

Это обычный медленный SSD, просто без пластикового корпуса и проводов.

  • Скорость: Та же, что и у обычного SATA (до 550 МБ/с).

  • Как узнать: Обычно имеет два выреза ("ключа") на контактах: B & M Keys.

  • Зачем нужен: Часто встречается в старых ноутбуках или как дешевая альтернатива для офисных ПК.

 M.2 NVMe (PCIe)

Это современные сверхскоростные диски.

  • Технология: Использует протокол NVMe и шину PCI Express (прямой доступ к процессору, как у видеокарты).

  • Скорость: От 2000 до 12000+ МБ/с. В 10-20 раз быстрее SATA!

  • Как узнать: Обычно имеет только один вырез справа: M Key.

Важно: "NVMe SATA" не существует. Это взаимоисключающие понятия. Диск M.2 может быть либо SATA, либо NVMe.

Итоговая таблица:

АббревиатураТип подключенияСкорость (примерно)Где применяется
PATA (IDE)Широкий шлейф (Параллельный)до 133 МБ/сМузеи, ретро-ПК, старое пром. оборудование
SCSI (Legacy)Толстый кабель (Параллельный)от 5 до 320 МБ/сСтарые серверы и рабочие станции (90-е и 00-е)
SATAТонкий кабель (Последовательный)до 600 МБ/сСовременные HDD, обычные 2.5" SSD
SASКабель / Корзина (Последовательный)до 2400 МБ/с (12-24 Гбит/с)Современные серверы, корпоративные хранилища
M.2 SATAПлата в разъемдо 550 МБ/сБюджетные ноутбуки и офисные ПК
M.2 NVMeПлата в разъем3500 - 12000+ МБ/сИгровые ПК, топ-ноутбуки, рабочие станции

Если вы собираете современный компьютер:

  1. Под систему и игры берите M.2 NVMe (смотрите, чтобы слот на плате поддерживал PCIe/NVMe).

  2. Под хранение фото и фильмов берите обычный HDD на SATA.

  3. Избегайте покупки M.2 SATA, если у вас нет специфической необходимости - они занимают слот M.2, но работают медленно. Смотри примечание.

В зависимости от разводки платы, слот M.2 бывает трех типов:

  1. Только NVMe (PCIe): Самый частый вариант в новых платах. Если вы вставите туда M.2 SATA, диск просто не определится. Компьютер его не увидит, хотя лампочка на диске может гореть!

  2. Только SATA: Встречается в старых ноутбуках. Туда можно вставить M.2 SATA, и он заработает. А вот NVMe диск (с одним вырезом) туда чаще всего даже физически не влезет.

  3. Универсальный (SATA + PCIe): Материнская плата "умная". Она сама определяет, что вы вставили, и переключает режим. Здесь заработает всё.

Как узнать точно?

Никак, глядя только на разъем. Нужно открывать инструкцию к материнской плате или ноутбуку и читать спецификацию слота M.2.

Шпаргалка по chmod: права доступа в Linux простым языком

27.01.26
119

В Linux права считаются простой арифметикой. Вы просто складываете числа для нужных действий.

1. Базовые значения

ЧислоДействиеАнгл.Описание
4ЧтениеReadМожно открыть и посмотреть файл
2ЗаписьWriteМожно изменять или удалять файл
1ВыполнениеeXecuteМожно запустить файл (скрипт/программу)

2. Полная таблица (как на твоем скрине)

Чтобы получить комбинированные права, просто сложите цифры (например: Чтение + Запись = 4 + 2 = 6).

ЧислоСимволыРасшифровка (Права)Формула
0---Нет правНичего
1--xТолько выполнение1
2-w-Только запись2
3-wxЗапись + Выполнение2 + 1
4r--Только чтение4
5r-xЧтение + Выполнение4 + 1
6rw-Чтение + Запись4 + 2
7rwxПолные права (всё вместе)4 + 2 + 1

В командах вы обычно видите три цифры подряд, например 755. Они обозначают права для трех категорий пользователей по очереди:

  1. Владелец (Owner) - тот, кто создал файл.

  2. Группа (Group) - коллеги/команда владельца.

  3. Остальные (Others) - все прочие пользователи системы.

Пример: chmod 755 filename

  • 7 (Владелец): rwx (Может всё: читать, писать, запускать).

  • 5 (Группа): r-x (Может читать и запускать, но не редактировать).

  • 5 (Остальные): r-x (Могут читать и запускать, но не редактировать).

Популярные комбинации

  • chmod 777 - Разрешено всё и всем (опасно для безопасности, используйте с осторожностью).

  • chmod 755 - Стандарт для программ и скриптов (владелец меняет, остальные только запускают).

  • chmod 644 - Стандарт для обычных документов (владелец читает/пишет, остальные только читают).

  • chmod 600 - Секретный файл (только владелец может читать и писать, остальные даже не откроют).

  • chmod +x - Сделать файл исполняемым (добавляет "x" всем).

💡 Важное применительно к папка(директориям)

  1. Папка без x (Execute) - бесполезна!

    • Если у папки есть права rw- (6), но нет x, вы сможете сделать ls (увидеть имена файлов), но не сможете открыть ни один файл внутри, не сможете зайти в нее (cd) и получить доступ к подпапкам.

    • Поэтому для папок почти всегда нужно давать минимум 5 (r-x) или 7 (rwx). Права 6 (rw-) для папок встречаются крайне редко.

  2. Право удалять файлы (w на папку)

    • Чтобы удалить файл, вам не нужны права на запись в сам файл. Вам нужны права на запись (w) в папку, где этот файл лежит.

    • Пример: Вы можете удалить чужой файл, защищенный от записи (r--), если у вас есть полные права (rwx) на папку, в которой он находится.

  3. Комбинация wx (3) для папок

    • Это называется "Drop Box" (почтовый ящик). Вы можете положить туда файл (создать), но не можете посмотреть (ls), что там еще лежит (нет r). Используется редко, например, для папки lost+found.