Skip to content

DNS Tunneling_ru

ospab edited this page Jun 19, 2026 · 2 revisions

DNS-туннелирование с помощью OSTP

OSTP работает поверх UDP и маскирует свой трафик под случайный шум. В некоторых сетях (например, в публичном Wi-Fi с авторизацией (captive portals) или строгих корпоративных сетях) обычные порты могут быть заблокированы, но DNS-запросы (UDP порт 53) часто разрешены без ограничений.

Вы можете использовать это, настроив сервер OSTP на прослушивание UDP порта 53. Это позволит обойти блокировку по портам.

Требования

  1. VPS, на котором никакой другой DNS-сервер (например, systemd-resolved, bind9, dnsmasq) не занимает публичный IP-адрес на порту 53.
  2. Установленный OSTP сервер.

Настройка сервера

Измените параметр listen в вашем файле config.json на стороне сервера, чтобы прослушивать порт 53.

{
  "mode": "server",
  "listen": "0.0.0.0:53",
  "access_keys": ["ВАШ_КЛЮЧ"]
}

Если вы запускаете сервер от обычного пользователя (не root) на Linux, попытка занять порт 53 (привилегированный порт) приведет к ошибке "Permission denied". Вы должны запустить OSTP от имени root или выдать бинарному файлу права CAP_NET_BIND_SERVICE:

sudo setcap 'cap_net_bind_service=+ep' /путь/к/ostp

Перезапустите ваш OSTP сервер.

Настройка клиента

На клиенте обновите конфигурацию outbounds, указав порт 53:

"outbounds": [
  {
    "type": "ostp",
    "tag": "proxy",
    "server": "IP_СЕРВЕРА",
    "port": 53,
    "access_key": "ВАШ_КЛЮЧ",
    "transport": { "type": "udp" }
  }
]

Предупреждение (DPI)

Поскольку трафик OSTP не имеет структуры стандартных DNS-запросов (это чистый белый шум), продвинутые системы DPI (Deep Packet Inspection) могут обнаружить, что это не настоящий DNS-трафик, и заблокировать его. Тем не менее, простые файрволы (блокирующие всё, кроме 53 порта) и стандартные captive portals будут успешно пройдены.

Clone this wiki locally