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

MAC-адрес: что это, как работает и зачем его подменяют

14.03.26
87

MAC-адрес (Media Access Control) - это уникальный 48-битный идентификатор, который "вшивается" в любое устройство, способное выходить в сеть (Wi-Fi модуль смартфона, сетевая карта компьютера, умный чайник).

Он записывается в виде шести пар шестнадцатеричных цифр, разделенных двоеточиями или дефисами (например, 00:1A:2B:3C:4D:5E).

  • Первые 3 байта (00:1A:2B): Это идентификатор производителя (OUI). По нему можно узнать, кто выпустил устройство - Apple, Intel, Samsung и так далее.
  • Вторые 3 байта (3C:4D:5E): Это уникальный номер самого устройства, который назначает производитель.

MAC-адреса используются коммутаторами и роутерами для доставки пакетов данных внутри локальной сети. Роутеру не важно, какой у вас IP, когда он передает данные на ваш телефон - он ищет ваш MAC-адрес в своей таблице.

Подмена MAC-адреса (MAC Spoofing)

Исторически MAC-адрес был "жестко" прошит в микросхеме. Но сегодня операционная система (Windows, macOS, Android, iOS) выступает посредником между сетевой картой и сетью. Это значит, что система может программно "представиться" роутеру любым другим MAC-адресом.

Это и есть подмена (спуфинг). Зачем это нужно?

  • Приватность и защита от слежки (Легальное использование): Торговые центры и аэропорты часто отслеживают перемещения людей по Wi-Fi, собирая MAC-адреса их телефонов (даже если вы не подключились к сети). Чтобы защитить вас, современные смартфоны используют MAC-рандомизацию - они генерируют случайный, поддельный MAC-адрес для каждой новой публичной сети.
  • Обход ограничений (Серая зона): Платный Wi-Fi в отелях часто дает бесплатный интернет только на 30 минут, запоминая ваш MAC. Подменив его, можно получить еще 30 минут.
  • Атаки и взлом (Нелегальное использование): Хакер может подменить свой MAC-адрес на адрес администратора или доверенного устройства, чтобы получить доступ к закрытой корпоративной сети, где настроена фильтрация по MAC-адресам.

Как защитить себя и сеть?

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

1. Защита себя (Как пользователя)
Главная угроза в публичных сетях, связанная с MAC-адресами - это слежка и атаки типа ARP-spoofing (когда хакер обманывает роутер и заставляет весь ваш трафик идти через его компьютер).

  • Включите рандомизацию MAC: Убедитесь, что в настройках Wi-Fi на вашем смартфоне включена опция "Использовать случайный MAC-адрес" (Privacy address). Это не даст маркетологам составить карту ваших перемещений.
  • Используйте VPN в публичных местах: Подмена MAC не спасет от перехвата трафика хакером в кафе. Но если вы используете VPN, весь ваш трафик будет зашифрован. Даже если хакер перехватит его с помощью ARP-spoofing, он увидит только бесполезный набор символов.

2. Защита сети (Если вы настраиваете роутер или сервер)
Долгое время MAC-фильтрация (когда роутер пускает в сеть только устройства из "белого списка" MAC-адресов) считалась хорошим средством защиты. Сегодня это миф. Хакеру достаточно послушать эфир пару минут, увидеть "разрешенный" MAC-адрес и подменить свой на него.

Реальная безопасность строится иначе:

  • WPA3: Используйте современные протоколы шифрования Wi-Fi. Если сеть зашифрована надежным паролем, подмена MAC-адреса не поможет злоумышленнику подключиться.
  • Dynamic ARP Inspection (DAI) и Port Security: В корпоративных сетях умные коммутаторы жестко привязывают MAC-адрес к физическому порту в стене. Если кто-то попытается вытащить кабель из рабочего ПК и вставить в свой ноутбук с поддельным MAC, коммутатор мгновенно заблокирует порт.

