Как заблокировать доступ к домену при выключенном VPN
Мне требуется, чтобы при выключенном VPN доступ к определенным доменам был заблокирован. Причем, блокировка должна работать для любой программы, не только для браузера. Поэтому я и говорю "домены", а не "сайты". Назовем такие домены Доменами Икс.
Решение задачи основано на этом ответе. Хотя настроить это всё не так уж и легко, сама идея проста:
- Когда VPN включён, все DNS-запросы идут через VPN.
- При выключенном VPN DNS-запросы направляются на собственный сервер DNS. Этот сервер должен быть настроен так, чтобы блокировать Домены Икс.
1. VPN
Наикрутейший способ, конечно, это настроить свой собственный VPN-сервер. Из достоинств — полная конфиденциальность, скорость, цена в два или три раза ниже, чем у известных платных сервисов. И вообще, это интересно.
Ключевые этапы:
- Арендовать недорогой виртуальный сервер (VPS). Вот примеры расценок за месяц: $3, €4, 189 ₽.
- Настроить сервер OpenVPN по этой инструкции. Там есть руководства для разных версий Линукса.
- Самое важное здесь — это сделать так, чтобы использовались DNS-серверы из настроек сервера OpenVPN. Смотреть опцию
push "dhcp-option DNS <IP>"
. - Для подключения к VPN-серверу на компьютере использовать клиент OpenVPN.
2. Свой DNS-сервер
Здесь понадобится установить что-то для обработки DNS-запросов на компьютере. Всё, что нужно, это бесплатная программа dnscrypt-proxy. Она будет перенаправлять запросы дальше в интернет, блокируя при этом Домены Икс.
Этапы, указанные ниже, проверены на Windows, но для других систем всё должно быть примерно таким же.
- Итак, на Windows надо установить Simple DNSCrypt. Это ещё одна бесплатная программа, которая на основе
dnscrypt-proxy
обеспечивает удобный интерфейс. - Заблокировать Домены Икс в настройках Simple DNSCrypt.
- Убедиться, что сетевое соединение использует Simple DNSCrypt для отправки DNS-запросов. Для этого надо изменить DNS-сервер на 127.0.0.1 в настройках сетевого соединения. Должно сработать.
Теперь сетевое соединение по умолчанию будет использовать Simple DNSCrypt для отправки DNS-запросов. А когда VPN будет включён, то запросы будут идти через VPN. Это значит, что при выключенном VPN Домены Икс не будут доступны.
* * *
Ладно, эта информация полезна, конечно, но это только приложение к картинке. А на ней сцена из фильма Холодный расчёт и изображает парк, украшенный разными гирляндами и прочей иллюминацией. В фильме это выглядит потрясающе, и я должен был сохранить этот кадр, хотя он и не передаёт всей красоты. Только представьте скринсейвер, основанный на такой картинке!
Посмотреть кадр из фильма: