Как реализовать проксирование веб-трафика в стиле OpenDNS - PullRequest
0 голосов
/ 15 августа 2010

У меня есть требование, которое я считаю невозможным, и я хотел подтвердить это экспертами в этом сообществе.

Клиент хочет, чтобы мы настроили DNS-сервер так, чтобы все домены, не входящие в белый список, указывали на IP-адрессервера в интернете.Этот сервер должен пересылать / перенаправлять весь не-http трафик на IP-адрес, связанный с реальной записью DNS, с максимально возможной точностью.Однако для всего трафика порта 80 он должен перехватывать трафик и перенаправлять его на веб-прокси.Теоретически это могло бы быть возможным, если бы у нас был большой блок общедоступных IP-адресов, которые могли бы интеллектуально маршрутизировать, основываясь на IP-адресе отправителя, к надлежащему месту назначения, но при этом требовались инженерные усилия для синхронизации запроса DNS и последующих запросов к тому же домену.было бы огромным.Не говоря уже о том, что мы были бы ограничены с точки зрения параллелизма. Вероятно, это похоже на то, как OpenDNS выполняет DNS + Proxying, но они, похоже, делают это только для google.com.Это должно работать для произвольного набора доменов (возможно, всех).

Возможен ли вышеуказанный подход?Если нет, существуют ли другие способы решения этой проблемы, кроме необходимости использования специального аппаратного обеспечения шлюза?

В идеале система будет минимизировать использование полосы пропускания и задержку для трафика не-http, не требуя ничего, кроме конфигурации DNS или брандмауэра,Я понимаю, что мы можем пересылать весь http-трафик на уровне брандмауэра, но клиент хочет избежать http-запросов к CDN или мультимедийным узлам, а также минимизировать усилия по развертыванию в разных сетевых конфигурациях.

Ответы [ 3 ]

0 голосов
/ 19 августа 2011

Возможно, это не совсем то, что вы ищете, но посмотрите мою статью " Как настроить прозрачный прокси-сервер фильтрации содержимого ", в которой я использую возможности черного списка OpenDNS.

0 голосов
/ 07 марта 2017

Вы можете сделать это, используя две части:

  1. DNS resolver настроен с *.указывая на IP ABCD (подстановочный знак)
  2. Обратный прокси-сервер NGINX прослушивает на ABCD этот запрос прокси к домену, присутствующему в заголовке хоста.
0 голосов
/ 27 августа 2010

OpenDNS работает путем внесения в черный список вместо белого

Когда хост занесен в черный список, openDNS преобразует имя в свой IP-адрес, что, в свою очередь, не позволяет клиенту получить доступ к реальному IP.

В вашем случае, похоже, вам нужен прозрачный прокси, где вы можете направить весь HTTP-трафик на ваш прокси-сервер:

См .:

...