Мини-FAQ: Частые вопросы о MAC-адресах

  • Можно ли полностью скрыть MAC-адрес?
    Нет. Без MAC-адреса ваша сетевая карта просто не сможет отправлять и получать данные - коммутаторы и роутеры не поймут, кому доставлять пакеты. Вы не можете его скрыть, но можете легко подменить на выдуманный. Это и есть лучшая маскировка.
  • Видит ли сайт мой MAC?
    Нет. Владельцы сайтов, стриминговых сервисов или администраторы серверов в интернете ваш MAC-адрес не видят. Он работает только в пределах вашей локальной сети - ровно до домашнего роутера или оборудования провайдера. Дальше в большой интернет уходит только ваш IP-адрес.
  • Можно ли узнать MAC-адрес по IP?
    Только если вы находитесь с человеком в одной физической или виртуальной локальной сети (например, сидите через один Wi-Fi или соединены через VPN). В этом случае адрес легко узнается через протокол ARP. Вычислить MAC-адрес по IP-адресу через глобальную сеть интернет невозможно.
  • Опасно ли показывать MAC-адрес?
    Сам по себе он не дает прямого доступа к вашему устройству, взломать вас зная только MAC - нельзя. Главная угроза здесь - приватность. Маркетинговые компании и торговые центры используют Wi-Fi радары, чтобы собирать реальные MAC-адреса устройств и отслеживать перемещения покупателей. Поэтому в публичных местах использование случайного MAC-адреса - строгая необходимость.
  • Почему MAC-фильтрация не работает?
    Представим, что вы решили защитить домашнюю сеть и настроили на роутере строгий "белый список" MAC-адресов. Злоумышленнику даже не нужно пытаться подобрать пароль. Он садится рядом, переводит свой Wi-Fi адаптер в режим мониторинга (с помощью утилит вроде airodump-ng) и просто "слушает" радиоэфир.
    Через пару минут он видит, как ваш легитимный смартфон общается с роутером, и записывает его MAC. Затем хакер отправляет вашему телефону команду на отключение (пакет деаутентификации), быстро меняет свой MAC-адрес на ваш с помощью macchanger и стучится в сеть. Роутер видит знакомый адрес из "белого списка" и пускает хакера. Защита, на которую вы потратили время, обходится за две минуты.
  • Как Android генерирует случайный MAC?
    Начиная с десятой версии, Android по умолчанию использует рандомизацию MAC-адресов, но делает это умно. Система не просто придумывает случайный набор символов каждую секунду. Она меняет специальный бит в начале адреса (показывая сети, что адрес сгенерирован локально), а затем создает уникальный, но постоянный фейковый MAC для каждой отдельной Wi-Fi сети.
    Зачем это нужно? Если вы каждый день ходите в одну и ту же кофейню, роутер заведения будет узнавать ваш "случайный" MAC-адрес, и вам не придется каждый раз заново вводить пароль от публичной сети. Но при этом для роутера в метро у вас будет уже совершенно другой MAC.

Итоги
MAC-адрес - это физический паспорт вашего сетевого устройства, необходимый для маршрутизации трафика внутри локальной сети.

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

MAC-фильтрация - абсолютно неэффективный метод защиты сети. Надежную безопасность обеспечивает только современное шифрование (WPA2/WPA3) и сложные пароли.

В интернете ваш MAC-адрес остается неизвестным, там вся маршрутизация строится на базе IP-адресов.

