Обход блокировки на стороне сервера с помощью технологии Teredo

moder

moder

Администратор
Команда форума
Источник: http://habrahabr.ru/post/252611/

Увидел я как-то IPv6 Teredo пиров в µTorrent под Windows, которые качали куски с довольно приличной скоростью, и тут меня осенило…

Что такое Teredo?
Teredo — технология туннелирования IPv6 через IPv4 UDP-пакеты. Она задумывалась как переходная технология, которая работает за NAT, и, в общем, более-менее выполняет возложенные на нее обязанности. Teredo позволяет получить доступ в IPv6-интернет через публичные Teredo-серверы. Интересно то, что в Windows 7, 8 и 8.1 Teredo настроен и включен по умолчанию, прямо из коробки, и использует сервер Teredo от Microsoft (teredo.ipv6.microsoft.com).

Зачем это нам?
Веб-сайты, определенные ссылки которых по тем или иным причинам оказались в реестре запрещенных сайтов, могут организовать доступ с использованием Teredo, что позволит вернуть доступ к сайту примерно 80-85% пользователям современных версий Windows без дополнительных настроек и ПО! Доступ через Teredo позволяет обойти все протестированные DPI-решения, применяемые провайдерами. Роскомнадзор не только не может внести такие страницы в реестр, но и не может получить к ним доступ (вероятно, Teredo у них не работает):
Здравствуйте
Благодарим Вас за активную гражданскую позицию, однако сообщаем, что Ваша заявка была отклонена по следующим возможным причинам:
— на момент проведения проверки экспертами, указанный в Вашем обращении адрес http://[2001:0:9d38:6ab8:30c4:d940:9469:f43e]/ был не доступен;
— указанный в Вашем обращение адрес http://[2001:0:9d38:6ab8:30c4:d940:9469:f43e]/ указан неверно, либо идет перенаправление на другой адрес;
— указанный в Вашем обращение адрес http://[2001:0:9d38:6ab8:30c4:d940:9469:f43e]/ требует обязательной регистрации/авторизации.
С уважением,
ФЕДЕРАЛЬНАЯ СЛУЖБА ПО НАДЗОРУ В СФЕРЕ СВЯЗИ, ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И МАССОВЫХ КОММУНИКАЦИЙ.
К тому же, у Роскомнадзора нет полномочий блокировать страницы, которые перенаправляют на другие страницы, и кнопка «Актуальный Навальный» тому подтверждение.

Особенности сервера Teredo от Microsoft
Для доступа в «обычный» IPv6, в Teredo используются Relay-серверы, которые имеют полный IPv6-доступ и работают как прокси-серверы. В свою очередь, relay-серверы Teredo от Microsoft не позволяют получить доступ в «обычный» IPv6 или к другим Teredo-серверам, разрешая только связность Teredo-клиентов, настроенных на сервер Microsoft, и образуя такую большую закрытую сеть из Windows-компьютеров.

Особенности реализации DNS в Windows
Если в ОС Windows имеется только Teredo IPv6-адрес, резолвер DNS не будет даже пытаться получать AAAA-запись у доменов. Таким образом, просто так зайти на сайт по доменному имени, даже если у него есть только AAAA-запись и нет A-записи, не получится. Это можно отключить специальным параметром в реестре, но это неинтересно, т.к. требует действий на стороне клиента.

Что делать?
Выход простой и не очень элегантный — использовать домен с доступом по IPv4, который сделает HTTP-перенаправление на Teredo IPv6-адрес. Можно делать как обычное перенаправление кодом 307 или 301, так и через javascript, предварительно проверяя доступность Teredo-адреса или комбинируя с другими решениями обхода блокировки.

Как настроить?
Чтобы разместить веб-сайт в Teredo под Linux, вам необходимо использовать Teredo-клиент miredo, и обязательно настроить его на использование сервера teredo.ipv6.microsoft.com. Также, чтобы у вас как можно реже менялся Teredo-адрес, рекомендую задать статический исходящий порт в конфигурационном файле miredo (/etc/miredo/miredo.conf или /etc/miredo.conf, зависит от дистрибутива), т.е. установить параметр BindPort.
Убедитесь, что ваш веб-сервер слушает IPv6-адреса. Для nginx, это параметр listen.
Мой конфиг выглядит примерно так:
Код:
server {
		server_name 5yo.panty.shot.valdikss.org.ru;
		location / {
				return 307 http://[2001:0:9d38:90d7:899:d93f:9469:f43e]/;
		}
}

server {
		listen [2001:0:9d38:90d7:899:d93f:9469:f43e]:80;
		server_name [2001:0:9d38:90d7:899:d93f:9469:f43e];

		root /usr/share/nginx/html/pantyshot/;
		index index.html index.htm;

		location / {
				try_files $uri $uri/ =404;
		}
}
 
Последнее редактирование:
Master

Master

