DNS over TLS — Шифруем наши DNS запросы с помощью Stunnel и Lua

источник изображения

После новости о том что “Google Public DNS тихо включили поддержку DNS over TLS” я решил попробовать его. У меня уже есть Stunnel который создаст шифрованный TCP туннель до гугла. Но программы обычно общаются с DNS по UDP протоколу. Поэтому нам нужен прокси который будет пересылать UDP пакеты в TCP поток и обратно. Мы напишем его на Lua.
Вся разница между TCP и UDP DNS пакетами:
4.2.2. TCP usage
Messages sent over TCP connections use server port 53 (decimal). The message is prefixed with a two byte length field which gives the message length, excluding the two byte length field. This length field…

DNS over TLS — Шифруем наши DNS запросы с помощью Stunnel и Lua