DNS-перенаправление или прокси-заглушку через iptables + nginx/apache.

Предупреждение

Ubuntu

DNS-перенаправление или прокси-заглушку через iptables + nginx/apache.

Если вы хотите сделать так, чтобы при попытке зайти на заблокированный сайт пользователь видел сообщение о блокировке (например, как у Роскомнадзора), можно использовать DNS-перенаправление или прокси-заглушку через iptables + nginx/apache.

1. Вариант: DNS-подмена (самый простой)

Настроить локальный DNS (например, dnsmasq), чтобы заблокированные домены перенаправлялись на ваш IP с заглушкой.

# В /etc/dnsmasq.conf добавляем:
address=/заблокированный-сайт.ru/192.168.1.100

Где 192.168.1.100 — IP вашего сервера с веб-заглушкой.

2. Вариант: iptables + веб-сервер (nginx/apache)

Шаг 1: Настроить перехват трафика на 80/443 порт

# Перехватываем HTTP-запросы (80 порт) и перенаправляем на локальный веб-сервер
iptables -t nat -A PREROUTING -p tcp --dport 80 -d заблокированный-сайт.ru -j DNAT --to-destination ваш-сервер:80

# Если нужен HTTPS (443 порт), то аналогично:
iptables -t nat -A PREROUTING -p tcp --dport 443 -d заблокированный-сайт.ru -j DNAT --to-destination ваш-сервер:80

Шаг 2: Настроить веб-сервер (nginx) для заглушки

server {
    listen 80;
    server_name заблокированный-сайт.ru;

    location / {
        return 200 "Доступ к сайту заблокирован по решению администратора";
        # Или можно отдавать HTML-страницу:
        # root /var/www/blocked;
        # index index.html;
    }
}

Можно сделать красивую страницу в стиле РКН.

3. Вариант: Прозрачный прокси (Squid) с подменой

Если у вас стоит Squid, можно настроить deny_info:

acl blocked_sites dstdomain .rutracker.org .thepiratebay.org
http_access deny blocked_sites
deny_info http://ваш-сервер/blocked.html blocked_sites

И разместить на ваш-сервер/blocked.html сообщение о блокировке.

Итог

  • Самый простой способ — DNS-подмена (dnsmasq).

  • Более надежныйiptables + nginx (перехват трафика + заглушка).

  • Для корпоративных сетей — Squid с deny_info.

Если нужно полное подобие РКН, можно сделать редирект на страницу с объяснением причины блокировки.

Нет комментариев.

Добавить комментарий
или
регистрация Я забыл свой пароль
Оцените работу движка