dae шлюз Debian: установка, DNS и восстановление

dae шлюз Debian: установка, DNS и восстановление

Ryan Foster
14 октября 2026 г.· 11 мин чтения

dae шлюз Debian — это хост Debian в вашей локальной сети, на котором работает dae, прозрачный прокси на основе eBPF, а основной роутер по-прежнему отвечает за DHCP и подключение к интернету. Привяжите dae только к интерфейсу LAN, направьте шлюз одного устройства на этот хост и убедитесь, что устройство возвращается к обычной работе, когда вы отменяете изменение. Процедура составлена по официальным источникам, перечисленным ниже; полный сквозной тест не выполнялся.

Ключевые выводы

  • Для привязки к LAN dae нужны Linux 5.17 или новее и определённые параметры ядра BPF.
  • Если привязан только lan_interface, собственные программы хоста Debian не проксируются.
  • На однопортовом шлюзе ICMP redirect может отправлять клиентов в обход dae, если не выключены оба переключателя redirect.
  • Восстановление тестового устройства сводится к возврату его исходного шлюза и DNS.

Чем dae шлюз Debian отличается от других вариантов?

Прозрачный прокси dae на eBPF размещает логику разделения трафика внутри ядра Linux. Прямой трафик может проходить, минуя прокси в пространстве пользователя, — проект называет это Real Direct, и для этого нужна пересылка IP.[1] Проксируемая часть по-прежнему подключается к заданным вами узлам по ссылкам вроде VLESS, Trojan или Shadowsocks.[2]

Эта инструкция строит дополнительный шлюз на Debian с помощью dae. Если ваше свободное устройство работает на OpenWrt, эту платформу описывает процедура однопортового шлюза на OpenWrt. Если вы ещё выбираете способ перехвата, сравнение REDIRECT, TPROXY и TUN объясняет классические варианты на правилах; dae вместо правил, которые вы ведёте вручную, использует собственные программы eBPF.

Любой шлюз означает, что обновления, сбои и журналы — ваша забота. Руководство по планированию самостоятельного размещения перечисляет эти обязанности, и прежде чем отдавать ему домашний трафик, стоит сравнить обслуживаемый вами сервер с управляемым VPN-сервисом.

Шаг 1: Проверьте ядро Debian и схему сети

Базовая версия — dae v2.1.1, документация прочитана по тегу этого релиза. В кратком руководстве минимальной версией для привязки к интерфейсу LAN или WAN указан Linux 5.17, а для dae trace — 5.15.[3]

uname -r
(zcat /proc/config.gz || cat /boot/config-$(uname -r)) | grep -E 'CONFIG_(BPF|BPF_SYSCALL|BPF_JIT|DEBUG_INFO_BTF|NET_CLS_BPF|NET_SCH_INGRESS|KPROBES)='
ip -4 addr show
ip route show default

Полный список обязательных параметров есть в кратком руководстве, в том числе CONFIG_BPF_SYSCALL=y, CONFIG_DEBUG_INFO_BTF=y и CONFIG_NET_CLS_BPF=m. Настольные дистрибутивы обычно их включают, а сборки для встраиваемых устройств — не всегда.[3] Если какого-то обязательного параметра нет, остановитесь; не пытайтесь загружать модули от других ядер.

Запишите схему, которую будете использовать. Здесь предполагается, что основной роутер — 192.168.1.1, у хоста Debian фиксированный адрес 192.168.1.2 на интерфейсе eth0, и оба находятся в одной LAN. Зарезервируйте адрес хоста в настройках DHCP роутера, а не меняйте того, кто раздаёт DHCP.

Шаг 2: Установите dae из репозитория проекта

Для Debian и Ubuntu краткое руководство использует APT-репозиторий Dae Universe. Выберите файл .sources для APT 3.0 и новее или файл .list для более старого APT, затем импортируйте ключ подписи и установите пакет.[3]

sudo apt update && sudo apt install curl
sudo curl -fsSL -o /etc/apt/sources.list.d/daeuniverse.sources https://daeuniverse.pages.dev/daeuniverse.sources
sudo curl -fsSL -o /usr/share/keyrings/daeuniverse-archive-goose.gpg https://daeuniverse.pages.dev/daeuniverse-archive-goose.gpg
sudo apt update && sudo apt install dae
dae --version

Пакет устанавливает службу systemd и пример /etc/dae/example.dae; ваша конфигурация должна лежать в /etc/dae/config.dae.[3] Службу пока не запускайте. Проверьте выведенную версию и запишите её рядом со схемой сети.

Шаг 3: Напишите минимальную конфигурацию только для LAN

Создайте /etc/dae/config.dae с правами chmod 600, потому что в нём хранятся учётные данные узла. Конфигурация ниже привязывает только интерфейс LAN, задаёт один узел, которым вы владеете или вправе пользоваться, и отправляет на него всё, кроме локального и multicast-трафика.[2][3]

global {
  lan_interface: eth0
  log_level: info
  allow_insecure: false
  auto_config_kernel_parameter: true
}

