-
Notifications
You must be signed in to change notification settings - Fork 1
DNS Tunneling_ru
OSTP имеет нативную реализацию протокола dnstt (DNS Tunnel). Это позволяет инкапсулировать зашифрованный трафик OSTP внутри стандартных DNS-запросов (записи TXT и NULL), что позволяет обходить строгие файрволы или captive portals (авторизация в публичных Wi-Fi), которые пропускают только трафик по порту UDP 53.
В отличие от других инструментов, вам не нужно устанавливать сторонние программы вроде dnstt-server или dnstt-client. Сервер OSTP имеет встроенный слушатель dnstt, а клиент нативно кодирует трафик.
- Собственное доменное имя (например,
yourdomain.com). - Настроенные NS записи для делегирования поддомена на IP-адрес вашего сервера.
- Зайдите в панель управления DNS вашего регистратора.
- Создайте A запись, указывающую на IP вашего сервера:
- Тип:
A - Имя:
tunsrv - Значение:
IP_ВАШЕГО_СЕРВЕРА
- Тип:
- Создайте NS запись, которая делегирует поддомен туннеля на созданную выше A-запись:
- Тип:
NS - Имя:
t - Значение:
tunsrv.yourdomain.com
- Тип:
Теперь любые DNS-запросы к *.t.yourdomain.com будут отправляться напрямую на ваш сервер!
Туннель DNS использует собственную пару ключей Ed25519 для предотвращения злоупотреблений. Вы должны сгенерировать публичный и приватный ключ (с помощью инструмента dnstt-server -gen-key или API OSTP).
Добавьте inbound с типом dns в ваш файл config.json на сервере. Сервер должен быть запущен с правами, достаточными для прослушивания порта 53 (например, выдав права через sudo setcap 'cap_net_bind_service=+ep' /path/to/ostp).
На клиенте настройте outbound типа ostp на использование транспорта dns. Вы должны указать точный домен, публичный резолвер (например 1.1.1.1 или 8.8.8.8) и публичный ключ сервера.
"outbounds": [
{
"type": "ostp",
"tag": "proxy",
"server": "IP_ВАШЕГО_СЕРВЕРА", // Для логической маршрутизации
"port": 50000,
"access_key": "ВАШ_СЕКРЕТНЫЙ_КЛЮЧ",
"transport": {
"type": "dns",
"domain": "t.yourdomain.com",
"resolver": "1.1.1.1",
"pubkey": "ВАШ_ПУБЛИЧНЫЙ_КЛЮЧ_ЗДЕСЬ"
}
}
]Поскольку трафик OSTP внутри DNS не похож на обычные читаемые текстовые записи (TXT-записи содержат base32 шум с высокой энтропией), продвинутые системы DPI могут распознать аномалию. Однако для обхода простых файрволов, captive portals в отелях или самолетах этот метод невероятно эффективен.
{ "mode": "server", "inbounds": [ // Обычный слушатель OSTP { "type": "ostp", "tag": "ostp-in", "listen": "0.0.0.0", "port": 50000, "access_keys": ["ВАШ_СЕКРЕТНЫЙ_КЛЮЧ"] }, // Нативный слушатель dnstt { "type": "dns", "tag": "dns-in", "listen": "0.0.0.0:53", "domain": "t.yourdomain.com", "pubkey": "ВАШ_ПРИВАТНЫЙ_КЛЮЧ_ЗДЕСЬ", "privkey": "ВАШ_ПРИВАТНЫЙ_КЛЮЧ_ЗДЕСЬ" } ], "outbounds": [ { "type": "direct", "tag": "direct" } ] }