Модератор
К тому же, у Роскомнадзора нет полномочий блокировать страницы, которые перенаправляют на другие страницы, и кнопка «Актуальный Навальный» тому подтверждение.
Роскомнадзор пока не блокирует генераторы зеркал, но обычные редиректы блокируют. А потом решение будет еще менее элегантным - нужно будет повесить заглушку на сайт с предложением перейти по ссылке, как на navalny.us. Разница только в том, что будет висеть постоянный кривой адрес вида http://[2001:0:9d38:90d7:899:d93f:9469:f43e], а не генерироваться новая ссылка. Данное решение будет актуально, если начнут блокировать генераторы зеркал и анонимайзеры.
 
V

ValdikSS

New Member
У меня была идея сделать заглушку-редиректор, которая бы автоматически опеределяла наличие рабочего Teredo и открывала сайт через Teredo, или, если Teredo не работает, перенаправляла бы, например, на зеркало сайта.
 
moder

moder

Администратор
Команда форума
У меня была идея сделать заглушку-редиректор, которая бы автоматически опеределяла наличие рабочего Teredo и открывала сайт через Teredo, или, если Teredo не работает, перенаправляла бы, например, на зеркало сайта.
Цензоры заблокируют саму заглушку-редиректор. Такие преценденты уже были. Пока не блокируют только генераторы зеркал.

Но зато вариант с Teredo будет не затратен, учитывая, что многие провайдеры до сих пор банят по IP и генерация новых зеркал не решает проблему - нужно еще и IP-ники постоянно менять, которые стоят денег.
 
V

ValdikSS

New Member
Цензоры заблокируют саму заглушку-редиректор. Такие преценденты уже были. Пока не блокируют только генераторы зеркал.

Но зато вариант с Teredo будет не затратен, учитывая, что многие провайдеры до сих пор банят по IP и генерация новых зеркал не решает проблему - нужно еще и IP-ники постоянно менять.
Большинство провайдеров не блокируют по IP. Ну и, если уж сильно приспичит, можно распространять прямую Teredo-ссылку. Некрасиво, конечно, но все же.
Ну и, собственно, можно сделать генератор зеркал с такой же функциональностью. Если обнаружен работающий Teredo на странице генератора зеркал, то ссылка будет указывать на Teredo-адрес.
 
V

ValdikSS

New Member
А! Самое главное-то забыл! Роскомнадзор же не может зайти на Teredo-адрес, поэтому редиректоры только на Teredo-адрес можно делать без опасения.
 
moder

moder

Администратор
Команда форума
Большинство провайдеров не блокируют по IP.
Это в Москве и Петербурге. Региональные провайдеры до сих пор блокируют по IP, т.е. все провайдеры, у которых не стоит оборудование DPI. А на сегодняшний день таких большинство.
 
V

ValdikSS

New Member
Это в Москве и Петербурге. Региональные провайдеры до сих пор блокируют по IP, т.е. все провайдеры, у которых не стоит оборудование DPI. А на сегодняшний день таких большинство.
http://habrahabr.ru/post/229377/
Но это даже старая статистика. Также, не стоит забывать, что многие мелкие провайдеры просто используют DPI вышестоящего, а сами не блокируют.
 
I

ivanich

New Member
Жалко только что Microsoft отключила серверы Teredo, которые использовались для Windows Vista и 7. Теперь Teredo по умолчанию работает только в Windows 8, 8.1 и Windows 10.
 
sozef

sozef

Member
Интересовался одно время IPv6, накопились разные ссылки на эту тему, может кому-то пригодится.
Код:
http://nastroisam.ru/kak-nastroit-tcpipv6-na-windows-7-i-windows-8/
http://zyxel.ru/kb/2331
http://xakep.ru/58121/
http://ipv6-test.com/speedtest/
http://www.ixbt.com/soft/ipv6.shtml
http://blog.cherepovets.ru/serovds/2011/11/15/teredo-win7
http://test-ipv6.com/
http://ipv6test.google.com/
http://help.domru.ru/knowledgebase/article/View/180/10/proverk-ktivnosti-protokol-internet-ipv6
http://ipv6-test.com/
http://support.microsoft.com/kb/929852
http://lionovsky.ru/text_nastraivaem_ipv6.html
http://ipv6now.com.au/downloads.php
http://habrahabr.ru/post/257863/
 
V

ValdikSS

New Member
Наделал еще зеркал разных сайтов, но они, к сожалению, не пользуются популярностью, а владельцы сайтов не хотят делать зеркала через Teredo самостоятельно:

http://[2001:0:9d38:90d7:0:f226:e023:fad4]/ — Lurkmore
http://[2001:0:9d38:90d7:1:f226:e023:fad4]/ — grani.ru
http://[2001:0:9d38:90d7:4:f226:e023:fad4]/ — Дети 404
 
moder

moder

Администратор
Команда форума
Lurkmore разблокировали вроде.
 
moder

moder

Администратор
Команда форума
Сейчас он не актуален. Новые протоколы SSL на подходе, будут встроены в браузер.
И вряд ли их смогут запретить.
От администратора потребуется только постоянно менять IP. А там есть интересные технологии, позволяющие по региону IP разные раздавать.
Либо обосрется Роскомнадзор либо государство окончательно все закроет, превратит рунет в цифровой гулаг.
 
Сверху