Техническое задание: Настройка условной маршрутизации трафика на VPN-сервере
Исходная ситуация
Имеется рабочая инфраструктура:
- VPN-сервер, развернутый на операционной системе Ubuntu Server 22.04.
- Настроенное и функционирующее SSTP-подключение (клиент) к стороннему VPN-сервису с операционной системы Windows.
Цель работы
Реализовать на основном VPN-сервере (Ubuntu) интеллектуальную маршрутизацию трафика пользователей, подключающихся к нему. Логика работы должна быть следующей:
- Когда пользователь подключается к VPN на Ubuntu и обращается к веб-ресурсам, система проверяет доменное имя цели.
- Если домен находится в заранее определенном списке (белом списке), весь трафик к этому ресурсу должен перенаправляться через установленное SSTP-подключение.
- Трафик ко всем остальным сайтам и сервисам, не входящим в список, должен идти обычным путем (через основное интернет-подключение сервера Ubuntu).
Основные требования к реализации
1. Анализ и планирование
- Проанализировать текущую сетевую конфигурацию VPN-сервера на Ubuntu.
- Определить метод реализации условной маршрутизации (например, на основе политик маршрутизации, iptables с маркировкой пакетов или использования инструментов вроде `ip rule`).
2. Настройка маршрутизации
- Настроить систему так, чтобы SSTP-туннель с Windows-машины (или напрямую с сервера, если клиент перенесен) использовался как шлюз для целевого трафика.
- Создать механизм (например, скрипт или конфигурацию DNS/DHCP), который будет динамически или статически применять правила маршрутизации для IP-адресов, соответствующих доменам из списка.
- Обеспечить устойчивость настройки (правила должны применяться при перезагрузке сервера или переподнятии туннелей).
3. Управление списками
- Предоставить удобный способ добавления и удаления доменов из списка для условного перенаправления (например, текстовый файл с возможностью обновления без полного рестарта служб).
- Учесть, что домен может резолвиться в несколько IP-адресов.
4. Тестирование и документация
- Протестировать работу системы: подключиться к VPN, проверить маршрут до сайтов из списка и вне его.
- Предоставить краткую документацию по внесенным изменениям в конфигурацию.
Ожидаемый результат
Полностью функционирующий VPN-сервер на Ubuntu, который обеспечивает избирательную маршрутизацию клиентского трафика в соответствии с заданным списком доменов через резервный SSTP-канал.