Скрытая угроза! Риски использования софта, взломанного через гипервизор (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 может нарушить работу нелицензионного гипервизора. Результат - система выпадет в вечный синий экран или перестанет загружаться на этапе бутлоадера, и для восстановления потребуется сложная работа с загрузочной флешкой.

Что такое IP адрес? И почему твой сервер никто не видят в интернете?

11.03.26
82

IP-адрес (Internet Protocol Address) - это уникальный идентификатор устройства в сети. Представьте, что интернет - это огромный город, а каждый компьютер, смартфон или сервер - это дом. Чтобы отправить письмо (пакет данных) в нужный дом, почтальону (маршрутизатору) нужно знать точный адрес. Этим адресом и является IP.

Самый распространенный формат, который мы видим каждый день (IPv4), выглядит как четыре числа от 0 до 255, разделенные точками (например, 192.168.1.15).

3 полезные фишки и факта об IP-адресах:

1. "Белые" и "Серые" адреса
Изначально архитекторы интернета не предполагали, что устройств станет так много, и уникальных IPv4-адресов на всех просто не хватило. Поэтому придумали хитрость: устройства внутри твоей домашней сети получают локальные ("серые") адреса (обычно начинаются на 192.168.x.x или 10.x.x.x). Они не маршрутизируются в глобальном интернете.

Когда ты открываешь сайт, твой домашний роутер подменяет твой внутренний IP на свой единственный публичный ("белый") IP, выданный провайдером. Эта магия называется NAT (Network Address Translation).

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

3. В гостях хорошо, а дома 127.0.0.1
Адрес 127.0.0.1 (или localhost) - это специальный зарезервированный IP, который всегда указывает на само устройство, с которого к нему обращаются. Это так называемая loopback-петля. Если ты пишешь скрипт, тестируешь Telegram-бота или поднимаешь локальный сервер, обращение к 127.0.0.1 позволяет проверить работу сервисов абсолютно безопасно, без выхода в сеть и даже при отключенном кабеле интернета.

4 способа достучаться до сервера за серым IP.

Когда провайдер выдает тебе "серый" IP-адрес, это значит, что ты находишься за так называемым провайдерским NAT (CGNAT - Carrier-Grade NAT). Технически его часто называют "двойным NAT" (Double NAT). Чтобы понять суть, вспомним, как работает домашний роутер. Он берет один IP-адрес, который выдал провайдер, и раздает с него интернет всем твоим домашним устройствам, назначая им локальные адреса (например, 192.168.1.15).

Что делает CGNAT?

Провайдер делает абсолютно то же самое, но в гигантских масштабах. Из-за глобальной нехватки классических IPv4-адресов провайдер физически не может выдать каждому абоненту по уникальному "белому" IP.

Поэтому он ставит у себя на узле связи мощное оборудование (тот самый Carrier-Grade NAT), берет один или несколько публичных IP-адресов и прячет за ними тысячи квартир.

Как это выглядит на практике (цепочка адресов):

  • Твой смартфон получает локальный IP от твоего домашнего роутера (например, 192.168.1.15).
  • Твой домашний роутер получает "серый" IP уже от роутера провайдера (для CGNAT выделен специальный диапазон 100.64.x.x, но иногда используют и обычные 10.x.x.x).
  • И только роутер провайдера выходит в глобальный интернет под общим "белым" IP-адресом.

Если сервер нужен доступным извне, есть несколько рабочих путей решения:

Способы:

1. Купить "белый" IP у провайдера (Самый очевидный путь)

  • Для чего: Для любых задач, если не хочется возиться с лишними программами.
  • Как работает: Вы просто звоните провайдеру и подключаете услугу статического публичного IP (обычно это стоит небольших денег в месяц). Ваш роутер получает уникальный адрес в интернете, и вы настраиваете классический проброс портов (Port Forwarding).
  • Плюсы: Работает "из коробки", максимальная скорость канала.
  • Минусы: IPv4-адресов в мире физически не хватает, поэтому услуга платная (и с каждым годом дорожает), а некоторые провайдеры вообще перестали выдавать "белые" адреса физ. лицам.

2. Свой VPN-туннель на дешевом VPS (Джедайский и самый надежный путь)

  • Для чего: Идеально, если нужно выставить сервисы в сеть (например, чтобы Telegram присылал вебхуки вашему боту) или привязать домашний сервер к своему домену.
  • Как работает: Вы арендуете копеечный виртуальный сервер (VPS) в надежном дата-центре (у него всегда есть "белый" IP). Поднимаете на нем VPN-сервер (подойдет WireGuard или устойчивый к блокировкам AmneziaWG). Ваша домашняя плата, будь то Raspberry Pi 5 или обычный ПК, подключается к VPS как клиент. Дальше на VPS настраивается правило маршрутизации: весь трафик, приходящий на публичный IP облака, летит прямо по защищенному туннелю к вам домой.
  • Плюсы: 100% независимость от блокировок, полный контроль над трафиком, безопасность.
  • Минусы: Потребуются навыки администрирования Linux (настройка маршрутизации, iptables). Скорость скачивания с домашнего сервера упрется в пропускную способность тарифа вашего VPS. Кроме того, облачный сервер "светит" своим белым IP в интернет, поэтому придется грамотно настроить файрвол (UFW), чтобы отбиваться от автоматических сканеров и ботнетов.

3. Решения от производителей роутеров (Например, KeenDNS)

  • Для чего: Быстрый доступ к веб-интерфейсам домашних устройств без аренды серверов.
  • Как работает: Если у вас стоит продвинутый роутер (в РФ особенно популярен Keenetic(теперь Netcraze)), у него есть встроенная служба доменных имен, работающая через облако производителя. Вы получаете домен 4-го уровня, и облако Keenetic само пробивает туннель через "серый" IP провайдера, пуская вас к домашнему серверу по HTTP/HTTPS.
  • Плюсы: Бесплатно, встроено в роутер, настраивается в три клика.
  • Минусы: При работе за "серым" IP (CGNAT) облачный туннель роутера пропускает исключительно веб-трафик (HTTP/HTTPS). Вы сможете зайти в веб-интерфейс своих сервисов, но прокинуть произвольные TCP/UDP порты (например, для нестандартной базы данных или игрового сервера) физически не получится.

4. Независимые Mesh-сети: ZeroTier или Headscale (Виртуальная локалка)

  • Для чего: Когда доступ к домашнему серверу нужен только вам с рабочего ноутбука или смартфона в поездках.
  • Как работает: Вы устанавливаете программу на сервер и на свои гаджеты. Они объединяются в вашу личную виртуальную локальную сеть. ZeroTier пока держится и работает отлично, но если хочется полной паранойи и независимости - можно поднять Headscale (полностью self-hosted аналог Tailscale) на своем VPS.
  • Плюсы: Виртуальная локалка поверх глобального интернета. Никто чужой ваш сервер даже не просканирует.
  • Минусы: Это закрытая экосистема. На каждом устройстве, с которого нужен доступ, обязательно должно стоять приложение-клиент. Вы не сможете просто скинуть ссылку другу или подключить внешние сервисы по API - они не состоят в вашей виртуальной сети. Кроме того, готовые решения вроде ZeroTier зависят от чужих центральных контроллеров (есть риск блокировок протокола), а для полностью независимого Headscale снова придется арендовать собственный VPS.

В чем отличие хаба, коммутатора и маршрутизатора?

09.03.26
98

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

1. Хаб (Концентратор)

Хаб - это самое простое и на сегодняшний день практически вышедшее из употребления устройство. Он работает на физическом уровне (L1) модели OSI.

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

2. Коммутатор (Свитч)

Коммутатор - это современный стандарт для объединения устройств в одну локальную сеть (LAN). Он работает на канальном уровне (L2).

  • Как работает: В отличие от хаба, свитч имеет собственную память. Он изучает MAC-адреса подключенных к нему устройств и формирует специальную таблицу коммутации (MAC-таблицу). Когда приходит кадр данных, коммутатор смотрит на MAC-адрес получателя и перенаправляет сигнал только в тот порт, к которому подключено нужное устройство.
  • Особенности: Благодаря этому устраняются коллизии, пропускная способность канала не делится между всеми участниками, а сеть работает быстро и безопасно.

3. Маршрутизатор (Роутер)

Если коммутаторы объединяют устройства в одну сеть, то маршрутизаторы соединяют разные сети между собой (например, вашу локальную сеть и глобальную сеть Интернет). Он работает на сетевом уровне (L3).

  • Как работает: Маршрутизатор оперирует не физическими MAC-адресами, а логическими IP-адресами. Он читает заголовки IP-пакетов, определяет сеть назначения и по специальным таблицам маршрутизации вычисляет оптимальный путь (маршрут), по которому нужно отправить данные дальше.
  • Особенности: Маршрутизатор является границей сети. Обычный домашний роутер - это комбинированное устройство, которое чаще всего включает в себя сам маршрутизатор (для связи с провайдером), встроенный свитч (LAN-порты на задней панели), точку доступа Wi-Fi и различные сервисы (NAT, DHCP, Firewall).

Краткая сводка

ХарактеристикаХаб (Hub)Коммутатор (Switch)Маршрутизатор (Router)
Уровень OSIL1 (Физический)L2 (Канальный)L3 (Сетевой)
АдресацияНе используетОперирует MAC-адресамиОперирует IP-адресами
Принцип передачиШлет данные на все порты подрядШлет данные конкретному получателюНаправляет данные между разными сетями
Главная задачаПростое физическое соединение узловСоздание локальной сети (LAN)Маршрутизация трафика в другие сети (WAN/Internet)

Что такое Pi-Apps и как его установить на Raspberry Pi

08.03.26
77

Если вы используете свой Raspberry Pi 5 в качестве настольного компьютера, ретро-консоли или медиацентра, вы наверняка сталкивались с тем, что установка некоторых программ в Linux требует поиска сложных команд и ручной компиляции кода. Именно эту проблему решает Pi-Apps.

Что такое Pi-Apps?
 

Pi-Apps - это бесплатный магазин приложений с открытым исходным кодом, созданный специально для Raspberry Pi (и других устройств на базе ARM/x86 Linux).

Главная его цель - максимально упростить процесс установки софта. По сути, это набор скриптов, упакованных в удобный графический интерфейс. С помощью Pi-Apps вы можете скачивать, обновлять и удалять десятки популярных программ буквально в пару кликов, без необходимости лезть в командную строку.

Что можно установить через Pi-Apps?

  • Браузеры: Chromium (с поддержкой Widevine для Netflix/Spotify), Firefox, Tor и так далее
  • Мессенджеры: Telegram, Discord, Skype.
  • Разработка: Visual Studio Code, Arduino IDE, Android Studio.
  • Игры: Minecraft, Doom, эмуляторы Box86/Box64 для запуска Windows-игр,.
  • Утилиты: GIMP, OBS Studio, TeamViewer.

Как установить Pi-Apps на Raspberry Pi

Процесс установки невероятно прост и занимает всего пару минут. Все, что вам нужно - это доступ к интернету и открытый терминал.

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

  1. Откройте терминал (сочетание клавиш Ctrl + Alt + T).
  2. Введите следующую команду и нажмите Enter:

    sudo apt update && sudo apt upgrade -y
  3. Дождитесь завершения процесса обновления.

Установка Pi-Apps

Разработчик Pi-Apps (Botspot) подготовил удобный скрипт автоматической установки. В том же терминале введите одну простенькую команду:

wget -qO- https://raw.githubusercontent.com/Botspot/pi-apps/master/install | bash

Завершение и запуск

Скрипт автоматически скачает необходимые файлы, установит зависимости и создаст ярлыки. Процесс полностью автоматизирован.

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

Где найти Pi-Apps?

На вашем рабочем столе появится иконка Pi-Apps.

Также программу можно найти в главном меню Raspberry Pi OS в разделе "Стандартные" (Accessories).

Как пользоваться Pi-Apps

Интерфейс программы интуитивно понятен:

  1. Запустите Pi-Apps.
  2. Перед вами появится окно с категориями (Games, Internet, Tools и т.д.).
  3. Выберите нужную категорию или воспользуйтесь кнопкой Search (Поиск), чтобы найти конкретное приложение.
  4. Выберите программу и нажмите кнопку Install (Установить).
  5. После этого откроется окно терминала, где вы сможете наблюдать за процессом установки. Как только он завершится, программа будет готова к использованию!

Неблокируемый VPN‑туннель AmneziaWG для Raspberry Pi 5: подключение к VPS и проброс портов (на примере CS 1.6)

27.02.26
976

Для кого это решение:
Идеально подходит тем, у кого дома нет публичного/статического ("белого") IP-адреса, чтобы напрямую открыть порты, но есть любой недорогой VPS-сервер. В данном руководстве для примера, мы используем сервер игры Counter-Strike 1.6.
Как работает эта архитектура:
Мы превращаем VPS сервер в публичную "витрину" для домашнего железа, связывая их через неблокируемый VPN-туннель.

  • VPS (Внешний шлюз): Смотрит в интернет своим реальным IP-адресом и принимает подключения игроков. Внутри туннеля AmneziaWG он получает адрес 10.8.0.1.
  • Raspberry Pi 5 (Домашний сервер): Спокойно стоит за провайдерским NAT. Она сама инициирует подключение к VPS, пробивая туннель, и получает внутренний адрес 10.8.0.2.
  • Магия маршрутизации: Мы берем внешний игровой порт (27015 UDP/TCP) на VPS и прозрачно пробрасываем его сквозь туннель прямо на вашу домашнюю "малинку", ну или linux сервер.

Главный плюс: мы буквально "вытягиваем" Raspberry Pi в глобальную сеть, не ломая то, что уже работает. Порт-форвардинг настраивается настолько ювелирно, что крутящиеся на VPS сайты, веб-сервисы и боты даже не заметят соседства с игровым сервером.

1. Установка AmneziaWG 

На сервере VPS (Ubuntu/Debian):

sudo add-apt-repository ppa:amnezia/ppa
sudo apt update
sudo apt install amneziawg-tools amneziawg-dkms -y

На Raspberry Pi 5 (Особый способ установки ключей, обходящий блокировки):

sudo apt update
sudo apt install -y gnupg2 curl linux-headers-$(uname -r)
# Скачиваем ключ через 80 порт
gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 57290828
gpg --export 57290828 | sudo tee /usr/share/keyrings/amnezia.gpg > /dev/null
# Добавляем репозиторий
echo "deb [signed-by=/usr/share/keyrings/amnezia.gpg] https://ppa.launchpadcontent.net/amnezia/ppa/ubuntu focal main" | sudo tee /etc/apt/sources.list.d/amneziawg.list
sudo apt update
sudo apt install -y amneziawg-tools amneziawg-dkms

2. Генерация ключей

Все ключи для удобства генерируем на VPS, чтобы потом просто скопировать их в конфиги.

Выполняем на VPS:

mkdir -p ~/awg-keys && cd ~/awg-keys
awg genkey | tee server_private | awg pubkey > server_public
awg genkey | tee client_private | awg pubkey > client_public

# Выводим на экран и копируем в блокнот:
cat server_private && cat server_public
cat client_private && cat client_public

3. Настройка VPS (Сервер)

  1. Включаем маршрутизацию (форвардинг) в ядре:

    echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
    sudo sysctl -p
  2. Создаем конфигурационный файл:

    sudo nano /etc/amnezia/amneziawg/awg0.conf
  3. Вставляем настройки (замените ключи на сгенерированные). Внимание: если ваш основной сетевой интерфейс называется не eth0, а ens3 - измените его в правилах PostUp/PostDown.

    [Interface]
    PrivateKey = <server_private>
    Address = 10.8.0.1/24
    ListenPort = 51820
    
    # Магические параметры Amnezia
    Jc = 4
    Jmin = 40
    Jmax = 70
    S1 = 29
    S2 = 15
    H1 = 2021056581
    H2 = 641527027
    H3 = 1018901243
    H4 = 301646271
    
    # Маскарадинг для выхода туннеля в сеть
    PostUp = iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
    PostDown = iptables -t nat -D POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
    
    [Peer]
    PublicKey = <client_public>
    AllowedIPs = 10.8.0.2/32
  4. Открываем порт в фаерволе (если используете UFW) и запускаем туннель:

    sudo ufw allow 51820/udp
    sudo systemctl enable --now awg-quick@awg0

4. Настройка Raspberry Pi 5 (Клиент)

  1. Создаем конфигурационный файл:

    sudo nano /etc/amnezia/amneziawg/awg0.conf
  2. Вставляем настройки. Важно: Обязательно проверьте наличие заголовка [Peer], без него парсер выдаст ошибку Line unrecognized

    [Interface]
    PrivateKey = <client_private>
    Address = 10.8.0.2/24
    
    Jc = 4
    Jmin = 40
    Jmax = 70
    S1 = 29
    S2 = 15
    H1 = 2021056581
    H2 = 641527027
    H3 = 1018901243
    H4 = 301646271
    
    [Peer]
    PublicKey = <server_public>
    Endpoint = IP_ВАШЕГО_VPS:51820
    AllowedIPs = 10.8.0.0/24
    PersistentKeepalive = 25
  3. Запускаем туннель и проверяем пинг до VPS:

    sudo systemctl enable --now awg-quick@awg0
    ping -c 4 10.8.0.1

5. Настройка проброса портов (NAT и UFW) на VPS

Чтобы внешний трафик, приходящий на публичный IP VPS по порту 27015, улетал на домашнюю малинку, выполняем на VPS:

  1. Открываем нужные порты для входящих подключений:

    sudo ufw allow 27015/udp
    sudo ufw allow 27015/tcp
  2. Критически важный шаг: Разрешаем транзитный (FORWARD) трафик в UFW, иначе фаервол молча убьет пакеты, идущие сквозь сервер в туннель:

    sudo ufw route allow proto udp to 10.8.0.2 port 27015
    sudo ufw route allow proto tcp to 10.8.0.2 port 27015
  3. Прописываем правила iptables для перенаправления (DNAT) и обратной подмены адреса (SNAT/MASQUERADE):

    # Перенаправление внутрь туннеля
    sudo iptables -t nat -A PREROUTING -p udp --dport 27015 -j DNAT --to-destination 10.8.0.2:27015
    sudo iptables -t nat -A PREROUTING -p tcp --dport 27015 -j DNAT --to-destination 10.8.0.2:27015
    
    # Обратный маскарадинг
    sudo iptables -t nat -A POSTROUTING -d 10.8.0.2 -p udp --dport 27015 -j MASQUERADE
    sudo iptables -t nat -A POSTROUTING -d 10.8.0.2 -p tcp --dport 27015 -j MASQUERADE
  4. Сохраняем правила iptables, чтобы они пережили перезагрузку сервера:

    sudo apt install iptables-persistent -y
    sudo netfilter-persistent save

Вывод:
Сервер работает стабильно, трафик полностью скрыт от DPI, а игровой сервер светит в мир с выделенного IP-адреса.