С помощью nstx возможно создать IP туннель внутри DNS. Протокол позволяющий достичь этого называется “NSTX” и расшифровывающийся как “NameServer Transfer Protocol”.
Провайдер выдаёт и разрешает использовать Вам сервер DNS. Представим обычный DNS запрос. Мы запрашиваем информацию на сервере имен провайдера, сервер провайдера передаёт запрос другому серверу имен, который отвечает за нужную нам зону. Последний DNS сервер, в цепочке, отправляет полученный ответ по тому же маршруту обратно.
А теперь представьте, что можно оформить IP пакеты в DNS запросы сервера имен и “сформировать” входящий трафик в нужные нам пакеты. И вот у нас уже есть все, что бы построить полноценный IP over DNS туннель. Остается только фальшивый сервер имен и клиент, но на практике это не так просто.
Максимальный размер пакета, который можно передать максимально 512 байт по протоколу UDP. Поэтому нам потребуется механизм сборщик / разборщик, который будет собирать и разбирать фрагментированные пакеты и проверять их корректность. Фальшивый DNS клиент может связываться с нашим фальшивым сервером DNS постоянно, а наш DNS сервер может только отвечать. Поэтому клиент будет ответственен за сверку и поддержание двухсторонней связи.
Впервые, я попробовал сделать это в 2004ом году. Две недели не спешно я разбирался с этим пакетом, правил исходных текст, перечитывал руководства, но в результате – я получил работающий туннель. Это невероятно.
Вообще, немного желания, времени, и вы самостоятельно можете запустить фальшивый сервер имен и клиента для создания тоннеля “IP-over-DNS”. Играйтесь. Я признаю это и не ожидаю, что каждого будут интересовать технические нюансы. Для большинства компьютер – это просто инструмент, средство достижения цели. У них есть и более интересные занятия, и другие проблемы в жизни. Но сама идея и реализация “IP-over-DNS” – это что-то невероятное.
Автор Roman Y. Bogdanov, взято с сайта http://brj.pp.ru/