Безграничный DNS: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Нет описания правки
Строка 10: Строка 10:
<li><strong>tor</strong>: для преобразования имён сайтов в зоне .onion и пропуска к ним.</li>
<li><strong>tor</strong>: для преобразования имён сайтов в зоне .onion и пропуска к ним.</li>
</ul>
</ul>
==TOR (The Onion Router, «луковый маршрутизатор»)==
==TOR (The Onion Router, «луковый маршрутизатор»)==
Настроим так, чтобы он и в ДНС умел, и к ресурсам пропускал. Добавим в его конфиг :
Настроим так, чтобы он и в ДНС умел, и к ресурсам пропускал. Добавим в его конфиг (адреса и порты выбирайте уместные для своих реалий):
<source>
<source>
VirtualAddrNetwork    172.16.0.0/12  # «Серая» сеть, не используемая в организации.
AutomapHostsOnResolve 1              # Прикреплять адрес из «серой» сети к IPv6-адресу каждого онион-сайта.
DNSPort              853            # Порт на петлевом интерфейсе для резолвинга .onion-имён.
TransPort            9040            # А этот &mdash; для перенаправления клиентских запросов к таковым сайтам в тор-сеть.
SocksPort            10.0.1.187:9040 # Необязательный собственный адрес машины в обслуживаемой локалке и сокс-порт, на который пускать запросы к недоступным напрямую ресурсам.
</source>
</source>
==«Шифрующийся» ДНС-прокси==
dnscrypt-proxy


 
==Кэширующий ДНС==
Имена-то через торовский ДНС-порт резолвятся — хоть днсмаском, хоть анбаундом. А вот чтоб до них достучаться, эти стуки тоже надо через тора отредиректить.
Имена-то через торовский ДНС-порт резолвятся — хоть днсмаском, хоть анбаундом. А вот чтоб до них достучаться, эти стуки тоже надо через тора отредиректить.
1. И вот тут как раз нужен тор-параметр «серой» сети VirtualAddrNetwork (у меня он 172.16.0.0/12, ибо в локалках этой адресации нет), рандомное значение из которого и добавляется к ип6-адресу онион-сайта в виде ип4-адреса.


2. Клиентским компам раздать статический маршрут в сеть $VirtualAddrNetwork через тор-машинку.
2. Клиентским компам раздать статический маршрут в сеть $VirtualAddrNetwork через тор-машинку.

Версия от 03:54, 9 сентября 2021

Преамбула

Ввиду государственных/корпоративных потуг урезать взрослым людям остатки свободы в хождении по просторам интернетов куда заблагорассудится, встаёт вопрос, каким образом от оных потуг хоть «на минималках» отгородиться.

Что ж, попробуем.

Амбула

Понадобятся пакеты:

  • dnsmasq (на уровне организации) или unbound (в масштабе провайдера): для кэширования запросов к шифрующимся — эрго, довольно неспешным, резолверам (оба ниже);
  • dnscrypt-proxy: для преобразования в IP-адреса имён сайтов (кроме зоны .onion), не взирая на преграды, ставящиеся хоть вышестоящим провайдером, хоть надзорными органами;
  • tor: для преобразования имён сайтов в зоне .onion и пропуска к ним.

TOR (The Onion Router, «луковый маршрутизатор»)

Настроим так, чтобы он и в ДНС умел, и к ресурсам пропускал. Добавим в его конфиг (адреса и порты выбирайте уместные для своих реалий):

VirtualAddrNetwork    172.16.0.0/12   # «Серая» сеть, не используемая в организации.
AutomapHostsOnResolve 1               # Прикреплять адрес из «серой» сети к IPv6-адресу каждого онион-сайта.
DNSPort               853             # Порт на петлевом интерфейсе для резолвинга .onion-имён.
TransPort             9040            # А этот &mdash; для перенаправления клиентских запросов к таковым сайтам в тор-сеть.
SocksPort             10.0.1.187:9040 # Необязательный собственный адрес машины в обслуживаемой локалке и сокс-порт, на который пускать запросы к недоступным напрямую ресурсам.

«Шифрующийся» ДНС-прокси

dnscrypt-proxy

Кэширующий ДНС

Имена-то через торовский ДНС-порт резолвятся — хоть днсмаском, хоть анбаундом. А вот чтоб до них достучаться, эти стуки тоже надо через тора отредиректить.

2. Клиентским компам раздать статический маршрут в сеть $VirtualAddrNetwork через тор-машинку.

3. А на ней самой запросы в $VirtualAddrNetwork отнатить на транспортный тор-порт — например, нф-таблицами:

table ip nat {
  chain prerouting {
    type nat hook prerouting priority filter
    iif "lan" ip daddr 172.16.0.0/12 tcp flags & (syn | ack) == syn redirect to 9040
  }
}

Постамбула