LINUX.ORG.RU

История изменений

Исправление MumiyTroll, (текущая версия) :

Слышал про PowerDNS и Squid+SquidGuard но не уверен что поможет.

Вообще-то поможет. Только я бы взял unbound.

Для HTTP вообще всё красиво, т.к. можно показать эту саму страницу блокировки:

  • DNS’ом отдаём IP своего сервера вместо заблокированного, где простой скрипт сочиняет текст с использованием заголовка Host, типа «Сайт host_header заблокирован»
  • Squid более гибок в плане блокировки не только по IP, но и по имени хоста (тот же заголовок Host), и пути и позволяет создавать кастомные страницы с ошибками. Соответственно, при попадании запроса по любому из условий в блок-лист, показываем кастомную страницу с ошибкой (там тоже можно использовать настоящее имя хоста).

С HTTPS такой красоты не будет:

  • можно тоже отдавать IP своего сервера, но клиент получит предупреждение от браузера о несоответствии сертификата.
  • Squid не сможет фильтровать по URL’ам, но сможет по IP и по SNI вместо имени хоста и клиент так же получит предупреждение на странице ошибки.

Исходная версия MumiyTroll, :

Слышал про PowerDNS и Squid+SquidGuard но не уверен что поможет.

Вообще-то поможет. Только я бы взял unbound.

Для HTTP вообще всё красиво, т.к. можно показать эту саму страницу блокировки:

  • DNS’ом отдаём IP своего сервера вместо заблокированного, где простой скрипт сочиняет текст с использованием заголовка Host, типа «Сайт host_header заблокирован»
  • Squid более гибок в плане блокировки не только по IP, но и по имени хоста (тот же заголовок Host), и пути и позволяет создавать кастомные страницы с ошибками. Соответственно, при попадании запроса по любому из условий в блок-лист, показываем кастомную страницу с ошибкой (там тоже можно использовать настоящее имя хоста).

С HTTPS такой красоты не будет:

  • можно тоже отдавать IP своего сервера, но клиент получит предупреждение от браузера о несоответствии сертификата.
  • Squid не сможет фильтровать по URL’ам, но сможет по IP и по SNI вместо имени хоста.