node {
  mynode: 'vless://REPLACE_WITH_YOUR_OWN_LINK'
}

dns {
  upstream {
    googledns: 'tcp+udp://dns.google:53'
  }
  routing {
    request {
      fallback: googledns
    }
  }
}

group {
  proxy {
    filter: name(mynode)
    policy: fixed(0)
  }
}

routing {
  dip(224.0.0.0/3, 'ff00::/8') -> direct
  dip(geoip:private) -> direct
  fallback: proxy
}

wan_interface опущен намеренно. Согласно краткому руководству, привязка только к LAN затрагивает трафик устройств локальной сети, а собственные программы хоста, включая SSH и обновления пакетов, остаются без изменений.[3] Оставьте allow_insecure: false, чтобы проблема с сертификатом проявлялась явно, а не скрывалась.

Проверьте конфигурацию до запуска. Служба systemd проекта выполняет ту же проверку в ExecStartPre, и этот проход не трогает состояние BPF и сеть.[4]

sudo dae validate -c /etc/dae/config.dae

Шаг 4: Проверьте пересылку и ICMP redirect

При auto_config_kernel_parameter: true dae настраивает параметры ядра для привязанных интерфейсов LAN, включая пересылку и send_redirects.[2][5] На однопортовом шлюзе пакет клиента входит и выходит через один и тот же интерфейс, поэтому ядро обычно отправило бы ICMP redirect с указанием идти напрямую к основному роутеру, в обход dae.

Ядро считает send_redirects на интерфейсе включённым, если включён хотя бы один из параметров conf/all или conf/<interface>, поэтому оба должны быть равны 0.[6] Запустите dae и прочитайте значения:

sudo systemctl start dae
sysctl net.ipv4.ip_forward net.ipv4.conf.all.send_redirects net.ipv4.conf.eth0.send_redirects

Если all по-прежнему равен 1, добавьте net.ipv4.conf.all.send_redirects = 0 в файл в /etc/sysctl.d/ и выполните sudo sysctl --system. Учтите также, что при каждом запуске dae устанавливает net.ipv4.conf.all.rp_filter = 0 и настраивает свой интерфейс dae0; запишите прежние значения, чтобы восстановить их после удаления.[5]

Шаг 5: Направьте одно устройство на дополнительный шлюз

Выберите один ноутбук или настольный компьютер с проводным или стабильным Wi-Fi-подключением. Запишите его текущие адрес, шлюз и DNS, полученные по DHCP. Затем задайте ручную настройку IPv4: тот же адрес, шлюз 192.168.1.2 и DNS 192.168.1.1.

DNS на основном роутере оставлен намеренно. dae перехватывает трафик UDP и TCP на порт 53, который он маршрутизирует, поэтому запросы тестового устройства к роутеру всё равно проходят через DNS-модуль dae и подчиняются вашему разделу dns.[7] Руководство по устранению неполадок также предупреждает, что приостановленный dae не перехватывает DNS, поэтому хост шлюза не следует объявлять DNS-сервером.[8]

Шаг 6: Проверьте выход, DNS и доступ к LAN

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

Способ проверкиОжидаемое наблюдениеЕсли не сработало
Страница проверки IP на тестовом устройствеВиден публичный адрес узлаПрочитайте journalctl -u dae и ссылку узла
Та же страница на другом устройствеВиден обычный адрес провайдераИзменено не то устройство или DHCP
Разрешение имени на тестовом устройствеОтветы приходят без ошибокПроверьте upstream и правило dip(geoip:private)
Страница роутера и сетевая папка в LANЛокальные адреса работаютУбедитесь, что правило для частных адресов стоит первым
Значения redirect в sysctl на хостеОба send_redirects равны 0Исправьте файл sysctl и перезапустите dae

Для проверки выхода посмотрите, какой публичный адрес показывает тестовое устройство. Изменившийся адрес показывает, что веб-трафик доходит до узла; DNS и доступ к LAN всё равно нужно проверить по таблице выше.

Шаг 7: Проверьте восстановление после сбоя и удаление

Проводите проверку сбоя, находясь рядом с устройством. Остановите dae командой sudo systemctl stop dae; тестовое устройство либо потеряет доступ в интернет, либо перейдёт на прямую пересылку — в зависимости от состояния пересылки на хосте. Затем верните исходные настройки DHCP на устройстве и убедитесь, что сайты открываются как обычно. Этот возврат и есть ваш путь восстановления при любом дальнейшем сбое, включая отключение питания хоста Debian.

Только после чистого восстановления выполните sudo systemctl enable dae. Включение автозапуска не запускает службу сразу.[3] Для изменений конфигурации dae reload применяет их, не прерывая существующие соединения, а dae suspend временно приостанавливает dae.[3]

Для удаления сначала верните настройки DHCP на всех устройствах, затем выполните sudo systemctl disable --now dae, sudo apt remove dae и удалите файл репозитория, ключ и добавленные файлы sysctl. Восстановите записанное значение rp_filter и перезагрузите хост, если не уверены, что dae оставил после себя.

