Кто твой первый советник, тёмный лорд? >>> DNS Leak Test![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHy_DaVTX70X5mHYuRh_p4Hgw6EBNdq8fhMbDA1V6oWT9-1rjgeFsExofUMiPZVUKkWPXztXy3jE-lfSP5eT4t0uGxnKTxLfSOZur0bJ5lzlaGATuHhBQvef99mxcJ0_0ximn7dMrNF3pc/s200/DNScrypt_yinftq_tewzve_zhgmox.jpg)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4dB8_Zxt27UWdcYyhCcpfJGh0xtXv8Zf1cYKyLa8qAxDIX5fOLwz67Mp1MH7lX7aNA5zlqYFyp_6O8RsASQFusXXossZZiOqxv98oKW4Pd4U2eNmb1QqlJKyZ6Z1TeHqcd_su3rh2KRPq/s200/opendns.jpg)
Сейчас нарисую топорно так схемку:
FireFox -> System ->
/etc/resolv.conf = 127.0.0.1(:53) ->
Unbound -> cache ->
dnscrypt-proxy = 127.0.0.1:40 -> CRYPT ->
4ARMED = 51.254.115.48:443
Applications / System
/etc/resolv.confdomain DEAD.NET nameserver 127.0.0.1 # подразумевается порт 53
Этого может быть не достаточно в Armbian Legacy Ubuntu Trusty, так, как при автоматической настройке поменяется. Тогда редактируем файл:
/etc/resolvconf/resolv.conf.d/original
Сразу поставим пакеты с утилитами для проверки работы устанавливаемого нами софта:
apt-get install tcpdump dnsutils ldnsutils elinks
Установка и конфигурация UNBOUND
Установка и конфигурация DNSCRYPT-PROXY
Проверки
Двумя терминалами. В одном забиваем мониторинг порта 40:
tcpdump -A -ni lo port 40На этот порт придёт запрос от Unbound. Он будет читабельным. А во втором терминале делаем запрос, например:
elinks habrahabr.ruДалее сбрасываем кэш перезапуском:
unbound-control reloadИ делаем мониторинг порта 443 на внешнем интерфейсе
tcpdump -A -ni eth0 port 443На этот порт dnscrypt-proxy будет отправлять зашифрованный запрос резолверу. Конечно, если именно этот порт используется выбранным нами резолвером, а это можно подсмотреть в файле dnscrypt-resolvers.csv. И тут уже мы увидим зашифрованный трафик. Готово!
Финальная проверка - DNS Leak Test
И здесь мы увидим адрес резолвера, забитый на старте dnscrypt-proxyКосяк/особенность.
Дело в том, что Unbound форвардов с одинаковыми адресами, но с разным портом не различает. Он будет использовать одного из них. В этом можно убедиться, выполнив команду:unbound-control forward 127.0.0.1Поэтому правим конфиги таким образом, чтобы форварды отличались не портами, а адресами:
/etc/unbound/unbound.conf
forward-zone: name: "." forward-addr: 127.0.0.2@5353 forward-addr: 127.0.0.3@5353И автозапуск dnscrypt-proxy
/etc/rc.local
/usr/local/sbin/dnscrypt-proxy -R 4armed --local-address=127.0.0.2:5353 --daemonize --pidfile=/run/dnscrypt-proxy2.pid /usr/local/sbin/dnscrypt-proxy -R soltysiak --local-address=127.0.0.3:5353 --daemonize --pidfile=/run/dnscrypt-proxy3.pid exit 0Убеждаемся в портах после ребута
netstat -anp | grep dnscrypt-proxy netstat -anp | grep unboundИ проверка DNS Leak Test уже покажет два DNS сервера, а запрос на форвардов два локальных адреса:
unbound-control forward 127.0.0.2 127.0.0.3
1 комментарий:
Привет .
А pdnsd даже сохраняет кеш DNS на диске.
Отправить комментарий