Static DNS и VPN. Проблемы с кэшем и туннелированием
Добавлено: 12 янв 2024, 22:12
Здравствуйте!
Имею VPS в Нидерландах. Там поднят сервер pptp. Направляю трафик через VPN выборочно, только нужные домены со всеми поддоменами.
Инструкций с подобным моему конфигом, для выборочного обхода блокировок, в интернете достаточно много.
Настройки примерно такие:
Таблица пакетов:
Разрешаем клиентам ходить через vpn интерфейс:
Добавление нужных доменов в address-list:
Маркировка пакетов из списка адресов:
Маршрутизация в VPN:
На первый взгляд всё работает нормально. Основная задача - использовать те ресурсы, которые блокируют моё подключение по географическому признаку, и при запуске приложения или открытии страницы в браузере - задача полностью выполняется. Я получаю доступ к нужным ресурсам и пакеты идут через интерфейс VPN. Но есть одна неочевидная проблема. Например, если открыть страницу в браузере и потом какое-то время не использовать её, то при следующем её обновлении, пакеты НЕ идут через интерфейс моего VPN-подключения и соединение блокируется ресурсом (ошибка 403). Или в том случае когда ресурс блокируется провайдером, то просто теряется соединение с этим ресурсом ("сайт слишком долго не отвечает").
Пробовал несколько браузеров и нескольких разных компьютеров в этой же сети. Везде поведение одинаковое.
Помогает перезапуск браузера.
Было предположение, что проблема в том, что по неизвестной причине, после какого-то времени пакеты перестают маркироваться в. Однако, множество экспериментов, свидетельствуют о том, что проблема как минимум так же связана с кешем dns, или вовсе полностью зависит от него. В первую очередь об этом свидетельствует то, что если при открытой странице в браузере, очистить кеш dns в микротике, то при обновлении страницы, я получаю 403ю ошибку.
То, что пакеты "сбиваются с пути" и начинают идти не через интерфейс vpn, а напрямую через моего провайдера, чётко фиксируется при трассировке.
Список доменов необходимых для нормальной работы ресурсов изучен и обкатан в другой сети, где рулит keenetic c dnsmasq. Там такой проблемы нет.
Подскажите куда копать? Что я мог упустить?
Спасибо.
Имею VPS в Нидерландах. Там поднят сервер pptp. Направляю трафик через VPN выборочно, только нужные домены со всеми поддоменами.
Инструкций с подобным моему конфигом, для выборочного обхода блокировок, в интернете достаточно много.
Настройки примерно такие:
Таблица пакетов:
Код: Выделить всё
/routing table add name=vpn1_mark fib
Код: Выделить всё
/ip firewall nat add action=masquerade chain=srcnat out-interface=vpn1-out src-address=192.168.0.0/24
Код: Выделить всё
/ip dns static add name=somedomain1.com type=FWD forward-to=8.8.8.8 address-list=vpn1_list match-subdomain=yes
/ip dns static add name=somedomain2.com type=FWD forward-to=8.8.8.8 address-list=vpn1_list match-subdomain=yes
Код: Выделить всё
/ip firewall mangle add action=mark-routing chain=prerouting dst-address-list=vpn1_list new-routing-mark=vpn1_mark passthrough=no
Код: Выделить всё
/ip route add distance=1 gateway=vpn1-out routing-table=vpn1_mark
Пробовал несколько браузеров и нескольких разных компьютеров в этой же сети. Везде поведение одинаковое.
Помогает перезапуск браузера.
Было предположение, что проблема в том, что по неизвестной причине, после какого-то времени пакеты перестают маркироваться в
Код: Выделить всё
/ip firewall mangle
То, что пакеты "сбиваются с пути" и начинают идти не через интерфейс vpn, а напрямую через моего провайдера, чётко фиксируется при трассировке.
Список доменов необходимых для нормальной работы ресурсов изучен и обкатан в другой сети, где рулит keenetic c dnsmasq. Там такой проблемы нет.
Подскажите куда копать? Что я мог упустить?
Спасибо.