Меню

Универсальный DNS-туннель

Вход
  • account_j 18.09.2026 14:10
  • account_j

    Обновлено Позавчера в 22:06

    DNStt
     
    В РФ трафик DNS на текущий момент пускают все мобильные провайдеры интернета какие я только смог проверить (даже если на тарифе нет денег). Полный безлимит на скорости до 2-3.4 Мбит/с (периодически вручную перезапускаем).
     
    Мануал выше можно упростить. Находим клиент для ПК самостоятельно, для смартфона есть HTTP Injector.
     
    Сойдет и лишь так: 1 домен + его поддомен. Такие бесплатно есть (3-4 lvl), с указанием IP своего хоста и полной настройкой, как на DNS-хостинге.
     
    Я сделал два поддомена а не один, второй для проверки указывал как DNS распознаватель (на скрине, где IP) и тоже успешно подключался.
     
    Я указал в качестве DNS распознавателя свой же хост, т. к. полноценного домена нет, можно указать второй поддомен в качестве распознавателя, трафик пойдет и таким образом, в инъекторе можно переназначить DNS на DNS провайдера, отдельной настройкой, или на DNS от Google, также успешно подключится.
     
    Если отдельно (глобальная настройка в приложении, которая принудительно перенаправляет DNS трафик от всех подключений, HTTP/SSL и прочих) поставить IP хоста как DNS, не подключится, если в DNS распознаватель (на скриншоте) поставить DNS не вашего распознавателя на VPS а DNS Google или оператора то тоже не будет соединения для  текущей упрощённой настройки без полноценного домена.
     
    Можете проверить эту настройку и настройку для полноценного домена по полным инструкциям в сети.
     
    ////
     
    (Схема "идеал", если поймете, это два поддомена от основного домена к которому у вас доступ, а обращение клиента (настройка "DNS распознаватель", (резолвер)) идет к DNS серверу провайдера или к Google если укажете, так он отсылает трафик через например Google на ваш домен привязанный к VPS и работает через безлимитный UDP-трафик).
     
    В панели управления вашего домена нужно создать следующие записи. Допустим, ваш основной домен — example.com:
    · А-запись: tns.example.com → IP-адрес вашего VDS.
      (Это «главный» сервер, который будет обрабатывать DNS-запросы для туннеля).
    · NS-запись: t.example.com → tns.example.com.
      (Эта запись делегирует управление поддоменом t.example.com вашему серверу tns.example.com).
     
    Важно: Дождитесь применения записей (может занять до 24 часов). Проверить можно командой dig NS t.example.com.
     
    · Запустите меню управления: dnstt-deploy.
    · Выберите Install/Reconfigure dnstt server.
    · Введите данные:
      · Tunnel subdomain: t.example.com (ваш поддомен для туннеля).
      · SSH Port: обычно 22 или ваш кастомный.
      · SSH Username/Password: данные для подключения к VDS.
     
    Скрипт создаст ключи (server.key, server.pub), пропишет фаервол и добавит сервис в автозагрузку. Публичный ключ (server.pub) понадобится позже для настройки HTTP Injector.
     
    Проверка работы
    Убедитесь, что сервер слушает порт 53 (перенаправлен на внутренний порт 5300):
    sudo netstat -tulpn | grep 5300
     
    Настройка HTTP Injector (Клиент)
    1. Откройте Настройки → Secure Shell и введите данные вашего SSH-аккаунта.
    2. В разделе DNSTT активируйте туннель и укажите:
       · Domain: t.example.com.
       · Public Key: содержимое файла server.pub с вашего сервера.
       · DNS Resolver: выберите рабочий публичный DNS (например, 1.1.1.1 или 8.8.8.8 или вообще провайдерский вбейте, должен быть шустрее).
     
    //////
     
    Тут я указал поддомен основного домена. На firstvds я добавил домен i.******.fvds.ru

     
    В след. шаге SSH Port — 22 (или ваш).
     
    Затем SSH Username/Password.
     
    Скрипт доустановит всё, создаст ключи и запустит сервис.
     
    Публичный ключ будет лежать здесь (обычно):
    /opt/dnstt/server.pub (или в /root/dnstt/). Скопируйте его содержимое.
     
    В HTTP Injector укажите:
     
    DNSTT Domain: i.*********.fvds.ru (пример, как поддомен выше при установке)
     
    Resolver: вручную пропишите IP DNS 127.*.*.* (IP к которому домен привязан, ваш хост) (это критично, т.к. в моем упрощенном способе просто домен + IP от firstvds, или указать второй поддомен (привязанный к тому же ip по инструкции выше), попробовал, прошло, лень разбираться).
     
    Method: UDP
     
    Public Key: вставьте из файла.
     
    Приводим HTTP Injector к такому виду:

     
    И указываем параметры SSH. Клиент коннектится к 53 порту DNS, где его ждет "dnstt-server" на вашем VPS, оттуда он коннектит к SSH, логин и пароль которого вы указали. (IP хоста для SSH в таком случае (custom) инъектор берет из DNS вашего хоста).
     
    Сложно, но я попробовал и все работает.
     
    Покупаем себе вечный VPS с зарубежным IP, подешевле, ищем сервисы бесплатно выдающие домены 3-4 LVL и вот вам бесплатный и безлимитный интернет. Если DNS не заблочат по стране.
     
    ©АйтиКузьмич (Уровень: божественный)

Удаление

Вы уверенны, что хотите удалить сообщение?

Это безвозвратная операция.

Отмена Удалить