Безграничный DNS: различия между версиями
Дым (обсуждение | вклад) Нет описания правки |
Дым (обсуждение | вклад) Нет описания правки |
||
Строка 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 # А этот — для перенаправления клиентских запросов к таковым сайтам в тор-сеть. | |||
SocksPort 10.0.1.187:9040 # Необязательный собственный адрес машины в обслуживаемой локалке и сокс-порт, на который пускать запросы к недоступным напрямую ресурсам. | |||
</source> | </source> | ||
==«Шифрующийся» ДНС-прокси== | |||
dnscrypt-proxy | |||
==Кэширующий ДНС== | |||
Имена-то через торовский ДНС-порт резолвятся — хоть днсмаском, хоть анбаундом. А вот чтоб до них достучаться, эти стуки тоже надо через тора отредиректить. | Имена-то через торовский ДНС-порт резолвятся — хоть днсмаском, хоть анбаундом. А вот чтоб до них достучаться, эти стуки тоже надо через тора отредиректить. | ||
2. Клиентским компам раздать статический маршрут в сеть $VirtualAddrNetwork через тор-машинку. | 2. Клиентским компам раздать статический маршрут в сеть $VirtualAddrNetwork через тор-машинку. |
Версия от 06: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 # А этот — для перенаправления клиентских запросов к таковым сайтам в тор-сеть.
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
}
}