Для обхода блокировок и обеспечения доступа к сервисам через VPN, роутеры Keenetic настраиваются на использование нескольких VPN-подключений. Ручное переключение маршрутов между ними при сбоях основного VPN-сервера – трудоемкий и неудобный процесс. Для автоматизации переключения маршрутов можно использовать скрипт, обращающийся к RCI (remote cli interface) роутера через HTTP. Скрипт, получая список текущих маршрутов, фильтрует необходимые и переключает их на запасной VPN, делая это быстро и без перезагрузки.
В целях безопасности доступ к RCI лучше осуществлять не через прямое перенаправление портов, а через HTTP прокси с авторизацией, создав отдельного пользователя и настроив доменное имя KeenDNS. Получение списка интерфейсов и их идентификаторов для скрипта выполняется через webcli интерфейс роутера. Скрипт переключает маршруты, опираясь на заданные идентификаторы VPN-подключений. Альтернативно, можно сохранить конфигурацию роутера в файл, отредактировать в нем имя VPN-маршрута, а затем загрузить измененный файл на роутер – это способ не требует скриптов и тоже обходится без перезагрузки.
Для динамически изменяемых адресов, которые нужно направлять через VPN, можно использовать собственный DNS-сервер, который, в зависимости от запрошенного домена, выдаёт либо реальный IP, либо подменный IP из выделенной подсети. Для этого на роутере прописывается маршрут для выделенной подсети, направляющий трафик в туннель VPN. Это позволяет избежать добавления большого количества статических маршрутов для каждого сайта и обеспечивает гибкое управление трафиком. Также можно настроить приоритет VPN-подключений и назначать его для сегментов сети, что позволит автоматически переключаться между VPN-серверами.
Изображение носит иллюстративный характер
В целях безопасности доступ к RCI лучше осуществлять не через прямое перенаправление портов, а через HTTP прокси с авторизацией, создав отдельного пользователя и настроив доменное имя KeenDNS. Получение списка интерфейсов и их идентификаторов для скрипта выполняется через webcli интерфейс роутера. Скрипт переключает маршруты, опираясь на заданные идентификаторы VPN-подключений. Альтернативно, можно сохранить конфигурацию роутера в файл, отредактировать в нем имя VPN-маршрута, а затем загрузить измененный файл на роутер – это способ не требует скриптов и тоже обходится без перезагрузки.
Для динамически изменяемых адресов, которые нужно направлять через VPN, можно использовать собственный DNS-сервер, который, в зависимости от запрошенного домена, выдаёт либо реальный IP, либо подменный IP из выделенной подсети. Для этого на роутере прописывается маршрут для выделенной подсети, направляющий трафик в туннель VPN. Это позволяет избежать добавления большого количества статических маршрутов для каждого сайта и обеспечивает гибкое управление трафиком. Также можно настроить приоритет VPN-подключений и назначать его для сегментов сети, что позволит автоматически переключаться между VPN-серверами.