Какой трафик эта схема не затрагивает?

Собственные программы хоста находятся вне привязки только к LAN, поэтому обновление Debian или SSH с этого хоста не идут через узел.[3] Остальные устройства LAN продолжают использовать основной роутер как шлюз и не затрагиваются, если вы сами их не меняли.

Частый пробел — IPv6. Хосты узнают маршрутизаторы по умолчанию из Router Advertisements, поэтому тестовое устройство с глобальным IPv6-адресом продолжит отправлять IPv6 на основной роутер даже после смены шлюза IPv4.[9] Либо проверяйте только путь IPv4 и зафиксируйте это ограничение, либо спланируйте IPv6 отдельно до расширения.

Когда можно подключать больше одного устройства?

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

Раздаваемым DNS-сервером оставьте основной роутер — по указанной выше причине с приостановкой.[8] Если на хосте Debian должна работать ещё и локальная DNS-служба, сначала прочитайте документацию dae по правилам must_direct, потому что трафик на порт 53 к самому хосту этими правилами обрабатывается иначе.[7]

Итоги

  • До установки dae v2.1.1 убедитесь в наличии Linux 5.17 или новее и параметров BPF.
  • Привяжите только lan_interface, проверьте конфигурацию и держите учётные данные узла в секрете.
  • Убедитесь, что оба переключателя send_redirects выключены, чтобы клиенты не обходили dae.
  • Проверьте выход, DNS и доступ к LAN одного устройства, затем отрепетируйте восстановление и только потом включайте автозапуск.

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

Проксирует ли dae собственный трафик хоста Debian?

С этой конфигурацией — нет. Привязан только lan_interface, поэтому dae обрабатывает трафик устройств LAN, а собственные программы хоста идут обычным маршрутом.

Какая версия ядра нужна dae для дополнительного шлюза?

В кратком руководстве dae минимальной версией для привязки к интерфейсу LAN указан Linux 5.17, плюс параметры ядра BPF и BTF, которые можно проверить в конфигурации ядра.

Зачем выключать ICMP redirect?

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

Стоит ли сделать хост Debian DHCP-сервером?

Нет. Оставьте DHCP на основном роутере и меняйте одно устройство вручную. Так восстановление остаётся простым, а в одной LAN не конкурируют два DHCP-сервера.

Зачем указывать на тестовом устройстве DNS основного роутера?

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

Что будет, если хост Debian потеряет питание?

Устройства, использующие его как шлюз, теряют доступ в интернет, пока снова не перейдут на основной роутер. Возврат настроек DHCP тестового устройства и есть путь восстановления, поэтому отрепетируйте его заранее.

dae — это то же самое, что собственные правила TPROXY?

Нет. dae реализует перехват и разделение трафика программами eBPF, поэтому вам не нужно вести свои правила TPROXY или REDIRECT, хотя вопросы проектирования LAN остаются теми же.

Отказ от ответственности: Данная статья носит исключительно информационный характер и не является юридической, технической или иной профессиональной консультацией. Мы не гарантируем точность, полноту или актуальность содержания. Используйте только сети, хосты и прокси-узлы, которыми вы владеете или на использование которых у вас есть разрешение.

Источники:

  1. daeuniverse — dae README (v2.1.1) — https://github.com/daeuniverse/dae/blob/v2.1.1/README.md
  2. daeuniverse — example.dae (v2.1.1) — https://github.com/daeuniverse/dae/blob/v2.1.1/example.dae
  3. daeuniverse — dae Quick Start Guide (v2.1.1) — https://github.com/daeuniverse/dae/blob/v2.1.1/docs/en/README.md
  4. daeuniverse — dae systemd unit (v2.1.1) — https://github.com/daeuniverse/dae/blob/v2.1.1/install/dae.service
  5. daeuniverse — Configure Kernel Parameters (v2.1.1) — https://github.com/daeuniverse/dae/blob/v2.1.1/docs/en/user-guide/kernel-parameters.md
  6. Linux kernel — IP sysctl — https://docs.kernel.org/networking/ip-sysctl.html
  7. daeuniverse — DNS configuration (v2.1.1) — https://github.com/daeuniverse/dae/blob/v2.1.1/docs/en/configuration/dns.md
  8. daeuniverse — Troubleshooting (v2.1.1) — https://github.com/daeuniverse/dae/blob/v2.1.1/docs/en/troubleshooting.md
  9. IETF — RFC 4861, Neighbor Discovery for IP version 6 (IPv6) — https://www.rfc-editor.org/rfc/rfc4861

Sources checked 14 октября 2026 г.


Рекомендуемые статьи:

Начните бесплатный 3-дневный пробный период

Зарегистрируйтесь и попробуйте все премиум-функции бесплатно.

*Только для новых пользователей. Один пробный период на пользователя.

dae шлюз Debian: установка, DNS и восстановление | AethoVPN