ТОТАЛНИ ДЕФЕКТИ

Философия на безкрайността, чудесата и политическата мода

ПОРЪЧАЙ ТУК

или търси в книжарниците!

DNS over TLS

Обновена на: March 24, 2022

Много ми се иска да пиша интро. Само че много ме мързи.
DNS over TLS (DoT) е криптиран DNS. Съществува също DoH (over HTTPS). Последното е по-скоро рекуест по HTTPS, както и звучи, но първото е чист рекуест с TLS на секюр порт – 853.

На нашия компютър можем да го сетъпнем джиджено с локален рутер, който прави връзка до 853ти порт, после bind-ва на 127.0.0.1:53. Казваш на машината, че nameserver-а е 127.0.0.1 и имаш криптиран DNS.

Много хора препоръчват stubby за тая работа, но аз напоследък съм на golang вълна и си търсих нещо портативно. Намерих routedns. Сигурен съм, че ако не все още, то скоро някой ще напише прокси на С, което да е по-малко по размер. Ама знае ли човек.
Тестваме като сме готови с 1.1.1.1/help

Най-много време ми отне да разбера как точно routedns очаква да приложа trusted server-ите на машината си, за да може да се получи handshake-a, а отговорът е достатъчно лесен. Приеми, че същото се прилага както за Linux, така и за macOS:

routedns ./cloudflare.toml

[resolvers]
  [resolvers.cloudflare-dot]
  address = “1.1.1.1:853”
  protocol = “dot”
  ca = “/etc/ssl/cert.pem”

[listeners]
  [listeners.local-udp]
  address = “127.0.0.1:53”
  protocol = “udp”
  resolver = “cloudflare-dot”

  [listeners.local-tcp]
  address = “127.0.0.1:53”
  protocol = “tcp”
  resolver = “cloudflare-dot”