INTEGRITY Документация

DNS через Tor

Когда вы отправляете обычный DNS-запрос, ваш IP-адрес и запрашиваемые домены видны и интернет-провайдеру, и DNS-резолверу. Onion-сервис Tor от Cloudflare направляет ваши DNS-запросы через сеть Tor, что обеспечивает значительно более высокий уровень анонимности по сравнению с прямыми запросами. Резолвер никогда не видит ваш IP-адрес, а провайдер не может определить, что вы пытались разрешить доменное имя.

Подробнее об этом сервисе читайте в эта запись блога ↗.

Настройка клиента Tor

В отличие от стандартных режимов DNS, где трафик отправляется напрямую на IP-адрес, сеть Tor маршрутизирует трафик, не раскрывая IP-адреса. Это значит, что все соединения со скрытым резолвером должны проходить через клиент Tor.

Прежде чем начать, перейдите в раздел сайт Tor Project ↗, чтобы скачать и установить Tor-клиент. Если вы используете Tor Browser, он автоматически запустит SOCKS-прокси ↗ по адресу 127.0.0.1:9150.

Если вы используете Tor в командной строке, создайте следующий конфигурационный файл:

SOCKSPort 9150

После этого вы можете запустить tor следующим образом:

tor -f tor.conf

Кроме того, если вы используете Tor Browser, можно перейти по адресу резолвера и увидеть привычную страницу 1.1.1.1:

https://dns4torpnlfs2ifuz2s2yf3fc7rdmsbhm6rw75euj35pac6ap25zgqad.onion/

Если вы забудете адрес 1.1.1.1, используйте cURL, чтобы получить его:

curl -sI https://tor.cloudflare-dns.com | grep -i alt-svc
alt-svc: h2="dns4torpnlfs2ifuz2s2yf3fc7rdmsbhm6rw75euj35pac6ap25zgqad.onion:443"; ma=315360000; persist=1

Настройка локального DNS-прокси с помощью socat

Не все DNS-клиенты поддерживают прямое подключение к сети Tor. socat ↗ устраняет этот разрыв, перенаправляя локальные порты через Tor-прокси, благодаря чему любое ПО, поддерживающее DNS, может обратиться к скрытому резолверу.

DNS через TCP, TLS и HTTPS

Скрытый резолвер прослушивает TCP-порт 53 (DNS over TCP) и порт 853 (DNS over TLS). После настройки прокси Tor выполните следующую socat команду от имени привилегированного пользователя, задав PORT на 53 или 853 в зависимости от вашего протокола:

PORT=853; socat TCP4-LISTEN:${PORT},reuseaddr,fork SOCKS4A:127.0.0.1:dns4torpnlfs2ifuz2s2yf3fc7rdmsbhm6rw75euj35pac6ap25zgqad.onion:${PORT},socksport=9150

Отсюда вы можете следовать обычному руководству по настройка 1.1.1.1, за исключением того, что всегда следует использовать 127.0.0.1 вместо 1.1.1.1. Если вам нужно обратиться к прокси с другого устройства, замените 127.0.0.1 в socat команду с вашим локальным IP-адресом.

DNS поверх HTTPS

Как описано в статье блога ↗, предпочтительный способ: DNS over HTTPS (DoH), который шифрует весь DNS-запрос внутри соединения HTTPS. Чтобы настроить его:

  1. Скачать cloudflared следуя руководству для подключение к 1.1.1.1 с использованием клиентов DNS через HTTPS.

  2. Запустите SOCKS-прокси Tor и используйте socat, чтобы перенаправить порт TCP:443 на localhost:

socat TCP4-LISTEN:443,reuseaddr,fork SOCKS4A:127.0.0.1:dns4torpnlfs2ifuz2s2yf3fc7rdmsbhm6rw75euj35pac6ap25zgqad.onion:443,socksport=9150
  1. Настройте компьютер так, чтобы он воспринимал .onion адрес как localhost:
cat << EOF >> /etc/hosts
127.0.0.1 dns4torpnlfs2ifuz2s2yf3fc7rdmsbhm6rw75euj35pac6ap25zgqad.onion
EOF

Если вы запустите эту команду более одного раза, удалите повторяющиеся записи из /etc/hosts, чтобы избежать конфликтов.

  1. Наконец, запустите локальный демон DNS через UDP:
cloudflared proxy-dns --upstream "https://dns4torpnlfs2ifuz2s2yf3fc7rdmsbhm6rw75euj35pac6ap25zgqad.onion/dns-query"
INFO[0000] Adding DNS upstream                           url="https://dns4torpnlfs2ifuz2s2yf3fc7rdmsbhm6rw75euj35pac6ap25zgqad.onion/dns-query"
INFO[0000] Starting DNS over HTTPS proxy server          addr="dns://localhost:53"
INFO[0000] Starting metrics server                       addr="127.0.0.1:35659"