Пытаясь настроить OpenDNS и не сумев заставить фильтрацию веб-сайтов действительно работать, я понял, что мой интернет-провайдер делает что-то гнусное со всеми HTTP-запросами. Короче говоря, если есть Host:
заголовок, не имеет значения, какой IP-адрес я использую, веб-сайт, который я получаю, зависит от Host:
заголовок и ничего больше.
Также кажется, что автоматически используется HTTP / 1.1, даже если я указываю HTTP / 1.0 в запросе.
Примеры:
google.com
с участием Host: yahoo.com
$ echo -e "HEAD / HTTP/1.0\r\nHost: yahoo.com\r\n\r\n" | nc google.com 80
HTTP/1.1 301 Moved Permanently
Date: Mon, 02 Jan 2012 10:50:13 GMT
Location: http://www.yahoo.com/
Vary: Accept-Encoding
Content-Type: text/html; charset=utf-8
Cache-Control: private
Age: 0
Server: YTS/1.20.0
Connection: close
$
Host: yahoo.com
$ echo -e "HEAD / HTTP/1.0\r\nHost: yahoo.com\r\n\r\n" | nc 1.0.0.0 80
HTTP/1.1 301 Moved Permanently
Date: Mon, 02 Jan 2012 10:51:02 GMT
Location: http://www.yahoo.com/
Vary: Accept-Encoding
Content-Type: text/html; charset=utf-8
Cache-Control: private
Age: 0
Server: YTS/1.20.0
Connection: close
$
Итак, что делает мой провайдер? И я должен им жаловаться?
Ваш интернет-провайдер использует прозрачный прокси: http://en.wikipedia.org/wiki/Proxy_server#Transparent_proxy
Я думаю, вы пропустили OpenDNS Вопросы-Ответы:
Использует ли OpenDNS прокси?
Иногда да. OpenDNS при определенных обстоятельствах запускает простой прокси. Некоторые интернет-браузеры и многие панели инструментов перехватывают запросы, сделанные из адресной строки, что не позволяет инициировать правильный DNS-запрос. Наш прокси обеспечивает правильную маршрутизацию ваших запросов при использовании служб OpenDNS.
И, как и все службы OpenDNS, прокси уважает вашу конфиденциальность и прилагает все усилия для ее защиты. Мы не отслеживаем DNS-запросы, которые маршрутизируются через прокси. Фактически, поскольку так много людей используют панели инструментов, прокси-сервер должен автоматически вращать и удалять журналы, и это часто случается.
OpenDNS не хранит и не использует какие-либо данные, проходящие через наш прокси. Прокси-сервер не делает ничего вредоносного - он предназначен для обеспечения работы служб OpenDNS со всеми браузерами и панелями инструментов.