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

Материал из ALT Linux Wiki
Нет описания правки
Нет описания правки
Строка 7: Строка 7:
<ul>
<ul>
<li><strong>dnsmasq</strong> (на уровне организации) или <strong>unbound</strong> (в масштабе провайдера) &mdash; для кэширования запросов к шифрующимся, а значит, довольно неспешным резолверам:</li>
<li><strong>dnsmasq</strong> (на уровне организации) или <strong>unbound</strong> (в масштабе провайдера) &mdash; для кэширования запросов к шифрующимся, а значит, довольно неспешным резолверам:</li>
<li><strong>dnscrypt-proxy</strong> (в альте он не собран, так что брал дебиановский) &mdash; для резолвинга имён в IP-адреса, не взирая на преграды, ставящиеся хоть вышестоящим провайдером, хоть надзорными органами;</li>
<li><strong>dnscrypt-proxy</strong> &mdash; для преобразования в IP-адреса имён сайтов кроме зоны .onion, не взирая на преграды, ставящиеся хоть вышестоящим провайдером, хоть надзорными органами;</li>
<li><strong>tor</strong> &mdash; для резолвинга имён зоны .onion и пропуска к сайтам в этой зоне.</li>
<li><strong>tor</strong> &mdash; для преобразования имён сайтов в зоне .onion и пропуска к ним.</li>
<ul>
</ul>


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


3. А на ней самой запросы в $VirtualAddrNetwork отнатить на транспортный тор-порт — например, нф-таблицами:
3. А на ней самой запросы в $VirtualAddrNetwork отнатить на транспортный тор-порт — например, нф-таблицами:
<source lang="bash">
table ip nat {
table ip nat {
   chain prerouting {
   chain prerouting {
Строка 24: Строка 25:
   }
   }
}
}
 
</source>


=Постамбула=
=Постамбула=

Версия от 06:28, 9 сентября 2021

Преамбула

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

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

Амбула

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

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

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

1. И вот тут как раз нужен тор-параметр «серой» сети VirtualAddrNetwork (у меня он 172.16.0.0/12, ибо в локалках этой адресации нет), рандомное значение из которого и добавляется к ип6-адресу онион-сайта в виде ип4-адреса.

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
  }
}

Постамбула